Skip to main content

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 the SoftKeyMenuSystem that lets you examine and modify the softkey menus.
  • viewService is an instance of the ViewService which lets you interact with all the various UI views of the NXi.
  • bus is an instance of the EventBus to access bus events within the plugin.
  • backplane is an instance of the InstrumentBackplane to allow registration of new publishers within the update loop.
  • fms is an instance of the Garmin Fms granting access to flight planning information.
  • pageSelectMenuSystem is an optional instance of the PageSelectMenuSystem, 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.