Work in progress This site is under construction — content, figures and specifications are provisional.
2 — Features

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.

InstrumentsAttitude first.
Fig.01 — The displaylive, Joran
The FlySys PFD page showing attitude, tapes and heading band
Artificial horizon
bank & pitch, pitch ladder
Ground-speed tape
GPS (km/h, kt or mph)
Altitude tape
barometric (ft or m)
Vertical speed
dedicated Vertical Speed Indicator (VSI), m/s or fpm (feet per minute)
Heading band
Inertial Measurement Unit (IMU)-fused, magnetic (°M) or true (°T)
Slip & turn
coordinate the turn
RenderingOpenGL ES — optimised.

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.

Fig.05 — Render pipelinerender-on-dirty
DISPLAY STATE per-frame state SUB-RENDERERS horizon, ladder, roll, tapes, vertical speed, heading, slip BATCHED GEOMETRY zero per-frame alloc few draw calls GPU redraw only on change, up to 60 Hz (vsync-bound)
One state snapshot fans out to focused sub-renderers, batched into few allocation-free draw calls sent to the GPU (Graphics Processing Unit). Frames are issued only when the state changes.
01

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.

02

Zero per-frame allocation

No objects are allocated while drawing, so there are no garbage-collection stalls — motion stays smooth.

03

Batched triangles

Geometry is accumulated and submitted in a few large draw calls instead of many small ones.

04

Cached geometry

Shapes whose parameters haven't changed reuse their cached vertices instead of rebuilding.

05

Shared GL resources

A small, fixed set of shader programs and cached text atlases serve every instrument — minimal state changes.

06

Pre-allocated matrices

Attitude matrices live for the lifetime of the renderer, reused every frame.

The solutionWhere the picture comes from.

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.

Data sourcesFly, sim, or replay.
Joran AHRS & ADCour own instrument (standard) — computes everything on board, the app is a pure display
Internal sensorsthe tablet's own sensors (demonstration)
X-Plane UDPsimulator feed (in development)
FlySys TCPTCP gateway (in development)
Replayrecorded CSV from Documents/PFD/
Demosynthetic motion (no hardware)
CalibrationThree sensors.
01

Magnetometer

Hard- and soft-iron fit so heading stays honest near metal and avionics.

02

Accelerometer

A guided 6-face procedure recovers per-axis offset and scale, applied before the filters.

03

Gyro offset

A short static "Align" window zeroes gyro bias the moment you power up on the ground.