#ifndef SAFETY_MANAGER_H #define SAFETY_MANAGER_H #include #include typedef enum { SAFETY_FAULT_NONE = 0, SAFETY_FAULT_DRIVER = 1, SAFETY_FAULT_CAN_BUS_OFF = 2, SAFETY_FAULT_CONFIG_STORE = 3, SAFETY_FAULT_BOOT_RECOVERY = 4, SAFETY_FAULT_DEBUG_DETACH = 5, SAFETY_FAULT_CAN_INIT = 6 } safety_fault_t; void SafetyManager_Init(uint32_t resetReason); void SafetyManager_Service(void); void SafetyManager_LatchFault(safety_fault_t fault); void SafetyManager_KickWatchdog(void); bool SafetyManager_IsWatchdogInitialized(void); bool SafetyManager_IsInhibited(void); safety_fault_t SafetyManager_GetFault(void); bool SafetyManager_WasWatchdogReset(void); bool SafetyManager_TriggerHilWatchdogReset(uint16_t token); void SafetyManager_CommitHilWatchdogReset(void); bool SafetyManager_WasHilWatchdogRecovered(void); #endif /* SAFETY_MANAGER_H */