← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The ground station speaks an older dialect of MAVLink

WarningBoard, internal errors, CAN, scripting

What ArduPilot says:

Also explained here: 2 more
  • Bad rally point count
  • Bad rally point ID

MAVLink, the language between aircraft and ground station, has changed over the years. MISSION_ITEM and MISSION_REQUEST carry coordinates as short decimal numbers that lose precision; the forms ending in INT carry them exactly. ArduPilot still accepts the old forms and warns once. “Need mavlink2 for item transfer” is a refusal: fences and rally points can be sent this way only over MAVLink 2. The rally point lines come from the older, separate rally protocol when its numbering disagrees with what is stored (RALLY_TOTAL).

What to do, most likely first

  1. The ground station is an old version.

    FixUpdate it, then upload the mission, fence and rally points again.

  2. The serial port of this link is set to MAVLink 1.

    CheckRead SERIALn_PROTOCOL of the port the telemetry radio is on: 1 is MAVLink 1, 2 is MAVLink 2.

    FixSet it to 2 and reboot; the radio and the ground station must allow MAVLink 2 as well.

  3. Your own script or companion computer sends the old messages.

    FixChange it to MISSION_ITEM_INT and MISSION_REQUEST_INT, with coordinates as whole numbers of degrees times ten million.

Parameters to look at

ParameterWhat it is
SERIAL1_PROTOCOLTelem1 protocol selection
SERIAL2_PROTOCOLTelemetry 2 protocol selection
RALLY_TOTALRally Total
The code that sends it

got MISSION_REQUEST; use MISSION_REQUEST_INT!

libraries/GCS_MAVLink/MissionItemProtocol.cpp MissionItemProtocol::handle_mission_request() · Open in ArduPilot Copter-4.7.1

got MISSION_ITEM; GCS should send MISSION_ITEM_INT

libraries/GCS_MAVLink/MissionItemProtocol.cpp MissionItemProtocol::send_mission_item_warning() · Open in ArduPilot Copter-4.7.1

Error setting rally point

libraries/GCS_MAVLink/GCS_Rally.cpp GCS_MAVLINK::handle_rally_point() · Open in ArduPilot Copter-4.7.1

Failed to get rally point

libraries/GCS_MAVLink/GCS_Rally.cpp GCS_MAVLINK::handle_rally_fetch_point() · Open in ArduPilot Copter-4.7.1

And 4 more messages, sent from the same places.

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer