Replay upgrade, part III: New flight recorder configuration files.
Provide templates for various aircraft components or complete aircraft types. Better to have this stuff available/adaptable than hard-coded somewhere inside fgfs.
This commit is contained in:
parent
0543d8fead
commit
bde90daa71
19 changed files with 1214 additions and 0 deletions
73
Aircraft/Generic/flightrecorder/components/controls.xml
Normal file
73
Aircraft/Generic/flightrecorder/components/controls.xml
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- main controls -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/aileron</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/elevator</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/rudder</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/aileron-trim</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/elevator-trim</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/rudder-trim</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/flaps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/speedbrake</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/flight/spoilers</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/gear/brake-left</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/gear/brake-right</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/gear/copilot-brake-left</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/gear/copilot-brake-right</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/gear/brake-parking</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/gear/gear-down</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/switches/master-avionics</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
72
Aircraft/Generic/flightrecorder/components/engine-jet.xml
Normal file
72
Aircraft/Generic/flightrecorder/components/engine-jet.xml
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- jet engine -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/systems/electrical/outputs/fuel-pump[%i]</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/starter</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/throttle</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/condition</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/engines/engine[%i]/running</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/engines/engine[%i]/cranking</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/rpm</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/n1</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/n2</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type><property type="string">/engines/engine[%i]/thrust-lbs</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/egt-degf</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/epr</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/oil-pressure-psi</property> <!-- JSBSim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
|
@ -0,0 +1,108 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- propeller/piston engine -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/systems/electrical/outputs/fuel-pump[%i]</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/starter</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/master-bat</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/master-alt</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/throttle</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/mixture</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/propeller-pitch</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/condition</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/magnetos</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/engines/engine[%i]/running</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/engines/engine[%i]/cranking</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/rpm</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/fuel-flow-gph</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/fuel-px-psi</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/egt-degf</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/cht-degf</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/mp-osi</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/tit</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/oil-temperature-degf</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/oil-pressure-psi</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
122
Aircraft/Generic/flightrecorder/components/engine-turboprop.xml
Normal file
122
Aircraft/Generic/flightrecorder/components/engine-turboprop.xml
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- turboprop engine -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/systems/electrical/outputs/fuel-pump[%i]</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/starter</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/master-bat</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/master-alt</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/throttle</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/mixture</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/propeller-pitch</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/condition</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/engines/engine[%i]/running</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/engines/engine[%i]/cranking</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/rpm</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/fuel-flow-gph</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/fuel-px-psi</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/egt-degf</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/cht-degf</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/mp-osi</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/tit</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/oil-temperature-degf</property> <!-- YASim -->
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/oil-pressure-psi</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/n1</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/n2</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type><property type="string">/engines/engine[%i]/thrust-lbs</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/engines/engine[%i]/epr</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
41
Aircraft/Generic/flightrecorder/components/environment.xml
Normal file
41
Aircraft/Generic/flightrecorder/components/environment.xml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- environment -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/environment/wind-speed-kt</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/environment/wind-from-heading-deg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/environment/turbulence/magnitude-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/environment/temperature-degc</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/environment/pressure-sea-level-inhg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/environment/magnetic-variation-deg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/hazards/icing/wing</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/environment/visibility-m</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- engine fault properties -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/flight/flaps-serviceable</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/faults/serviceable</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/faults/left-magneto-serviceable</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/faults/right-magneto-serviceable</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/faults/spark-plugs-serviceable</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/faults/oil-pressure-status</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/engines/engine[%i]/faults/fuel-pump-serviceable</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
28
Aircraft/Generic/flightrecorder/components/gear-fixed.xml
Normal file
28
Aircraft/Generic/flightrecorder/components/gear-fixed.xml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- fixed gear properties -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/gear/gear[%i]/steering-norm</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/gear/gear[%i]/compression-norm</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/gear/gear[%i]/wow</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/gear/gear[%i]/rollspeed-ms</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- retractable gear properties -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<!-- include fixed gear properties -->
|
||||||
|
<signals include="gear-fixed.xml"/>
|
||||||
|
|
||||||
|
<!-- add position of retractable gear -->
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/gear/gear[%i]/position-norm</property>
|
||||||
|
</signal>
|
||||||
|
</PropertyList>
|
132
Aircraft/Generic/flightrecorder/components/position.xml
Normal file
132
Aircraft/Generic/flightrecorder/components/position.xml
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- position and aero parameters -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>double</type>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
<property type="string">/position/longitude-deg</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>double</type>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
<property type="string">/position/latitude-deg</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>double</type>
|
||||||
|
<property type="string">/position/altitude-ft</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>double</type>
|
||||||
|
<property type="string">/position/altitude-agl-ft</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
<property type="string">/orientation/roll-deg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
<property type="string">/orientation/pitch-deg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
<property type="string">/orientation/heading-deg</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
<property type="string">/orientation/alpha-deg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<interpolation type="string">angular-rad</interpolation>
|
||||||
|
<property type="string">/orientation/side-slip-rad</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
<property type="string">/orientation/beta-deg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/orientation/roll-rate-degps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/orientation/pitch-rate-degps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/orientation/yaw-rate-degps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/airspeed-kt</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/vertical-speed-fps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/speed-north-fps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/speed-east-fps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/speed-down-fps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/vBody-fps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/uBody-fps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/velocities/wBody-fps</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/accelerations/pilot/x-accel-fps_sec</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/accelerations/pilot/y-accel-fps_sec</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/accelerations/pilot/z-accel-fps_sec</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/sim/alarms/stall-warning</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/instrumentation/slip-skid-ball/indicated-slip-skid</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/position/ground-elev-m</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
41
Aircraft/Generic/flightrecorder/components/rotor.xml
Normal file
41
Aircraft/Generic/flightrecorder/components/rotor.xml
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- flightrecorder properties for a single rotor (YASim).
|
||||||
|
Usage
|
||||||
|
<signals include="Aircraft/Generic/flight-recorder/components/rotor.xml">
|
||||||
|
<property-path type="string">/rotor/main</property-path>
|
||||||
|
</signals>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">roll-deg</property>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">rpm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">stall</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">torque</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">yaw-deg</property>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">cone-deg</property>
|
||||||
|
<interpolation type="string">angular-deg</interpolation>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
45
Aircraft/Generic/flightrecorder/components/surfaces.xml
Normal file
45
Aircraft/Generic/flightrecorder/components/surfaces.xml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- surface positions -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/elevator-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/elevator-trim-tab-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/flap-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/left-aileron-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/right-aileron-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/rudder-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/speedbrake-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/spoilers-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/surface-positions/nose-wheel-pos-norm</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
17
Aircraft/Generic/flightrecorder/components/tanks.xml
Normal file
17
Aircraft/Generic/flightrecorder/components/tanks.xml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- flight recorder configuration -->
|
||||||
|
<!-- tanks -->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/consumables/fuel/tank[%i]/level-gal_us</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/fuel/tank[%i]/fuel_selector</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
</PropertyList>
|
29
Aircraft/Generic/flightrecorder/generic-glider.xml
Normal file
29
Aircraft/Generic/flightrecorder/generic-glider.xml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- Generic flight recorder configuration for gliders (no engines/no tanks/single gear).
|
||||||
|
|
||||||
|
Note: The generic configurations are provided as an example and for convenience only.
|
||||||
|
No need to use a generic configuration. You can copy the settings below to your aircraft's
|
||||||
|
flight recorder configuration and include a better combination of recorder components, if
|
||||||
|
none of the pre-defined configurations fits your aircraft.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name type="string">Generic Flight Recorder for Gliders (no engines/no tanks/single non-retractable gear)</name>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/environment.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/position.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/controls.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/surfaces.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/gear-fixed.xml">
|
||||||
|
<count type="int">1</count>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
<!-- "engine throttle" (usually used as glider's speed brake) -->
|
||||||
|
<signals>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine/throttle</property>
|
||||||
|
</signal>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
</PropertyList>
|
39
Aircraft/Generic/flightrecorder/generic-helicopter.xml
Normal file
39
Aircraft/Generic/flightrecorder/generic-helicopter.xml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- Generic flight recorder configuration for helicopters: main + tail rotor, 2 tanks.
|
||||||
|
Tested with YASim helicopters.
|
||||||
|
|
||||||
|
Note: The generic configurations are provided as an example and for convenience only.
|
||||||
|
No need to use a generic configuration. You can copy the settings below to your aircraft's
|
||||||
|
flight recorder configuration and include a better combination of recorder components, if
|
||||||
|
none of the pre-defined configurations fits your aircraft.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name type="string">Generic Flight Recorder for Helicopters</name>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/position.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/controls.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/environment.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/tanks.xml">
|
||||||
|
<count type="int">2</count>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
<!-- main rotor -->
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/rotor.xml">
|
||||||
|
<prefix type="string">/rotors/main</prefix>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
<!-- tail rotor -->
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/rotor.xml">
|
||||||
|
<prefix type="string">/rotors/tail</prefix>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
<!-- simple single engine properties -->
|
||||||
|
<signals>
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/engines/engine/throttle</property>
|
||||||
|
</signal>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
</PropertyList>
|
29
Aircraft/Generic/flightrecorder/generic-jet.xml
Normal file
29
Aircraft/Generic/flightrecorder/generic-jet.xml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- Generic flight recorder configuration for jets (2 jet engines/4 tanks/3 retractable gear).
|
||||||
|
|
||||||
|
Note: The generic configurations are provided as an example and for convenience only.
|
||||||
|
No need to use a generic configuration. You can copy the settings below to your aircraft's
|
||||||
|
flight recorder configuration and include a better combination of recorder components, if
|
||||||
|
none of the pre-defined configurations fits your aircraft.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name type="string">Generic Flight Recorder for Jets (2 jet engines/4 tanks/3 retractable gear)</name>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/environment.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/position.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/controls.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/surfaces.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/engine-jet.xml">
|
||||||
|
<count type="int">2</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/faults-engines.xml">
|
||||||
|
<count type="int">2</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/tanks.xml">
|
||||||
|
<count type="int">4</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/gear-retractable.xml">
|
||||||
|
<count type="int">3</count>
|
||||||
|
</signals>
|
||||||
|
</PropertyList>
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- Generic flight recorder configuration: 1 propellers/engine, 2 tanks, 3 fixed gear.
|
||||||
|
|
||||||
|
Note: The generic configurations are provided as an example and for convenience only.
|
||||||
|
No need to use a generic configuration. You can copy the settings below to your aircraft's
|
||||||
|
flight recorder configuration and include a better combination of recorder components, if
|
||||||
|
none of the pre-defined configurations fits your aircraft.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name type="string">Generic Flight Recorder (1 piston engine/1 propeller/4 tanks/3 fixed gear)</name>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/environment.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/position.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/controls.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/surfaces.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/engine-piston-prop.xml">
|
||||||
|
<count type="int">1</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/faults-engines.xml">
|
||||||
|
<count type="int">1</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/tanks.xml">
|
||||||
|
<count type="int">2</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/gear-fixed.xml">
|
||||||
|
<count type="int">3</count>
|
||||||
|
</signals>
|
||||||
|
</PropertyList>
|
|
@ -0,0 +1,30 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- Generic flight recorder configuration: 4 propellers/engines, 4 tanks, 3 retractable gear.
|
||||||
|
Records same properties as hard-coded recorder for <=FG2.4.0
|
||||||
|
|
||||||
|
Note: The generic configurations are provided as an example and for convenience only.
|
||||||
|
No need to use a generic configuration. You can copy the settings below to your aircraft's
|
||||||
|
flight recorder configuration and include a better combination of recorder components, if
|
||||||
|
none of the pre-defined configurations fits your aircraft.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name type="string">Generic Flight Recorder (4 piston engines/4 propellers/4 tanks/3 retractable gear)</name>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/environment.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/position.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/controls.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/surfaces.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/engine-piston-prop.xml">
|
||||||
|
<count type="int">4</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/faults-engines.xml">
|
||||||
|
<count type="int">4</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/tanks.xml">
|
||||||
|
<count type="int">4</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/gear-retractable.xml">
|
||||||
|
<count type="int">3</count>
|
||||||
|
</signals>
|
||||||
|
</PropertyList>
|
29
Aircraft/Generic/flightrecorder/generic-turboprop-2.xml
Normal file
29
Aircraft/Generic/flightrecorder/generic-turboprop-2.xml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<!-- Generic flight recorder configuration: 2 turboprop engines, 4 tanks, 3 retractable gear.
|
||||||
|
|
||||||
|
Note: The generic configurations are provided as an example and for convenience only.
|
||||||
|
No need to use a generic configuration. You can copy the settings below to your aircraft's
|
||||||
|
flight recorder configuration and include a better combination of recorder components, if
|
||||||
|
none of the pre-defined configurations fits your aircraft.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name type="string">Generic Flight Recorder (2 turboprop engines/2 propellers/4 tanks/3 retractable gear)</name>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/environment.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/position.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/controls.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/surfaces.xml"/>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/engine-turboprop.xml">
|
||||||
|
<count type="int">2</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/faults-engines.xml">
|
||||||
|
<count type="int">2</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/tanks.xml">
|
||||||
|
<count type="int">4</count>
|
||||||
|
</signals>
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/gear-retractable.xml">
|
||||||
|
<count type="int">3</count>
|
||||||
|
</signals>
|
||||||
|
</PropertyList>
|
292
Docs/README.flightrecorder
Normal file
292
Docs/README.flightrecorder
Normal file
|
@ -0,0 +1,292 @@
|
||||||
|
FlightGear Flight Recorder Mini-HOWTO
|
||||||
|
|
||||||
|
Thorsten Brehm
|
||||||
|
Started in August 2011
|
||||||
|
Last revised: 2011-09-26
|
||||||
|
|
||||||
|
|
||||||
|
FlightGear provides a customizable flight recorder capable of capturing
|
||||||
|
any selection of properties described via XML configuration files.
|
||||||
|
The recorder is currently used for the replay system.
|
||||||
|
|
||||||
|
|
||||||
|
Feature Brief
|
||||||
|
-------------
|
||||||
|
* Generic recording system, adaptable to any aircraft/data, provided that
|
||||||
|
data is accessible via the property tree. No hard-coded selections or
|
||||||
|
assumptions on properties to be recorded.
|
||||||
|
* Configuration read from XML files or the property tree itself.
|
||||||
|
* Interpolation method configurable per recorded/replayed signal.
|
||||||
|
* Adaptable recording resolution per signal.
|
||||||
|
* Multiple configurations supported.
|
||||||
|
|
||||||
|
|
||||||
|
Quick Start: Basic Configuration
|
||||||
|
--------------------------------
|
||||||
|
To configure and adapt the flight recorder, add a "/sim/flight-recorder"
|
||||||
|
section to your aircraft -set.xml file.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
<sim>
|
||||||
|
|
||||||
|
<!-- ... -->
|
||||||
|
|
||||||
|
<flight-recorder>
|
||||||
|
<replay-config type="int">0</replay-config>
|
||||||
|
<config n="0" include="/Aircraft/Generic/flightrecorder/generic-piston-propeller-1.xml">
|
||||||
|
<name type="string">My Aircraft's Flight Recorder</name>
|
||||||
|
<!-- Custom properties -->
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/gear/nosegear-steering-cmd-norm</property>
|
||||||
|
<interpolation>linear</interpolation>
|
||||||
|
</signal>
|
||||||
|
<!-- More custom signals here -->
|
||||||
|
</config>
|
||||||
|
</flight-recorder>
|
||||||
|
|
||||||
|
<!-- ... -->
|
||||||
|
|
||||||
|
</sim>
|
||||||
|
|
||||||
|
Default type for each signal is "float". Default "interpolation" method
|
||||||
|
is "linear" (for float/double). Default values may be omitted. See
|
||||||
|
configuration details below.
|
||||||
|
|
||||||
|
|
||||||
|
Generic Configuration Files
|
||||||
|
---------------------------
|
||||||
|
Select one of the default configuration files to specify the basic
|
||||||
|
properties to be recorded. It's not recommended to specify all
|
||||||
|
properties to be recorded individually.
|
||||||
|
The following generic files are provided:
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/generic-piston-propeller-4.xml
|
||||||
|
Matches propeller aircraft with 4 piston engines, 4 tanks,
|
||||||
|
3 retractable gear.
|
||||||
|
It is the same configuration that was hard-coded for the replay system
|
||||||
|
up to FlightGear 2.4.0. To provide backward compatibility this
|
||||||
|
configuration is loaded by default, unless an aircraft provides a
|
||||||
|
specific flight recorder configuration.
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/generic-piston-propeller-1.xml
|
||||||
|
Matches propeller aircraft with 1 piston engines, 2 tanks, 3 fixed
|
||||||
|
gear.
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/generic-turboprop-2.xml
|
||||||
|
Matches turboprop aircraft with 2 turbines/propellers, 4 tanks,
|
||||||
|
3 retractable gear.
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/generic-jet.xml
|
||||||
|
Matches jet aircraft with 2 jet engines, 4 tanks.
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/generic-glider.xml
|
||||||
|
Matches gliders (no engines, no tanks, single fixed gear).
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/generic-helicopter.xml
|
||||||
|
Matches helicopters with main and tail rotor (tested with YASim).
|
||||||
|
|
||||||
|
If none of the generic files matches your aircraft, simply use a
|
||||||
|
configuration which covers more than you need. Alternatively, copy the
|
||||||
|
contents of one of these generic files to your aircraft, and adapt as
|
||||||
|
needed (see below).
|
||||||
|
|
||||||
|
FDM experts are welcome to add more generic configuration files to
|
||||||
|
/Aircraft/Generic/flightrecorder - such as YASim-/JSBSim-specific
|
||||||
|
configurations, and configurations for other types of aircraft
|
||||||
|
(balloons, airships, ...).
|
||||||
|
|
||||||
|
|
||||||
|
Generic Components
|
||||||
|
-----------------
|
||||||
|
The generic configuration files in turn include a set of generic
|
||||||
|
components. If you copy the contents of a generic file to your aircraft,
|
||||||
|
you can adapt the components to your needs. See examples.
|
||||||
|
It is not recommended to copy the contents of the _component_ files to
|
||||||
|
an aircraft though (causes too much hassle and dependencies).
|
||||||
|
|
||||||
|
Engine Selection:
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/engine-jet.xml
|
||||||
|
Records properties of a single jet engine.
|
||||||
|
For multiple jet engines, use "count". Example for 4 jets:
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/engine-jet.xml">
|
||||||
|
<count>4</count>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/engine-piston.xml
|
||||||
|
Records properties of a single piston engine and propeller.
|
||||||
|
For multiple piston engines, use "count" (see "jet" example).
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/rotor.xml
|
||||||
|
Records properties of a single helicopter rotor (tested with YASim).
|
||||||
|
To use this, provide the base property path to the rotor as "prefix".
|
||||||
|
Example recording the rotor below "/rotors/main":
|
||||||
|
<signals include="/Aircraft/Generic/flightrecorder/components/rotor.xml">
|
||||||
|
<prefix type="string">/rotors/main</prefix>
|
||||||
|
</signals>
|
||||||
|
|
||||||
|
Gear Selection:
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/gear-fixed.xml
|
||||||
|
Records properties of a single non-retractable gear.
|
||||||
|
For multiple fixed gear, use "count" (see "jet" example).
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/gear-retractable.xml
|
||||||
|
Records properties of a single retractable gear.
|
||||||
|
For multiple retractable gear, use "count" (see "jet" example).
|
||||||
|
|
||||||
|
Tanks:
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/tanks.xml
|
||||||
|
Records properties of a single fuel tank.
|
||||||
|
For multiple fuel tanks, use "count" (see "jet" example).
|
||||||
|
|
||||||
|
Other:
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/surfaces.xml
|
||||||
|
Records properties of flight control surfaces. Include this
|
||||||
|
for aircraft (with wings). Not useful for helicopters,
|
||||||
|
balloons, ...
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/faults-engines.xml
|
||||||
|
Records fault properties of a single engine. Only include this
|
||||||
|
if your aircraft supports fault simulation.
|
||||||
|
For multiple engines, use "count" (see "jet" example). If used,
|
||||||
|
it should be compined with piston or jet engine.
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/environment.xml
|
||||||
|
Records properties of environment/weather (visibility,
|
||||||
|
temperature - but _not_ cloud position...).
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/position.xml
|
||||||
|
Records properties of a the aircrafts main position (latitude,
|
||||||
|
longitude, velocities, ...).
|
||||||
|
This is the most important component. Always include this.
|
||||||
|
|
||||||
|
* /Aircraft/Generic/flightrecorder/components/controls.xml
|
||||||
|
Records most important flight controls (rudder, aileron,
|
||||||
|
elevator, ...). Always include this.
|
||||||
|
|
||||||
|
|
||||||
|
Custom Properties
|
||||||
|
-----------------
|
||||||
|
When the generic or component files are not be sufficient to record or
|
||||||
|
replay aircraft-specific effects, you can add custom properties (signals
|
||||||
|
to be recorded) to the configuration.
|
||||||
|
Each signal consits of a recording type/resolution (which does _not_
|
||||||
|
need to match the actual type in the property tree!), the path to the
|
||||||
|
property and interpolation type.
|
||||||
|
|
||||||
|
Example recording some additional custom properties:
|
||||||
|
<sim>
|
||||||
|
<flight-recorder>
|
||||||
|
<config n="0" include="/Aircraft/Generic/flightrecorder/generic-piston-propeller-1.xml">
|
||||||
|
<!-- Add custom properties here -->
|
||||||
|
<signal>
|
||||||
|
<type>float</type>
|
||||||
|
<property type="string">/controls/gear/nosegear-steering-cmd-norm</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>double</type>
|
||||||
|
<interpolation>rotational-deg</interpolation>
|
||||||
|
<property type="string">/ai/model/carrier/alpha-angle-deg</property>
|
||||||
|
</signal>
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<property type="string">/controls/panel/custom-switch</property>
|
||||||
|
</signal>
|
||||||
|
</config>
|
||||||
|
</flight-recorder>
|
||||||
|
</sim>
|
||||||
|
|
||||||
|
|
||||||
|
Signal Configuration
|
||||||
|
--------------------
|
||||||
|
Template:
|
||||||
|
<signal>
|
||||||
|
<type>bool</type>
|
||||||
|
<interpolation>angular-deg</interpolation>
|
||||||
|
<property type="string">/controls/panel/custom-switch</property>
|
||||||
|
</signal>
|
||||||
|
|
||||||
|
* type: The signal's type specifies the recording resolution - not the
|
||||||
|
type of the original property. The following types are supported:
|
||||||
|
|
||||||
|
- double: 8 byte/sample
|
||||||
|
- float: 4 byte/sample (default)
|
||||||
|
- int: 4 byte/sample, integer
|
||||||
|
- int16: 2 byte/sample, integer
|
||||||
|
- int8: 1 byte/sample, integer
|
||||||
|
- bool: 1 bit/sample (yes, 1 bit. 8 bools per byte).
|
||||||
|
|
||||||
|
String type is unsupported (too expensive).
|
||||||
|
|
||||||
|
* interpolation: Specifies how values are interpolated during replay, i.e.
|
||||||
|
when replay is in slow-motion mode and more frames/second are required
|
||||||
|
than recorded, or when replaying data from the medium/long term memory.
|
||||||
|
Supported methods:
|
||||||
|
- discrete: No interpolation. Default for integer/bool types.
|
||||||
|
- linear: Standard linear interpolation. Default for float/double.
|
||||||
|
- angular-rad (or angular): Angular values in radians (0-2pi).
|
||||||
|
- angular-deg: Angular values in degrees (0-360).
|
||||||
|
|
||||||
|
* property: Path to the property to be recorded.
|
||||||
|
|
||||||
|
|
||||||
|
Advanced Configuration
|
||||||
|
----------------------
|
||||||
|
- Multipe recorder configurations for a single aircraft are supported
|
||||||
|
(multiple "<config n=..>" sections for n=0,1,...).
|
||||||
|
Active configuration to be used for the replay system is selected via
|
||||||
|
/sim/flight-recorder/replay-config (= 0,1,...).
|
||||||
|
This can be useful for specific recorders for specific scenarios,
|
||||||
|
which should not be used by default. For example, a specific recorder
|
||||||
|
configuration could be provided which also records the position of
|
||||||
|
an aircraft carrier, of other AI aircraft, ...
|
||||||
|
This may also be useful for future use, i.e. to select another flight
|
||||||
|
recorded configuration for a different purpose, such as for the
|
||||||
|
multiplayer system.
|
||||||
|
|
||||||
|
- Flight recorder configuration can be adapted during run-time
|
||||||
|
(configuration is visible in the property browser below
|
||||||
|
/sim/flight-recorder). However it is necessary to reset (reinit) the
|
||||||
|
replay subsystem first - which also erases earlier recordings. It is
|
||||||
|
not possible to mix recordings of different configurations on to a
|
||||||
|
single "tape".
|
||||||
|
|
||||||
|
- Each configuration should be given a name. Useful for a (future)
|
||||||
|
selection GUI, when multiple configurations are available.
|
||||||
|
|
||||||
|
|
||||||
|
Optimizing Performance
|
||||||
|
----------------------
|
||||||
|
- Recording properties consumes memory and also CPU time. A few
|
||||||
|
additional properties don't matter much, but avoid execessive numbers.
|
||||||
|
Reduce the resolution (type) of signals to the minimum necessary to
|
||||||
|
save space.
|
||||||
|
- Use "bool" types where possible, they are most efficient.
|
||||||
|
- Avoid recording with "double" resolution (type "double"). Use "float"
|
||||||
|
instead - even if the original property in the property tree is a
|
||||||
|
"double" (almost all of them do). "float" precision is almost always
|
||||||
|
sufficient for recording/replay purposes, with few exceptions (like
|
||||||
|
latitude/longitude properties).
|
||||||
|
- Use int16/int8 for "small" integer values.
|
||||||
|
|
||||||
|
|
||||||
|
Recording/Replay Limits
|
||||||
|
-----------------------
|
||||||
|
- All properties can be recorded, however, only writable properties can
|
||||||
|
be replayed. Properties marked as read-only, or tied properties not
|
||||||
|
implementing the "set" method cannot be replayed.
|
||||||
|
- Replaying a property overwrites the property's value. However, other
|
||||||
|
sources may also write to the same property - such as Nasal code,
|
||||||
|
autopilot rules etc. When multiple sources "fight" over a property's
|
||||||
|
value then the last update "wins" - resulting in a dependency to an
|
||||||
|
unknown/random sequence. Hence, during deplay, try to disable other
|
||||||
|
sources writing to properties which were recorded and should be
|
||||||
|
replayed.
|
||||||
|
If the other source cannot be disabled, check if you're recording the
|
||||||
|
right property. It may be better to record the input properties of the
|
||||||
|
other source instead (i.e. the inputs processed by the Nasal or
|
||||||
|
autopilot rule).
|
||||||
|
|
||||||
|
__end__
|
||||||
|
|
Loading…
Reference in a new issue