PX4 Command Catalog

PX4 downlink has two protocol families. Ordinary flight-controller actions use MAVLink COMMAND_LONG / COMMAND_INT and complete through COMMAND_ACK. Parameter reads and writes use the MAVLink parameter microservice and complete through PARAM_VALUE / PARAM_ERROR. Both families are created and queried through the same Open Platform command API.

API Entry

OperationMethod and path
Create commandPOST /api/v1/open/downlink/commands
Query command statusGET /api/v1/open/downlink/commands/{commandId}
Request fieldRequirement
vendorFixed px4
command_typeMAV_CMD named flow or px4.parameter.*
payloadTyped request for the command; raw param1..param7 fields are not accepted
idempotency_keyRequired; repeated requests return the same command

Protocol Coverage

Protocol familyCountCompletion signalEntry
MAV_CMD named flow178COMMAND_ACKCapability domains on this page
Parameter read1PARAM_VALUE / PARAM_ERRORpx4.parameter.read
Parameter write1873PARAM_VALUE / PARAM_ERRORNamed parameter set
Excluded entry1Not applicableMAV_CMD_DO_SET_PARAMETER is replaced by named parameter set commands

Flow

  1. Call the create command API with vendor=px4, command_type, and the command-specific payload.
  2. The platform returns command_id and acceptance status ACCEPTED.
  3. In the default disabled mode, the PX4 agent sends no real MAVLink frame; guarded mode sends and waits for a PX4 response.
  4. Use command_id to query command status; terminal state is advanced by COMMAND_ACK or parameter microservice response.
{
  "vendor": "px4",
  "device_id": "px4-real-1",
  "command_type": "nav_return_to_launch",
  "payload": {},
  "idempotency_key": "req-px4-rtl-001",
  "timeout_seconds": 30
}

MAV_CMD Capability Domains

Capability domainCommandsPurpose
navigation33Waypoint, takeoff, landing, return, mission, and geofence related commands.
condition6Mission condition, delay, distance, heading, and threshold commands.
system-control19Arming, mode, preflight, calibration, reboot, logging, and system-level commands.
do-control45Speed, ROI, servo, relay, parachute, actuator, and mission action commands.
request-system9Message request, protocol version, camera information, event, and storage information commands.
camera-media37Camera capture, recording, zoom, gimbal, video stream, and media management commands.
external-guided5External pose, state estimate, follow, and guided control commands.
user-extension15User-defined MAVLink command range.
other9MAVLink commands not covered by the preceding capability groups.

Parameter Protocol

Capabilitycommand_typeDescription
Read parameterpx4.parameter.readSends PARAM_REQUEST_READ; payload specifies param_id.
Write parameterpx4.parameter.<name>.setOne named command per PX4 parameter; callers do not pass param_id.
Full write catalogParameter set catalog1873 QGroundControl-style parameters generated from PX4 parameters.json/xml.
Browse by groupPX4 parameter group indexFind parameters by Commander, EKF2, MAVLink, Sensors, and other PX4 groups.

Forbidden

  • No generic mavlink_command payloads.
  • No cloud payload fields named param1 through param7.
  • No generic px4.parameter.set.
  • No MAV_CMD_DO_SET_PARAMETER ordinary command; parameter writes must use named parameter set commands.