do_set_mission_current

PX4 capability domain: navigation. PX4 mapping: MAV_CMD_DO_SET_MISSION_CURRENT. Set the mission item with sequence number seq as the current item and emit MISSION_CURRENT (whether or not the mission number changed). If a mission is currently being executed, the system will continue to this new mission item on the shortest path, skipping any intermediate mission items. Note that mission jump repeat counters are not reset unless param2 is set (see MAV_CMD_DO_JUMP param2). This command may trigger a mission state-machine change on some systems: for example from MISSION_STATE_NOT_STARTED or MISSION_STATE_PAUSED to MISSION_STATE_ACTIVE. If the system is in mission mode, on those systems this command might therefore start, restart or resume the mission. If the system is not in mission mode this command must not trigger a switch to mission mode. The mission may be “reset” using param2. Resetting sets jump counters to initial values (to reset counters without changing the current mission item set the param1 to -1). Resetting also explicitly changes a mission state of MISSION_STATE_COMPLETE to MISSION_STATE_PAUSED or MISSION_STATE_ACTIVE, potentially allowing it to resume when it is (next) in a mission mode. The command will ACK with MAV_RESULT_FAILED if the sequence number is out of range (including if there is no mission item).

Request Params

vendor
string
必填
Fixed value px4
device_id
string
必填
Target PX4 device ID
command_type
string
必填
Fixed value do_set_mission_current
idempotency_key
string
必填
Idempotency key; repeated requests return the same command
timeout_seconds
integer
Timeout in seconds, range 0~300
payload
object
必填
Typed request payload for this command. Field names are generated from PX4 MAVLink XML labels, but callers do not send raw param1..param7 fields.
payload.number
number
Meaning: Number; maps to MAVLink parameter 1 in the PX4 frame.
payload.reset_mission
number
Meaning: Reset Mission, enum MAV_BOOL; maps to MAVLink parameter 2 in the PX4 frame.

PX4 Frame Mapping

  • MAVLink command: MAV_CMD_DO_SET_MISSION_CURRENT
  • Command ID: 224
  • Default transport: COMMAND_LONG
  • Source XML: common.xml
  • Completion: COMMAND_ACK
  • Guard: real PX4 downlink is disabled by default; guarded mode requires explicit authorization and a ready transport.

Create Response

command_id
string
Platform command ID, used for follow-up queries
status
string
Acceptance status: ACCEPTED
accepted_at
string(datetime)
Command acceptance time (UTC)

Query Response

command_id
string
Platform command ID
status
string
Execution status: ACCEPTED / DELIVERED / SUCCEEDED / FAILED / TIMED_OUT / UNMATCHED_RESPONSE
vendor
string
Vendor identifier; fixed value px4
device_id
string
Target PX4 device ID
command_type
string
PX4 command type
response_code
string
Mapped COMMAND_ACK.result value
response_message
string
PX4 acknowledgement summary
vendor_response
object
Raw PX4 acknowledgement summary, including MAVLink command ID and transport

PX4 ACK Mapping

After sending the frame, the PX4 agent waits for COMMAND_ACK and correlates the response by command id. Disabled mode sends no frame and completes with a rejected lifecycle result.
curl -X POST "/api/v1/open/downlink/commands" \
  -H "Content-Type: application/json" \
  -H "X-Api-Id: YOUR_API_ID" \
  -H "X-Api-Timestamp: YOUR_UNIX_SECONDS" \
  -H "X-Api-Nonce: YOUR_NONCE" \
  -H "X-Api-Signature: YOUR_SIGNATURE" \
  -d "{\"vendor\":\"px4\",\"device_id\":\"px4-real-1\",\"command_type\":\"do_set_mission_current\",\"payload\":{\"number\":0,\"reset_mission\":0},\"idempotency_key\":\"req-do_set_mission_current-001\",\"timeout_seconds\":30}"

curl "/api/v1/open/downlink/commands/8cdb5bf3-8902-c5f7-f9aa-dc7fa0af1de0"
{
  "command_id": "8cdb5bf3-8902-c5f7-f9aa-dc7fa0af1de0",
  "status": "ACCEPTED",
  "accepted_at": "2026-06-15T00:00:00Z"
}