The AYNA log analyzer parses ArduPilot .bin flight logs and produces a structured diagnostic report covering battery health, motors, vibration, GPS, compass, flight
controller (EKF), RC link, and flight performance. It runs ~35 checks grouped into system cards — each card shows color-coded findings with evidence, recommended actions,
and the exact log fields to inspect. Reports are stored permanently so pilots can review any past flight, share a copy by email, or re-analyze against a newer engine
version.
Changes v1.3.2 → v1.3.9
1.3.3 — AUTO_ARMED arm detection fix (root bug)
ArduPilot auto-arms via EV id=15 (missions/scripts) without ever emitting EV id=10 (manual arm). The engine only watched for id=10, so armed_segments stayed empty —
blinding all in-flight analysis, failsafe detection, and firmware MSG filtering. Fixed by treating id=15 as an arm start.
1.3.5 — FIRMWARE_FLAGGED_CHECKS hardened
All specific failsafe_* check names added to the set so each one is self-sufficient for severity enforcement rather than relying on a side-effect from other findings.
1.3.6 — Timeline markers, time formatting, GPS-denied flight stats
- Failsafe timeline markers were off-screen (absolute boot time vs flight-relative) — fixed.
- “Failsafe triggered: at 739s” → “at 10m 12s into flight.”
- max_altitude_agl_ft was missing from flight_summary (only in flight_performance); added.
- When GPS has no fix: falls back to CTUN/BARO for max altitude and EKF horizontal speed for max speed.
1.3.7 — GPS and Compass split into separate cards
- GPS & Compass split into two distinct system cards.
- All three MAG instances are now read (previously only MAG[0]); each compass shows offset magnitude, field strength, internal/external type, enabled status, and a ★
active marker based on COMPASS_PRIO1_ID. - GPS no-fix throughout flight surfaces as a green informational card.
- “SmartRTL Unavailable, Using Land Mode” added to firmware MSG patterns — surfaces RED when a failsafe had no GPS position to return to.
1.3.8 — Per-GPS-unit inventory
GPS card now shows one row per configured GPS unit: driver type (uBlox, DroneCAN, Septentrio, etc.), fix status, average satellites and HDOP, and which unit is preferred
(★). Strategy row shows GPS_AUTO_SWITCH verbatim (“Auto-switch to best accuracy”, “Blend both”, etc.). Supports both ArduPilot pre-4.1 (GPS_TYPE) and 4.1+ (GPS1_TYPE)
parameter naming.
1.3.9 — GPS and Compass inventory always visible
Previously both cards were collapsed with no content on clean flights because metrics only attached to findings. Now system_metrics is populated at the system level so
the GPS and Compass inventory renders on every report, even when all checks pass.