Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added mission checksum message #1172

Closed
wants to merge 15 commits into from
Closed
Changes from 14 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions message_definitions/v1.0/common.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2786,6 +2786,9 @@
<entry value="65536" name="MAV_PROTOCOL_CAPABILITY_FLIGHT_INFORMATION">
<description>Autopilot supports the flight information protocol.</description>
</entry>
<entry value="131072‬" name="MAV_PROTOCOL_CAPABILITY_MISSION_CHECKSUM">
hamishwillee marked this conversation as resolved.
Show resolved Hide resolved
<description>Autopilot supports mission checksum.</description>
</entry>
</enum>
<enum name="MAV_MISSION_TYPE">
<description>Type of mission items being requested/sent in mission protocol.</description>
Expand Down Expand Up @@ -4709,6 +4712,20 @@
<field type="uint8_t" name="origin_compid" enum="MAV_COMPONENT">Compnent ID of the author of the new mission.</field>
<field type="uint8_t" name="mission_type" enum="MAV_MISSION_TYPE">Mission type.</field>
</message>
<message id="53" name="MISSION_CHECKSUM">
<wip/>
<!-- This message is work-in-progress and it can therefore change. It should NOT be used in stable production environments. -->
<description>Checksum for the current mission, rally points or geofence plan (a GCS can use this checksum to determine if it has a matching plan definition).
This message must be broadcast following any change to a plan (immediately after the MISSION_ACK that completes the plan upload sequence).
It may also be requested using MAV_CMD_REQUEST_MESSAGE, where param 2 indicates the plan type for which the hash is required.
The checksum must be calculated on the autopilot, but may also be calculated by the GCS.
The checksum uses the same CRC32 algorithm as MAVLink FTP (https://mavlink.io/en/services/ftp.html#crc32-implementation).
It is run over each item in the plan in seq order (excluding the home location if present in the plan), and covers the following fields (in order):
frame, command, autocontinue, param1, param2, param3, param4, param5, param6, param7.
</description>
<field type="uint8_t" name="mission_type" enum="MAV_MISSION_TYPE">Mission type.</field>
<field type="uint32_t" name="checksum">CRC32 checksum of current plan for specified type.</field>
</message>
<message id="54" name="SAFETY_SET_ALLOWED_AREA">
<description>Set a safety zone (volume), which is defined by two corners of a cube. This message can be used to tell the MAV which setpoints/waypoints to accept and which to reject. Safety areas are often enforced by national or competition regulations.</description>
<field type="uint8_t" name="target_system">System ID</field>
Expand Down