Howto:Implement pushback: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
m (New page: ===Systems/pushback.xml=== {{WIP}} Create the following directory, if not present: * <tt>$FG_ROOT/Aircraft/.../Systems</tt> <system name="mule"> <channel name="Mule"> <switch nam...)
 
mNo edit summary
Line 1: Line 1:
===Systems/pushback.xml===
{{WIP}}
{{WIP}}


===Systems/pushback.xml===
Create the following directory, if not present:
Create the following directory, if not present:
* <tt>$FG_ROOT/Aircraft/.../Systems</tt>
* <tt>$FG_ROOT/Aircraft/.../Systems</tt>


  <system name="mule">
  <system name="pushback">
   <channel name="Mule">
   <channel name="Pushback">
   
   
   <switch name="systems/mule/linked">
   <switch name="systems/pushback/linked">
     <default value="0"/>
     <default value="0"/>
     <test  logic="AND" value="1">
     <test  logic="AND" value="1">
       /sim/model/mule/linked == 1
       /sim/model/pushback/linked == 1
       fcs/cutoff-switch == 0
       fcs/cutoff-switch == 0
       /gear/gear[1]/compression-norm gt 0.15
       /gear/gear[0]/compression-norm gt 0.15
     </test>
     </test>
   </switch>
   </switch>
   
   
   <switch name="systems/mule/force">
   <switch name="systems/pushback/force">
     <default value="0"/>
     <default value="0"/>
     <test  logic="AND" value="/sim/model/mule/magnitude">
     <test  logic="AND" value="/sim/model/pushback/magnitude">
       systems/mule/linked == 1
       systems/pushback/linked == 1
       gear/unit[1]/wheel-speed-fps lt 500
       gear/unit[0]/wheel-speed-fps lt 500
     </test>
     </test>
     <output>external_reactions/mule/magnitude</output>
     <output>external_reactions/pushback/magnitude</output>
   </switch>
   </switch>
   </channel>
   </channel>
  </system>
  </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>


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

Revision as of 18:59, 22 April 2009

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>