AeroCoder Logo

Microservices (Protocols)

Command protocol

COMMAND_LONG, COMMAND_INT, COMMAND_ACK, and result codes for reliable commanding.

The command protocol wraps MAV_CMD values into reliable request/response transactions. The GCS packs the command into a COMMAND_LONG (or COMMAND_INT for lat/lon targets) and waits for a COMMAND_ACK from the target.

text

Command flow
──────────────────────────────────────────
GCS                         Autopilot
 │── COMMAND_LONG ─────────→│
 │   (MAV_CMD, param1..7)   │
 │                          │
 │←── COMMAND_ACK ──────────│
 │   (result, progress)     │

COMMAND_INT (#75) carries param5 and param6 as int32 (for lat/lon in 1e7 degrees) instead of float, giving centimeter-level precision. Use it for any command that targets a geographic position.

COMMAND_ACK result codes

0 ACCEPTED · 1 TEMPORARILY_REJECTED · 2 DENIED · 3 UNSUPPORTED · 4 FAILED · 5 IN_PROGRESS (with progress %) · 6 CANCELLED. Always implement retry with back-off for IN_PROGRESS and timeout for missing ACKs.

← Previous

Parameter protocol

Next →

File Transfer Protocol (FTP)

Edit this page on mavlink.io ↗

On This Page

COMMAND_ACK result codes

© 2024 AeroCoder. All rights reserved

TwitterYouTubeInstagram