A Xacti gimbal camera reports an error
What ArduPilot says:
- … time …set
- … CAMN failed to set param
- … motor op …
- … control …
- … motor …
- … change optical zoom
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
“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.
“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.
“DroneCAN subscribe failed” or “init failed”: the CAN port is not set up for DroneCAN, or memory ran out.
FixSet
CAN_P1_DRIVERto 1 andCAN_D1_PROTOCOLto 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
| Parameter | What it is |
|---|---|
MNT1_TYPE | Mount Type |
CAM1_TYPE | Camera shutter (trigger) type |
CAN_P1_DRIVER | Index of virtual driver to be used with physical CAN interface |
CAN_D1_PROTOCOL | Enable 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.