91dd762736
- Change getInstance to getOrCreateInstance for FG1000. - Implement runway numbering on AirportInformation page.
63 lines
2.5 KiB
Text
63 lines
2.5 KiB
Text
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)
|