Howto:Implement pushback

From FlightGear wiki
Revision as of 18:59, 22 April 2009 by Gijs (talk | contribs)
Jump to navigation Jump to search
WIP.png Work in progress
This article or section will be worked on in the upcoming hours or days.
See history for the latest developments.

Systems/pushback.xml

Create the following directory, if not present:

  • $FG_ROOT/Aircraft/.../Systems
<system name="pushback">
 <channel name="Pushback">

  <switch name="systems/pushback/linked">
   <default value="0"/>
   <test  logic="AND" value="1">
      /sim/model/pushback/linked == 1
      fcs/cutoff-switch == 0
      /gear/gear[0]/compression-norm gt 0.15
   </test>
  </switch>

  <switch name="systems/pushback/force">
   <default value="0"/>
   <test  logic="AND" value="/sim/model/pushback/magnitude">
      systems/pushback/linked == 1
      gear/unit[0]/wheel-speed-fps lt 500
   </test>
   <output>external_reactions/pushback/magnitude</output>
  </switch>
 </channel>
</system>

.xml

In the FDM file we have to add the pushback engine.

<engine file="pushback">
...

After the </propulsion> tag we add a reference to the pushback system:

 <system file="pushback"/>

-set.xml

Between the <model> tags in the -set.xml file we set two properties to false (0).

<model>
 <pushback>
  <magnitude>0</magnitude>
  <linked>0</linked>
 </pushback>
</model>

Below the </sim> tag we add our keyboard bindings:

<keyboard>

 <key n="43">
  <name>+</name>
  <desc>Pushback Magnitude increase</desc>
  <repeatable type="bool">true</repeatable>
  <binding>
   <command>property-adjust</command>
   <property>/sim/model/pushback/magnitude</property>
   <max type="double">40000</max>
   <step type="double">20000</step>
  </binding>
 </key>

 <key n="45">
  <name>-</name>
  <desc>Pushback Magnitude decrease</desc>
  <repeatable type="bool">true</repeatable>
  <binding>
   <command>property-adjust</command>
   <property>/sim/model/pushback/magnitude</property>
   <min type="double">-40000</min>
   <step type="double">-20000</step>
  </binding>
 </key>

 <key n="109">
  <name>m</name>
  <desc>Pushback Linked</desc>
  <binding>
   <command>property-toggle</command>
   <property>/sim/model/pushback/linked</property>
  </binding>
  <binding>
   <command>property-assign</command>
   <property>/sim/model/pushback/magnitude</property>
   <value type="double">0</value>
  </binding>
 </key>

</keyboard>