12#include "common/can_library/generated/can_types.h"
14typedef enum : uint8_t {
21typedef enum : uint8_t {
22 FAULT_STATE_CLEAR = 0,
23 FAULT_STATE_PENDING = 1,
24 FAULT_STATE_LATCHED = 2,
25 FAULT_STATE_RECOVERING = 3
29 uint32_t start_time_ms;
32 uint16_t latch_time_ms;
33 uint16_t unlatch_time_ms;
35 fault_priority_t priority;
40void update_fault(fault_id_t fault_id, uint16_t value);
41bool is_latched(fault_id_t fault_id);
42bool is_clear(fault_id_t fault_id);
43void fault_library_periodic();
45bool is_warning_latched();
46bool is_error_latched();
47bool is_fatal_latched();
48bool is_curr_mcu_latched();
49bool is_other_mcus_latched();
52#ifdef HAS_FAULT_STRINGS
53const char* get_fault_string(fault_id_t fault_id);
Definition faults_common.h:28