Module/Servo switch

From PaparazziUAV
Jump to: navigation, search

This module allows you to easily control a servo output like a switch (e.g. for a hatch, cam trigger, etc) via Flight Plan and GCS (not via RC!).

To use it load the servo_switch module:

File: conf/airframes/myplane.xml
  <modules>
    ...
    <load name="servo_switch.xml"/>
  </modules>

Now you only have to declare a servo in your airframe.xml that you want to use.

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. e.g. in my airframe file I have:

File: conf/airframes/myplane.xml
  <servos>
    ....
    <servo name="SWITCH" no="7" min="1000" neutral="1500" max="2000"/>
  </servos>

If you want to use a different servo/values you can set that in the modules section, e.g. for a servo named HATCH:

File: conf/airframes/myplane.xml
  <modules>
    <load name="servo_switch.xml">
      <define name="SERVO_SWITCH_ON_VALUE"  value="1100"/>
      <define name="SERVO_SWITCH_OFF_VALUE" value="1900"/>
      <define name="SERVO_SWITCH_SERVO"     value="HATCH"/>
   </load>
  </modules>

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. Switch value will not go outside the range defined on the servo

Calling from Flight Plan

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

<call fun="ServoSwitchOn()"/>

or

<call fun="ServoSwitchOff()"/>

respectively.

Buttons in the GCS

To get buttons for the servo switch module in the GCS add conf/settings/modules/servo_switch.xml to the settings files of your aircraft.