1
0
Fork 0
fgdata/Aircraft/Instruments-3d/FG1000
Stuart Buchanan b0dbba2944 FG1000: Reduce Emesary Notifications
Previously both PeriodicPropertyPublisher and TriggeredPropertyPublisher
published irrespective of the property value.

This change adds an optional epsilon value below which a
notification will not be made.  This significantly reduces the number
of Emesary notifications generated and therefore updates to the
displays.
2023-12-07 11:06:46 +00:00
..
Dialogs FG1000: New fascia and support resize of windows 2020-05-12 21:41:07 +01:00
GDU104X FG1000 - Fix GDU-1045 Autopilot buttons 2023-11-03 16:57:57 +00:00
GMA1347 FG1000: GMA1347 Audio Interface and NAV/COM active 2021-08-18 20:18:57 +01:00
GMC710 FG1000: GMC710 AFCS Mode controller. 2020-10-16 21:52:43 +01:00
Icons Refactor FG1000 in preparation for PFD, 3D model. 2018-02-05 19:33:28 +00:00
MFDPages FG1000: EIS Battery current display 2021-07-05 17:12:34 +01:00
Nasal FG1000: Reduce Emesary Notifications 2023-12-07 11:06:46 +00:00
Architecture.svg FG1000 - Architecture diagram 2021-07-25 20:43:02 +01:00
fg1000-multikey.xml Fix Softkey 10, 11 and 12 for FG1000 multi-keys 2021-12-05 14:29:46 +00:00
GFC700-AP-off-FSM.xml FG1000 - Add missing XML headers. 2020-04-12 13:27:07 +01:00
GFC700-lateral-FSM.xml FG1000 - Add missing XML headers. 2020-04-12 13:27:07 +01:00
GFC700-vertical-FSM.xml FG1000 - Add missing XML headers. 2020-04-12 13:27:07 +01:00
GFC700.xml FG1000 - Add missing XML headers. 2020-04-12 13:27:07 +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)