Warning

The CANdle Phoenix 5 API is deprecated and will be removed in 2027. Additionally, Talon FX, CANcoder, and Pigeon 2 now require Phoenix 6. Users are encouraged to migrate to the Phoenix 6 library for deprecated devices.

# Faults

“Faults” are status indicators on CTRE CAN Devices that indicate a certain behavior or event has occurred. Faults do not directly affect the behavior of a device, rather they indicate the device’s current status and highlight potential issues.

Faults are stored in two fashions. There are “live” faults that are reported in real-time, and “sticky” faults which assert persistently and stay asserted until they are manually cleared (like trouble codes in a vehicle).

Note

Sticky Faults can be cleared in Tuner and via API.

Note

Faults and Sticky Faults can be polled using Tuner-Self-test Snapshot or via API.

Tip

Motor Controllers have a sticky fault to detect if device reset during robot-enable. This is useful for detecting breaker events.

## Polling Faults in the API

### LabVIEW

The GET STATUS VI can be used to retrieve sticky flags, and clear them.

### C++/Java

The APIs getFaults() and getStickyFaults() can be used to check the latest received faults. clearStickyFaults() can be used to clear all sticky fault flags.

## PCM Faults

Below is the list of common PCM Faults and Resolutions.