72 bool currentLimitViolated =
false;
76 currentLimitViolated =
true;
79 return currentLimitViolated;
83 bool currentLimitViolated =
false;
87 currentLimitViolated =
true;
90 return currentLimitViolated;
94 bool currentLimitViolated =
false;
98 currentLimitViolated =
true;
102 currentLimitViolated =
true;
106 currentLimitViolated =
false;
108 return currentLimitViolated;
113 bool currentOnOpenString =
false;
119 if ((
false == stringClosed) && (
false == stringPrecharging)) {
120 currentOnOpenString =
true;
123 return currentOnOpenString;
Configuration of the battery cell (e.g., minimum and maximum cell voltage)
#define BC_CURRENT_MAX_DISCHARGE_MSL_mA
Maximum discharge current limit.
#define BC_CURRENT_MAX_CHARGE_MSL_mA
Maximum charge current limit.
Configuration of the battery system (e.g., number of battery modules, battery cells,...
#define BS_MAXIMUM_PACK_CURRENT_mA
Maximum pack current limit in mA that is used in the SOA module to check for pack overcurrent.
#define BS_MAXIMUM_STRING_CURRENT_mA
Maximum string current limit in mA that is used in the SOA module to check for string overcurrent.
#define BS_NR_OF_PARALLEL_CELLS_PER_MODULE
number of battery cells in a parallel cell connection per battery module
bool BMS_IsStringPrecharging(uint8_t stringNumber)
Returns if string is currently precharging or not.
bool BMS_IsStringClosed(uint8_t stringNumber)
Returns string state (closed or open)
enum BMS_CURRENT_FLOW_STATE BMS_CURRENT_FLOW_STATE_e
#define FAS_ASSERT(x)
Assertion macro that asserts that x is true.
bool SOA_IsCurrentOnOpenString(BMS_CURRENT_FLOW_STATE_e currentDirection, uint8_t stringNumber)
Checks if string current is floating while contactors are open.
bool SOA_IsPackCurrentLimitViolated(uint32_t current_mA, BMS_CURRENT_FLOW_STATE_e currentDirection)
Checks if pack current limit is violated.
bool SOA_IsStringCurrentLimitViolated(uint32_t current_mA, BMS_CURRENT_FLOW_STATE_e currentDirection)
Checks if string current limit is violated.
bool SOA_IsCellCurrentLimitViolated(uint32_t current_mA, BMS_CURRENT_FLOW_STATE_e currentDirection)
Checks if cell current limit is violated.
Configuration header for SOA.