b0dbba2944
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. |
||
---|---|---|
.. | ||
Dialogs | ||
GDU104X | ||
GMA1347 | ||
GMC710 | ||
Icons | ||
MFDPages | ||
Nasal | ||
Architecture.svg | ||
fg1000-multikey.xml | ||
GFC700-AP-off-FSM.xml | ||
GFC700-lateral-FSM.xml | ||
GFC700-vertical-FSM.xml | ||
GFC700.xml | ||
README |
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)