Protocol 2
High-level v1 command contract between ESPFlight Application and Firmware.
ESPFlight Docs · v1•Validated v1 documentation path
#Release contract
Firmware publishes ESPFLIGHT_PROTOCOL_VERSION = 2.
ESPFlight Application v1.0.0 accepts Protocol 2 for the validated baseline.
High-level flight commands use flight_command / flight_command_ack with request_id.
Supported high-level commands in the validation baseline are arm, disarm, takeoff, and landing.
ARM state in the application remains telemetry-authoritative rather than assumed from a button press.
#Protocol and safety are linked
Protocol handling must preserve explicit ARM/DISARM semantics, low-throttle motor-off behavior, and safe command acknowledgement. A transport message is not an excuse to bypass flight-state checks.
VERSIONING
If you change message shape or semantics, increment/document compatibility instead of silently presenting the behavior as unchanged Protocol 2.