mirror of https://github.com/ArduPilot/ardupilot
75 lines
3.5 KiB
Plaintext
75 lines
3.5 KiB
Plaintext
ArduPilotMega 2.0 Commands
|
|
|
|
Command Structure in bytes
|
|
0 0x00 byte Command ID
|
|
1 0x01 byte Parameter 1
|
|
2 0x02 long Parameter 2
|
|
3 0x03 ..
|
|
4 0x04 ..
|
|
5 0x05 ..
|
|
6 0x06 long Parameter 3
|
|
7 0x07 ..
|
|
8 0x08 ..
|
|
9 0x09 ..
|
|
10 0x0A long Parameter 4
|
|
11 0x0B ..
|
|
11 0x0C ..
|
|
11 0x0D ..
|
|
|
|
|
|
***********************************
|
|
Commands below MAV_CMD_NAV_LAST are commands that have a end criteria, eg "reached waypoint" or "reached altitude"
|
|
***********************************
|
|
Command ID Name Parameter 1 Altitude Latitude Longitude
|
|
0x10 / 16 MAV_CMD_NAV_WAYPOINT delay (seconds) altitude lat lon
|
|
0x11 / 17 MAV_CMD_NAV_LOITER_UNLIM (forever) altitude lat lon
|
|
|
|
0x14 / 20 MAV_CMD_NAV_RETURN_TO_LAUNCH - - - -
|
|
0x15 / 21 MAV_CMD_NAV_LAND - - - -
|
|
0x16 / 22 MAV_CMD_NAV_TAKEOFF - altitude - -
|
|
0x19 / 22 MAV_CMD_NAV_LOITER_TIME - altitude - -
|
|
|
|
NOTE: for command 0x16 the value takeoff pitch specifies the minimum pitch for the case with airspeed sensor and the target pitch for the case without.
|
|
|
|
|
|
***********************************
|
|
May Commands - these commands are optional to finish
|
|
Command ID Name Parameter 1 Parameter 2 Parameter 3 Parameter 4
|
|
0x70 / 112 MAV_CMD_CONDITION_DELAY - - time (seconds) -
|
|
0x71 / 113 MAV_CMD_CONDITION_CHANGE_ALT rate (cm/sec) alt (finish) - -
|
|
Note: rate must be > 10 cm/sec due to integer math
|
|
|
|
// MAV_CMD_NAV_LAND_OPTIONS (NOT CURRENTLY IN MAVLINK PROTOCOL OR IMPLEMENTED IN APM)
|
|
|
|
0x72 / 114 MAV_CMD_CONDITION_DISTANCE - - distance (meters) -
|
|
0x71 / 115 MAV_CMD_CONDITION_YAW angle speed direction (-1,1) rel (1), abs (0)
|
|
|
|
***********************************
|
|
Unexecuted commands > MAV_CMD_NAV_LAST are dropped when ready for the next command < MAV_CMD_NAV_LAST so plan/queue commands accordingly!
|
|
For example if you had a string of CMD_MAV_CONDITION commands following a 0x10 command that had not finished when the waypoint was
|
|
reached, the unexecuted CMD_MAV_CONDITION and CMD_MAV_DO commands would be skipped and the next command < MAV_CMD_NAV_LAST would be loaded
|
|
***********************************
|
|
Now Commands - these commands are executed once until no more new now commands are available
|
|
|
|
Command ID Name Parameter 1 Parameter 2 Parameter 3 Parameter 4
|
|
0xB1 / 177 MAV_CMD_DO_JUMP index - repeat count -
|
|
Note: The repeat count must be greater than 1 for the command to execute. Use a repeat count of 1 if you intend a single use.
|
|
|
|
0XB2 / 178 MAV_CMD_DO_CHANGE_SPEED Speed type Speed (m/s) Throttle (Percent) -
|
|
(0=Airspeed, 1=Ground Speed) (-1 indicates no change)(-1 indicates no change)
|
|
|
|
0xB3 / 179 MAV_CMD_DO_SET_HOME Use current altitude lat lon
|
|
(1=use current location, 0=use specified location)
|
|
|
|
0xB4 / 180 MAV_CMD_DO_SET_PARAMETER Param number Param value (NOT CURRENTLY IMPLEMENTED IN APM)
|
|
0xB5 / 181 MAV_CMD_DO_SET_RELAY Relay number On/off (1/0) - -
|
|
0xB6 / 182 MAV_CMD_DO_REPEAT_RELAY Relay number Cycle count Cycle time (sec) -
|
|
Note: Max cycle time = 60 sec, A repeat relay or repeat servo command will cancel any current repeating event
|
|
|
|
0xB7 / 183 MAV_CMD_DO_SET_SERVO Servo number (5-8) On/off (1/0) - -
|
|
0xB6 / 184 MAV_CMD_DO_REPEAT_SERVO Servo number (5-8) Cycle count Cycle time (sec) -
|
|
Note: Max cycle time = 60 sec, A repeat relay or repeat servo command will cancel any current repeating event
|
|
|
|
// need to add command
|
|
0xB7 / 201 MAV_CMD_DO_SET_ROI Yaw_Mode altitude lat lon
|