Module/Servo switch

From PaparazziUAV
Revision as of 06:44, 22 October 2011 by Flixr (talk | contribs) (added info from mailing lists)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Now you only have to declare a servo in your airframe.xml that you want to use. Previously you had to set up commands, command laws as well.

By default the servo_switch module looks for a servo called SWITCH. The switch on value is 2000us and switch off is 1000us by default. If you want to use a different servo/values you can set that in the modules section, e.g. for a servo named KILL:

  <modules>
    ...
    <load name="servo_switch.xml"/>
  </modules>

In your flight plan you just call the makro defined in servo_switch.h

 <call fun="ServoSwitchOn()"/>

or

 <call fun="ServoSwitchOff()"/>

respectively.

By default the servo_switch module looks for a servo called SWITCH. So you have to either define a servo named SWITCH or set a different servo like I indicated before. e.g. in my airframe file I have:

<servos>
  ....
  <servo name="SWITCH" no="7" min="1000" neutral="1500" max="2000"/>
</servos>


The switch on value is 2000us and switch off is 1000us by DEFAULT. If you want to use a different servo/values you can set that in the modules section, e.g. for a servo named KILL:

<load name="servo_switch.xml">
   <param name="SERVO_SWITCH_ON_VALUE"  value="1100"/>
   <param name="SERVO_SWITCH_OFF_VALUE" value="1900"/>
   <param name="SERVO_SWITCH_SERVO"     value="SERVO_KILL"/>
</load>

Of course you only have to set these parameters here If you do not want to use the DEFAULT servo (SWITCH) or the default on/off values.

<load name="servo_switch.xml"/>