G1000 Overview
Introduction
The G1000 package was written to reproduce the Garmin G1000 NXi avionics systems in MSFS to a high degree of accuracy. It was designed to be drop-in compatible with the original MSFS G1000, so configuration is largely similar, in that the bulk of the configuration is done via panel.xml
.
panel.xml
For more information on panel.xml
configuration, please refer to the following pages:
Plugins
The NXi can also be configured by use of our plugin API. See that documentation for an introduction and details on how to create and load plugins in your plane.
All G1000 plugins have access to several resources via the G1000PluginBinder
and child G1000PfdPluginBinder
and G1000MfdPluginBinder
interfaces.
menuSystem
is an instance of theSoftKeyMenuSystem
that lets you examine and modify the softkey menus.viewService
is an instance of theViewService
which lets you interact with all the various UI views of the NXi.bus
is an instance of theEventBus
to access bus events within the plugin.backplane
is an instance of theInstrumentBackplane
to allow registration of new publishers within the update loop.fms
is an instance of the GarminFms
granting access to flight planning information.pageSelectMenuSystem
is an optional instance of thePageSelectMenuSystem
, present only in the MFD, which allows you to examine and modify the MFD's rotary knob menu system.
In addition, the G1000PfdPluginBinder
interface grants access to the NavIndicatorController
via the navIndicatorController
member.
Every NXi plugin can implement the following callbacks, which are the primary way for the instrument to interact with your plugin code.
onMenuSystemInitialized()
is called when the softkey menu system is initialized.onViewServiceInitialized()
is called when the view service is initialized.onPageSelectMenuSystemInitialized()
is called when the page select menu system is initialized.renderEIS()
is called when the EIS is rendered, allowing easy override with a custom EIS implementation.
In addition, the PFD plugin can implement renderToPfdInstruments
, which gets called when the PFD instrument itself is rendered to render additional elements onto the PFD.
G1000 plugins also support the standard onComponentCreating()
, onComponentCreated()
, and onComponentRendered()
callbacks from AvionicsPlugin
, which can be implemented to control the rendering of any arbitrary display component. See the overall plugin documentation for more on the use of these methods.