Repository navigation
Home
FIX-Gateway is the avionics data broker for the MakerPlane open-source aircraft. It is a small Python daemon that holds one real-time database of named flight parameters, and moves data between every source and every consumer through a plugin architecture — so a display never has to know where its data came from, and a sensor never has to know who will read it.
FIX = Flight Information eXchange — an open, vendor-neutral protocol family for Experimental Amateur-Built (E-AB) avionics. FIX-Gateway is the hub that speaks it (and translates everything else into it).
Everything flows through one central database of named keys (IAS, ALT,
OILP1, NAV1CRS, …):
SOURCES ──write──▶ ┌─────────────────────┐ ──read / subscribe──▶ CONSUMERS
X-Plane / FlightGear │ the FIX database │ pyEfis EFIS display
GPS, Stratux ADS-B │ named, typed keys │ pyAvMap moving map
CAN-FIX bus │ + quality flags │ NetFIX network clients
MAVLink autopilot │ + staleness timers │ CAN-FIX output nodes
RPi IMU / baro / ADC └─────────────────────┘ autopilot
MGL / Dynon / GRT ▲ │
Compute (derived) ────────┘ └── every box is a plugin
A plugin is loaded for each connection you need. Source plugins write
keys; consumer plugins read or subscribe to them; a few plugins do both, and
others (like compute) derive new keys from existing ones. Add a sensor by
writing/enabling a plugin — nothing else in the system changes.
- New to the project? → Architecture — how the broker, the database, and plugins fit together (read this first).
- Setting it up for your aircraft? → Configuration
- Understanding the parameters? → The FIX Database
- Connecting a display / writing a client? → NetFIX Protocol
- Adding a data source or feature? → Plugins and Writing a Plugin
- Flying a route? → Flight Plan Engine, and Navigator Adapter for an external GPS navigator
- Connecting a simulator or bus? → X-Plane, CAN-FIX, CANaerospace Input
FIX-Gateway is the runtime data hub of the MakerPlane stack — the live flight-data bus in the air:
- pyEfis — the EFIS display; connects over the NetFIX Protocol (TCP) and reads the keys FIX-Gateway publishes.
-
CAN-FIX — the in-aircraft hardware bus; the
canfixplugin bridges it to the database in both directions. - Reference data (terrain, charts, panel layouts, aircraft parameter profiles) is a separate concern handled by makerplane-data — that updates at the hangar; FIX-Gateway carries what changes in flight.
| Language | Python 3, plugin-based daemon |
| License | GPL v2 |
| Network | NetFIX ASCII over TCP (default port 3490) |
| Config |
src/fixgw/config/ — default.yaml (plugins), database.yaml (keys) |
| Run |
./fixGw.py (server) · ./fixGwClient.py (debug client) |
| Use | Experimental Amateur-Built aircraft only — not FAA-approved avionics |
This wiki explains how the system works and how to use it. The repository carries the canonical detail:
-
README.md— project overview + full plugin list -
doc/— the reference manual (Sphinx): intro, getting started, database, plugin development, and per-plugin pages underdoc/plugins/.
- Home
- Architecture — how it works
Guides
Navigation
Plugins
Links
- Repository
- README
- Reference docs (
doc/) - pyEfis — the EFIS display
- MakerPlane