Howto:Implement pushback: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
{{WIP}}
[[Image:747-400_pushback_eham.jpg|thumb|270px|A KLM [[Boeing 747-400]] ready for pushback at [[EHAM]].]]
Currently, pushback is only used on [[JSBSim]] planes.
 
Within a short period, some generic pushback models will be available in the <tt>$FG_ROOT/Models</tt> directory. These models can be used at any plane, in a process that is described below.


===Systems/pushback.xml===
===Systems/pushback.xml===
Line 92: Line 95:
  </keyboard>
  </keyboard>


===Models/ .xml===
In your planes model file, we add a reference to one of the generic pushback models, or a custom made, shipped with your plane.
<model>
  <name>Pushback</name>
  <path>Models\Airport\Pushback\Goldhofert.xml</path>
  <offsets>
  <x-m>-25.0</x-m>
  <y-m>0</y-m>
  <z-m>-4.0</z-m>
  </offsets>
</model>


[[Category:Aircraft enhancement|Implent pushback]]
[[Category:Aircraft enhancement|Implent pushback]]
[[Category:Howto|Implent pushback]]
[[Category:Howto|Implent pushback]]

Revision as of 19:23, 22 April 2009

A KLM Boeing 747-400 ready for pushback at EHAM.

Currently, pushback is only used on JSBSim planes.

Within a short period, some generic pushback models will be available in the $FG_ROOT/Models directory. These models can be used at any plane, in a process that is described below.

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>

Models/ .xml

In your planes model file, we add a reference to one of the generic pushback models, or a custom made, shipped with your plane.

<model>
 <name>Pushback</name>
 <path>Models\Airport\Pushback\Goldhofert.xml</path>
 <offsets>
  <x-m>-25.0</x-m>
  <y-m>0</y-m>
  <z-m>-4.0</z-m>
 </offsets>
</model>