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.