Paparazzi UAS  v5.10_stable-5-g83a0da5-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
servo_switch module

Servo switch

No detailed description...

Example for airframe file

Add to your firmware section: This example contains all possible configuration options, not all of them are mandatory!

1 <module name="servo_switch">
2  <define name="SERVO_SWITCH_ON_VALUE" value="pwm" />
3  <define name="SERVO_SWITCH_OFF_VALUE" value="pwm" />
4  <define name="SERVO_SWITCH_SERVO" value="nb" />
5 </module>

Module configuration options

Define Options

  • name: SERVO_SWITCH_ON_VALUE value: pwm
    Description: servo value in usec
  • name: SERVO_SWITCH_OFF_VALUE value: pwm
    Description: servo value in usec
  • name: SERVO_SWITCH_SERVO value: nb
    Description: Id of the servo (default: SWITCH)

Module functions

Init Functions

These initialization functions are called once on startup.

Periodic Functions

These functions are called periodically at the specified frequency from the module periodic loop.

  • servo_switch_periodic()
    • Frequency in Hz: 10.
    • Autorun: LOCK
      Periodic function automatically starts after init and can't be stopped.

Files

Header Files

The following headers are automatically included in modules.h

Source Files

Raw servo_switch.xml file:

<!DOCTYPE module SYSTEM "module.dtd">
<module name="servo_switch">
<doc>
<description>Servo switch</description>
<define name="SERVO_SWITCH_ON_VALUE" value="pwm" description="servo value in usec"/>
<define name="SERVO_SWITCH_OFF_VALUE" value="pwm" description="servo value in usec"/>
<define name="SERVO_SWITCH_SERVO" value="nb" description="Id of the servo (default: SWITCH)"/>
</doc>
<settings>
<dl_settings NAME="Servo switch control">
<dl_settings NAME="SWITCH">
<dl_setting var="servo_switch_on" min="0" step="1" max="1" module="servo_switch/servo_switch" values="Off|On">
<strip_button name="ON" value="1" group="servo_switch"/>
<strip_button name="OFF" value="0" group="servo_switch"/>
</dl_setting>
</dl_settings>
</dl_settings>
</settings>
<header>
<file name="servo_switch.h"/>
</header>
<init fun="servo_switch_init()"/>
<periodic fun="servo_switch_periodic()" freq="10."/>
<makefile target="ap|sim|nps">
<!-- these parameters should be set for that module in the airframe file unless you want the defaults
Servo value in usec
<load name="servo_switch.xml">
<define name="SERVO_SWITCH_ON_VALUE" value="2000"/>
<define name="SERVO_SWITCH_OFF_VALUE" value="1000"/>
<define name="SERVO_SWITCH_SERVO" value="SWITCH"/>
</load>
The servo will not exceed the min and max positions defined in the servo section
-->
<file name="servo_switch.c"/>
</makefile>
</module>