Six instruments,
four estimators.
Every element is drawn in OpenGL ES 3 from a single per-frame state snapshot — a crisp, low-latency display that stays readable in direct sunlight.
The display is drawn in OpenGL ES 3 from a single per-frame state snapshot. The pipeline is built for a steady, low-power, allocation-free frame — so the picture stays smooth and the battery lasts.
Render-on-dirty
A frame is drawn only when the state actually changes — selectable 30 Hz battery-saver, or uncapped 60 Hz bounded by vsync. The instrument streams the complete flight picture at 60 Hz (30 Hz selectable); the display renders exactly what arrives.
Zero per-frame allocation
No objects are allocated while drawing, so there are no garbage-collection stalls — motion stays smooth.
Batched triangles
Geometry is accumulated and submitted in a few large draw calls instead of many small ones.
Cached geometry
Shapes whose parameters haven't changed reuse their cached vertices instead of rebuilding.
Shared GL resources
A small, fixed set of shader programs and cached text atlases serve every instrument — minimal state changes.
Pre-allocated matrices
Attitude matrices live for the lifetime of the renderer, reused every frame.
In flight the display draws Joran's navigation solution: attitude, heading, altitude, vertical speed, position, velocity and the wind, all computed on the instrument by one navigation filter and sent to the tablet ready to draw. The display computes none of it. The navigation filter is described on the Joran page.
Without the instrument, the display runs a demonstration: the tablet's own sensors, a synthetic flight or the replay of a recorded log drive the same pages, for showing the display and for training on the ground. These sources give an attitude only and are not meant for flight.
| Joran AHRS & ADC | our own instrument (standard) — computes everything on board, the app is a pure display |
|---|---|
| Internal sensors | the tablet's own sensors (demonstration) |
| X-Plane UDP | simulator feed (in development) |
| FlySys TCP | TCP gateway (in development) |
| Replay | recorded CSV from Documents/PFD/ |
| Demo | synthetic motion (no hardware) |
Magnetometer
Hard- and soft-iron fit so heading stays honest near metal and avionics.
Accelerometer
A guided 6-face procedure recovers per-axis offset and scale, applied before the filters.
Gyro offset
A short static "Align" window zeroes gyro bias the moment you power up on the ground.