← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

A PiccoloCAN ESC or servo is missing or inhibited

Stops itMotors, ESCs and outputs

What ArduPilot says:

Shown as “PreArm: PiccoloCAN: …” on aircraft with Currawong CAN ESCs or servos. For every motor set in CAN_D1_PC_ESC_BM and every servo output set in CAN_D1_PC_SRV_BM, ArduPilot expects to hear from that device. “ESC n not detected” or “Servo n not detected”: nothing has been received from it. “ESC n is hardware inhibited”: the ESC answers but its hardware enable input holds it off.

What to do, most likely first

  1. The device has no power or is not on the CAN bus.

    FixPower it and check the CAN wiring and termination.

  2. The bitmask names a motor or servo output that has no CAN device.

    CheckCompare the bits set with the devices fitted; bit 0 is ESC 1 (Motor1) in the first mask and servo output 1 in the second.

    FixClear its bit in CAN_D1_PC_ESC_BM or CAN_D1_PC_SRV_BM and reboot.

  3. “hardware inhibited”: the ESC's enable line is not driven.

    FixWire or release the ESC's hardware enable input as its manual describes.

Parameters to look at

ParameterWhat it is
CAN_D1_PROTOCOLEnable use of specific protocol over virtual driver
CAN_D1_PC_ESC_BMESC channels
CAN_D1_PC_SRV_BMServo channels
The code that sends it

ESC N not detected

libraries/AP_PiccoloCAN/AP_PiccoloCAN.cpp AP_PiccoloCAN::pre_arm_check() · Open in ArduPilot Copter-4.7.1

ESC N is hardware inhibited

libraries/AP_PiccoloCAN/AP_PiccoloCAN.cpp AP_PiccoloCAN::pre_arm_check() · Open in ArduPilot Copter-4.7.1

Servo N not detected

libraries/AP_PiccoloCAN/AP_PiccoloCAN.cpp AP_PiccoloCAN::pre_arm_check() · Open in ArduPilot Copter-4.7.1

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