← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

A Xacti gimbal camera reports an error

WarningRangefinder, optical flow, camera, OSD and other devices

What ArduPilot says:

Also explained here: 12 more
  • … change lens
  • … media …
  • … change focus
  • … take pic
  • … lens …
  • … DroneCAN subscribe failed
  • … record
  • … change zoom
  • … temp …
  • … unable to take pic
  • … init failed
  • … failed to set date/time

A Xacti camera gimbal talks to the flight controller over DroneCAN, and these lines are its answers. “Xacti: failed to take pic / record / change zoom …”: the camera refused that command. “Xacti: media error”, “lens error”, “motor init error”, “motor op error”, “control error”, “temp warning”, “time not set”: the camera's own status changed; the same lines ending in “ok” say the fault has cleared. “init failed” and “DroneCAN subscribe failed” come at boot: the driver could not start.

What to do, most likely first

  1. “media error”, or a refused picture or recording: the memory card is missing, full or faulty.

    FixInsert or replace the card and format it in the camera.

  2. “motor … error” or “control error”: the gimbal could not move freely when it started.

    FixRemove the lens cap and transport lock, make sure nothing touches the gimbal, and power it again. A motor error also makes “Mount: not healthy” and stops arming.

  3. “DroneCAN subscribe failed” or “init failed”: the CAN port is not set up for DroneCAN, or memory ran out.

    FixSet CAN_P1_DRIVER to 1 and CAN_D1_PROTOCOL to 1 (DroneCAN) for the port the gimbal is on, and reboot.

“time not set” clears by itself once the flight controller has the time from GPS: the driver then sends it to the camera (“Xacti: datetime set …”).

Parameters to look at

ParameterWhat it is
MNT1_TYPEMount Type
CAM1_TYPECamera shutter (trigger) type
CAN_P1_DRIVERIndex of virtual driver to be used with physical CAN interface
CAN_D1_PROTOCOLEnable use of specific protocol over virtual driver
The code that sends it

… time …set

libraries/AP_Mount/AP_Mount_Xacti.cpp AP_Mount_Xacti::handle_param_get_set_response_string() · Open in ArduPilot Copter-4.7.1

… CAMN failed to set param

libraries/AP_Mount/AP_Mount_Xacti.cpp AP_Mount_Xacti::handle_param_save_response() · Open in ArduPilot Copter-4.7.1

… motor op …

libraries/AP_Mount/AP_Mount_Xacti.cpp AP_Mount_Xacti::handle_param_get_set_response_string() · Open in ArduPilot Copter-4.7.1

… control …

libraries/AP_Mount/AP_Mount_Xacti.cpp AP_Mount_Xacti::handle_param_get_set_response_string() · Open in ArduPilot Copter-4.7.1

And 14 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