Files
gps-denied-onboard/_docs/02_tasks/done/AZ-224_mavlink_gcs_gateway.md
T
Oleksandr Bezdieniezhnykh e86084da6b [AZ-223] [AZ-224] [AZ-225] [AZ-227] Add runtime gateways
Implement the first runtime component boundaries around the shared
contracts so downstream batches can consume typed frame, MAVLink, tile,
and FDR behavior with focused tests and batch evidence.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-03 18:01:13 +03:00

2.5 KiB

MAVLink GCS Gateway

Task: AZ-224_mavlink_gcs_gateway Name: MAVLink GCS Gateway Description: Subscribe to FC telemetry, emit GPS_INPUT, and publish QGC-visible status/failsafe messages. Complexity: 3 points Dependencies: AZ-220_shared_runtime_contracts, AZ-222_runtime_config_errors_telemetry Component: MAVLink And GCS Integration Tracker: AZ-224 Epic: AZ-210

Problem

The runtime needs a strict protocol boundary for ArduPilot Plane telemetry in and GPS-denied estimates/status out.

Outcome

  • FC telemetry is normalized into shared samples.
  • GPS_INPUT is emitted only from validated position estimates.
  • QGC status is rate-limited and safety-relevant.

Scope

Included

  • Telemetry subscription behavior.
  • GPS_INPUT field validation and emission result.
  • QGC status/failsafe message emission.

Excluded

  • Safety policy and covariance calculation.
  • SITL test runner implementation.

Dependencies

Document Dependencies

  • _docs/02_document/contracts/shared/runtime_contracts.md
  • _docs/02_document/contracts/shared/config_errors_telemetry.md

Acceptance Criteria

AC-1: Telemetry sample emitted Given a valid FC telemetry stream When the gateway subscribes Then normalized telemetry samples are available to consumers.

AC-2: Invalid GPS_INPUT is rejected Given a malformed or unsafe position estimate When emission is requested Then no invalid GPS_INPUT packet is emitted.

AC-3: Operator status is rate-limited Given repeated mode changes or warnings When status is emitted Then QGC-visible messages stay within the configured rate.

Non-Functional Requirements

Reliability

  • Connection loss is surfaced to wrapper/FDR.

Unit Tests

AC Ref What to Test Required Outcome
AC-1 Telemetry normalization Shared sample emitted
AC-2 Invalid fix type/accuracy Emission rejected
AC-3 Status burst Rate limit enforced

Blackbox Tests

AC Ref Initial Data/Conditions What to Test Expected Behavior NFR References
AC-2 Plane SITL GPS_INPUT output Fields match ArduPilot expectations Reliability

Constraints

  • v1 emits GPS_INPUT only.
  • Do not hide MAVLink disconnects or invalid output errors.

Risks & Mitigation

Risk 1: ArduPilot parameter mismatch

  • Risk: Plane ignores or mishandles emitted estimates.
  • Mitigation: SITL validation remains a release gate.