“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).
Sticky Faults can be cleared in Tuner and via API.
Faults and Sticky Faults can be polled using Tuner-Self-test Snapshot or via API.
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
The GET STATUS VI can be used to retrieve sticky flags, and clear them.
The APIs getFaults() and getStickyFaults() can be used to check the latest received faults. clearStickyFaults() can be used to clear all sticky fault flags.
Below is the list of common PCM Faults and Resolutions.