external_wind_estimate

PX4 capability domain: external-guided. PX4 mapping: MAV_CMD_EXTERNAL_WIND_ESTIMATE. Set an external estimate of wind direction and speed. This might be used to provide an initial wind estimate to the estimator (EKF) in the case where the vehicle is wind dead-reckoning, extending the time when operating without GPS before before position drift builds to an unsafe level. For this use case the command might reasonably be sent every few minutes when operating at altitude, and the value is cleared if the estimator resets itself.

Request Params

vendor
string
必填
Fixed value px4
device_id
string
必填
Target PX4 device ID
command_type
string
必填
Fixed value external_wind_estimate
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.wind_speed
number
Meaning: Wind speed, units m/s; maps to MAVLink parameter 1 in the PX4 frame.
payload.wind_speed_accuracy
number
Meaning: Wind speed accuracy, units m/s; maps to MAVLink parameter 2 in the PX4 frame.
payload.direction
number
Meaning: Direction, units deg; maps to MAVLink parameter 3 in the PX4 frame.
payload.direction_accuracy
number
Meaning: Direction accuracy, units deg; maps to MAVLink parameter 4 in the PX4 frame.

PX4 Frame Mapping

  • MAVLink command: MAV_CMD_EXTERNAL_WIND_ESTIMATE
  • Command ID: 43004
  • Default transport: COMMAND_LONG
  • Source XML: development.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\":\"external_wind_estimate\",\"payload\":{\"wind_speed\":0,\"wind_speed_accuracy\":0,\"direction\":0,\"direction_accuracy\":0},\"idempotency_key\":\"req-external_wind_estimate-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"
}