Midnight Sun Firmware
Loading...
Searching...
No Matches
bps_fault.h
1#pragma once
2
3/************************************************************************************************
4 * @file bps_fault.h
5 *
6 * @brief BPS Fault header file
7 *
8 * @date 2025-09-20
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13
14/* Inter-component Headers */
15#include "global_enums.h"
16
17/* Intra-component Headers */
18#include "rear_controller.h"
19
33
40
48
56StatusCode trigger_bps_fault_with_cell(BpsFault fault, uint8_t cell_at_fault);
57
69StatusCode trigger_bps_fault_with_data(BpsFault fault, uint8_t cell_at_fault, BpsFaultData data);
70
78
85bool bps_is_disabled(void);
86
BpsFault
Battery fault definitions.
Definition: global_enums.h:164
StatusCode bps_fault_init(RearControllerStorage *storage)
Initialize the BPS fault memory.
Definition: bps_fault.c:46
bool bps_is_disabled(void)
Whether BPS protection is disabled from steering (manual override)
Definition: bps_fault.c:30
StatusCode bps_fault_commit(void)
Commit a new BPS fault to persist memory and CAN data.
Definition: bps_fault.c:69
StatusCode trigger_bps_fault_with_data(BpsFault fault, uint8_t cell_at_fault, BpsFaultData data)
Trigger a BPS fault with a detail snapshot for the fault data payload.
Definition: bps_fault.c:95
StatusCode trigger_bps_fault(BpsFault fault)
Trigger a BPS fault. This opens the relays and updates rear controller storage.
Definition: bps_fault.c:85
StatusCode trigger_bps_fault_with_cell(BpsFault fault, uint8_t cell_at_fault)
Trigger a BPS fault with an associated cell index.
Definition: bps_fault.c:90
StatusCode bps_fault_clear()
Clear the BPS fault.
Definition: bps_fault.c:130
StatusCode
StatusCodes for various errors.
Definition: status.h:27
Definition: rear_controller.h:45
Definition: global_enums.h:240