1
0
Fork 0
fgdata/Aircraft/Instruments-3d/FG1000
Stuart Buchanan 6746e52f6d Add property for FG1000 update rate
/instrumentation/FG1000/adc-update-frequency can optionally
be set to control the update frequency of the main ADC information.
Set to "0" to update every frame.
2018-08-01 21:34:01 +01:00
..
Dialogs Refactor FG1000 in preparation for PFD, 3D model. 2018-02-05 19:33:28 +00:00
GDU104X FG1000: Resize GDU/GMA and increase ADC refresh 2018-07-29 14:02:39 +01:00
GMA1347 FG1000: Resize GDU/GMA and increase ADC refresh 2018-07-29 14:02:39 +01:00
Icons Refactor FG1000 in preparation for PFD, 3D model. 2018-02-05 19:33:28 +00:00
MFDPages FG1000 - s/Foobar/FlightGear on GPL header 2018-05-28 20:15:57 +01:00
Nasal Add property for FG1000 update rate 2018-08-01 21:34:01 +01:00
README Support for Runway numbers on RWY MapStructure layer 2018-02-18 21:41:17 +00:00

README for the FG1000 glass panel display

The FG1000 aims to emulate the successful Garmin G1000 glass panel.

Development status can be found on the wiki:  http://wiki.flightgear.org/FG1000

=How To Install On An Aircraft=

1)  Place one or more of the display (GDU) units in your model.  The XML files
are named  <model>.<device-number>.xml, e.g.

GDU-1045.1.xml  GDU-1045.2.xml  GDU-1045.3.xml  GDU-1045.4.xml

The <device-number> is referenced later to identify which displays to used
for each PFD, MFD etc.  You must only used one of each <device-number> value,
though you can mix and match the GDU models.

2) Create Interfaces for Navigation, engine, NAV/COM, FMS data.  There is a
generic interface (GenericInterfaceController) that uses the standard FG route
manager, GPS, navigation data and NAV/COM settings, and engine data for a single
piston engine.

You need to load it as follows:

var nasal_dir = getprop("/sim/fg-root") ~ "/Aircraft/Instruments-3d/FG1000/Nasal/";
io.load_nasal(nasal_dir ~ 'Interfaces/GenericInterfaceController.nas', "fg1000");
var interfaceController = fg1000.GenericInterfaceController.getOrCreateInstance();
interfaceController.start();

You may want to create your own version depending on what properties you are
using for the NAV/COM, and your engine configuration.

Note that you should only start the interface after you've loaded the FG1000
as they will publish information at start of day that the displays need.

3) Set up the Engine Information System.  There is a generic EIS provided
(see FG1000/Nasal/EIS, and FG1000/MFDPages/EIS.svg) that is intended to match
a Cessna 172.  If you need something different, you should create your own
EIS class and SVG file.

Note that you need to pass data to/from the engine using Emesary. See
Interfaces/GenericEISPublisher.nas for a reference implementation.

4) Load the FG1000 itself.  See FG1000/Nasal/FG1000.nas for full details,
including how to pass in the EIS. A simple FG1000 using the generic EIS, and
displaying PFD on device-number 1 and an MFD on device-number 2 is as follows:

var nasal_dir = getprop("/sim/fg-root") ~ "/Aircraft/Instruments-3d/FG1000/Nasal/";
io.load_nasal(nasal_dir ~ 'FG1000.nas', "fg1000");

# Create the FG1000
var fg1000system = fg1000.FG1000.getInstance();

# Create a PFD as device 1, MFD as device 2
fg1000system.addPFD(1);
fg1000system.addMFD(2);

# Display the devices
fg1000system.display(1);
fg1000system.display(2);

#  Display a GUI version of device 1 at 50% scale.
#fg1000system.displayGUI(1, 0.5)