preflight_calibration

PX4 能力域:system-control。PX4 映射:MAV_CMD_PREFLIGHT_CALIBRATION 该命令用于请求 PX4 执行预飞校准。校准项目由 payload 字段选择,执行前必须确认载具处于安全状态。

中文说明

preflight_calibration 是 PX4 MAV_CMD_PREFLIGHT_CALIBRATION 的 named downlink command。调用方只提交 command_type 和具名 payload 字段;云端协议不暴露 param1..param7。PX4 agent 在 guardedhitloffboard 模式下确认 operator guard 和 transport ready 后,按 COMMAND_LONG 构造 MAVLink frame,并通过 COMMAND_ACK 关联最终 flow 结果。默认 disabled 模式不会向 PX4 发送 frame。

请求参数

vendor
string
必填
固定 px4
device_id
string
必填
目标 PX4 设备 ID
command_type
string
必填
固定 preflight_calibration
idempotency_key
string
必填
幂等键;重复请求返回同一命令
timeout_seconds
integer
超时秒数,范围 0~300
payload
object
必填
该 command 的 typed request payload;字段名由 PX4 MAVLink XML 标签生成,但调用方不需要提交裸 param1..param7
payload.gyro_temperature
number
字段含义:Gyro Temperature;PX4 帧映射到 MAVLink 参数 1。
payload.magnetometer
number
字段含义:Magnetometer,枚举 PREFLIGHT_CALIBRATION_MAGNETOMETER;PX4 帧映射到 MAVLink 参数 2。
payload.ground_pressure
number
字段含义:Ground Pressure,枚举 MAV_BOOL;PX4 帧映射到 MAVLink 参数 3。
payload.remote_control
number
字段含义:Remote Control;PX4 帧映射到 MAVLink 参数 4。
payload.accelerometer
number
字段含义:Accelerometer,枚举 PREFLIGHT_CALIBRATION_ACCELEROMETER;PX4 帧映射到 MAVLink 参数 5。
payload.compmot_or_airspeed
number
字段含义:Compmot or Airspeed;PX4 帧映射到 MAVLink 参数 6。
payload.esc_or_baro
number
字段含义:ESC or Baro;PX4 帧映射到 MAVLink 参数 7。

PX4 帧映射

  • MAVLink command: MAV_CMD_PREFLIGHT_CALIBRATION
  • Command ID: 241
  • Default transport: COMMAND_LONG
  • Source XML: common.xml
  • Completion: COMMAND_ACK
  • Guard: 真实 PX4 下发默认关闭;guarded 模式需要显式授权和 ready transport。

创建响应

command_id
string
平台命令 ID,用于后续查询
status
string
受理状态:ACCEPTED
accepted_at
string(datetime)
命令受理时间(UTC)

查询响应

command_id
string
平台命令 ID
status
string
执行状态:ACCEPTED / DELIVERED / SUCCEEDED / FAILED / TIMED_OUT / UNMATCHED_RESPONSE
vendor
string
厂商标识,固定为 px4
device_id
string
目标 PX4 设备 ID
command_type
string
PX4 command 类型
response_code
string
映射后的 COMMAND_ACK.result
response_message
string
PX4 ACK 摘要
vendor_response
object
PX4 ACK 摘要,包含 MAVLink command ID 和 transport

PX4 ACK 关联

PX4 agent 发送 frame 后等待 COMMAND_ACK,按 command id 关联响应。默认 disabled 模式不会发 frame,而是直接生成 rejected lifecycle。
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\":\"preflight_calibration\",\"payload\":{\"gyro_temperature\":0,\"magnetometer\":0,\"ground_pressure\":0,\"remote_control\":0,\"accelerometer\":0,\"compmot_or_airspeed\":0,\"esc_or_baro\":0},\"idempotency_key\":\"req-preflight_calibration-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"
}