Difference between revisions of "Module/Servo switch"

From PaparazziUAV
Jump to navigation Jump to search
(added info from mailing lists)
 
(fix some errors)
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
<categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Modules</categorytree>
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:
{{Box Code|conf/airframes/myplane.xml|
<source lang="xml">
  <modules>
    ...
    <load name="servo_switch.xml"/>
  </modules>
</source>
}}
Now you only have to declare a servo in your airframe.xml that you
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
want to use.
well.


By default the servo_switch module looks for a servo called SWITCH.
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.
The switch on value is 2000us and switch off is 1000us by default.
e.g. in my airframe file I have:
{{Box Code|conf/airframes/myplane.xml|
<source lang="xml">
  <servos>
    ....
    <servo name="SWITCH" no="7" min="1000" neutral="1500" max="2000"/>
  </servos>
</source>
}}
If you want to use a different servo/values you can set that in the
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 section, e.g. for a servo named HATCH:
 
{{Box Code|conf/airframes/myplane.xml|
<pre>
<source lang="xml">
   <modules>
   <modules>
    ...
     <load name="servo_switch.xml">
     <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>
   </modules>
</pre>
</source>
}}
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


In your flight plan you just call the makro defined in servo_switch.h
=== Calling from Flight Plan ===
  <call fun="ServoSwitchOn()"/>
In your flight plan you just call the macro defined in servo_switch.h
<source lang="xml"><call fun="ServoSwitchOn()"/></source>
or
or
  <call fun="ServoSwitchOff()"/>
<source lang="xml"><call fun="ServoSwitchOff()"/></source>
respectively.
respectively.


By default the servo_switch module looks for a servo called SWITCH.
=== Buttons in the GCS ===
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.
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.
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
[[Category:Modules]]
want to use the DEFAULT servo (SWITCH) or the default on/off values.
<load name="servo_switch.xml"/>

Latest revision as of 16:46, 29 August 2013

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.