27 Jan 24 My working notes from using MobiFlight and trying to get the FlyingIron Spitfire MkIX working with it !
Directory structure of the FlyingIron Spitfire FS2020 Airplane
Top level Directories
ContentInfo
Data
Documentation
Effects
html_ui
MaterialLibs
ModelBehaviourDefs
SimObjects
VisualEffectsLibs
Top level files
manifest.json
contains AircraftName/Version details/Software levels
layout.json
contains link to all files that need to be loaded into FS2020
the ones we are interested in are probably the json, xml, cfg, flt
fonts (ttf, SVG, eot, woff, woff2), images/textures (jpegs, bin gltf), (fx,DDS,Flags,spb), web text (html,css, js), audio (PCK)?
To help search the content of the FlyingIron Spitfire directories I used my Mac Mini and two free applications:
EasyFind to search for specific file types within the FlyingIron Spitfire directories
A text search tool SeekFast which can scan the content of text files in a directory for specific strings. Unfortunately it does not recognise json/cfg/xml as text files so I had to create a copy of these files and ".txt" to the filename.
The first file that I ran across that showed some Sim Variables was called mkix_checklist.xml and this contained a set of checkpoints/rules for preflight checks
At the top of the file there was this section which called out the Sim Variable used for the Parking Brake and the Variable Type of Boolean, 5 minutes later I could confirm that my Arduino toggles an LED using this variable name. So I can monitor some variables - but not yet use them as inputs.
<Checkpoint><
<CheckpointDesc SubjectTT="Parking Brake" ExpectationTT="Set"/>
<ForceCamera Name="Instrument Dashboard"/>
<Test>
<TestValue>
<Val SimVarName="BRAKE PARKING POSITION" Units="Boolean"/>
</TestValue>
<Instrument id="HANDLING_WheelBrake"/>
</Test>
</Checkpoint>
However I still need to work out some variables as they use a Code and not a Percent (30) for example the engine Start button cover must be open before you can press the Start button
<TestValue>
<Operator OpType="EQUAL">
<Val Code="(L:EngineStartCover)"/>
<Val Value="1"/>
</Operator>
</TestValue>
<Instrument id="ELECTRICAL_Push_Starter_Cover"/>
The following is a list of Sim Variables extracted from mkix_checklist.xml file,
BRAKE PARKING POSITION
Boolean
ELECTRICAL MASTER BATTERY
Boolean (1)
GEAR HANDLE POSITION
Landing Gear
Boolean (1)
GENERAL ENG PROPELLER LEVER POSITION:1
Percent (95)
GENERAL ENG FUEL PUMP SWITCH:1
Fuel Booster Pump
Boolean (1)
GENERAL ENG FUEL VALVE:1
Boolean (1)
GENERAL ENG MIXTURE LEVER POSITION:1
Percent (30)
GENERAL ENG THROTTLE LEVER POSITION:1
Percent (5 to 15)
GENERAL ENG MIXTURE LEVER POSITION:1
Percent (95)
GENERAL ENG STARTER ACTIVE:1
Boolean Starter and Boost Engaged
RECIP ENG LEFT MAGNETO:1
Boolean
Instrument: ELECTRICAL_Switch_Magneto_1
RECIP ENG RIGHT MAGNETO:1
Boolean
Instrument: ELECTRICAL_Switch_Magneto_2
FLAPS HANDLE PERCENT
Percent (0 or 100)
RUDDER TRIM PCT
Percent (-5) Need lots of left trim at takeoff
The following is a list of Sim Variables extracted from mkix_checklist.xml file,
L:PrimerPumps
L:PrimerPumpsNeeded
Integer
Instrument id="ENGINE_LEVER_PRIMER"
L:EngineStartCover
Boolean
Instrument id="ELECTRICAL_Push_Starter_Cover
L:EngineBoostCover
Boolean
Instrument id="ENGINE_BoostCover"
L:FuelPressure
Integer (10)
Instrument id="FUEL_WobblePump"
Instrument id="FUEL_Switch_Pump"
L:AIRFRAME_CanopySlider
Boolean (0,1)
Instrument id="AIRFRAME_CanopySlider"