 |
foxBMS
1.0.0
The foxBMS Battery Management System API Documentation
|
Go to the documentation of this file.
80 .errorRequestCounter = 0,
84 .balancingAllowed =
true,
85 .balancingGlobalAllowed =
false,
120 bool finished =
true;
217 for (uint8_t stringNumber = 0u; stringNumber <
BS_NR_OF_STRINGS; stringNumber++) {
333 #ifdef UNITY_UNIT_TEST
340 #ifdef UNITY_UNIT_TEST
345 extern BAL_STATE_s *TEST_BAL_GetBalancingState(
void) {
Implementation of the tasks used by the system, headers.
int32_t balancingThreshold
bool balancingGlobalAllowed
#define BS_NR_OF_BAT_CELLS
BAL_STATE_REQUEST_e BAL_TransferStateRequest(BAL_STATE_s *currentState)
transfers the current state request to the state machine.
int16_t maximumTemperature_ddegC[BS_NR_OF_STRINGS]
static void BAL_ProcessStateCheckBalancing(BAL_STATE_REQUEST_e state_request)
State machine subfunction to check if balancing is allowed.
DATA_BLOCK_HEADER_s header
enum BAL_STATEMACH BAL_STATEMACH_e
enum STD_RETURN_TYPE STD_RETURN_TYPE_e
static bool BAL_ActivateBalancing(void)
Activates voltage based balancing.
#define BAL_LOWER_VOLTAGE_LIMIT_mV
#define DATA_WRITE_DATA(...)
@ BAL_STATEMACH_CHECK_BALANCING
Header for the voltage-based balancing strategy module.
uint8_t BAL_CheckReEntrance(BAL_STATE_s *currentState)
re-entrance check of BAL state machine trigger function
@ BAL_STATEMACH_INITIALIZATION
@ BAL_STATE_NO_BALANCING_REQUEST
void BAL_Trigger(void)
trigger function for the BAL driver state machine.
void BAL_ProcessStateInitialization(BAL_STATE_s *currentState)
State machine subfunction to initialize the balancing state machine.
void BAL_ProcessStateInitialized(BAL_STATE_s *currentState)
State machine subfunction to transfer from an initalized state to "running" states of th state machin...
DATA_BLOCK_HEADER_s header
#define FAS_ASSERT(x)
Assertion macro that asserts that x is true.
void OS_ExitTaskCritical(void)
Exit Critical interface function for use in FreeRTOS-Tasks and FreeRTOS-ISR.
STD_RETURN_TYPE_e initializationFinished
uint32_t deltaCharge_mAs[BS_NR_OF_STRINGS][BS_NR_OF_BAT_CELLS]
@ BAL_STATEMACH_UNINITIALIZED
static DATA_BLOCK_BALANCING_CONTROL_s bal_balancing
#define BAL_UPPER_TEMPERATURE_LIMIT_ddegC
void OS_EnterTaskCritical(void)
Enter Critical interface function for use in FreeRTOS-Tasks and FreeRTOS-ISR.
BMS_CURRENT_FLOW_STATE_e BMS_GetBatterySystemState(void)
Returns current battery system state (charging/discharging, resting or in relaxation phase)
Configuration of the battery cell (e.g., minimum and maximum cell voltage)
int16_t cellVoltage_mV[BS_NR_OF_STRINGS][BS_NR_OF_BAT_CELLS]
STD_RETURN_TYPE_e BAL_Init(DATA_BLOCK_BALANCING_CONTROL_s *pControl)
Generic initialization function for the balancing module.
@ BAL_CHECK_LOWEST_VOLTAGE
BAL_RETURN_TYPE_e BAL_SetStateRequest(BAL_STATE_REQUEST_e stateRequest)
sets the current state request of the state variable bal_state.
static void BAL_Deactivate(void)
Deactivates voltage based balancing.
STD_RETURN_TYPE_e BAL_GetInitializationState(void)
gets the initialization state.
@ DATA_BLOCK_ID_BALANCING_CONTROL
uint8_t balancingState[BS_NR_OF_STRINGS][BS_NR_OF_BAT_CELLS]
#define DATA_READ_DATA(...)
static void BAL_ProcessStateBalancing(BAL_STATE_REQUEST_e state_request)
State machine subfunction to balance the battery cell.
enum BAL_RETURN_TYPE BAL_RETURN_TYPE_e
void BAL_SaveLastStates(BAL_STATE_s *pBalancingState)
Saves the last state and the last substate.
#define BAL_STATEMACH_SHORTTIME_100ms
@ BAL_STATEMACH_INITIALIZED
static BAL_STATE_s bal_state
contains the state of the contactor state machine
@ DATA_BLOCK_ID_CELL_VOLTAGE
BAL_STATEMACH_SUB_e substate
int16_t minimumCellVoltage_mV[BS_NR_OF_STRINGS]
BAL_RETURN_TYPE_e BAL_CheckStateRequest(BAL_STATE_s *pCurrentState, BAL_STATE_REQUEST_e stateRequest)
checks the state requests that are made.
BAL_STATE_REQUEST_e stateRequest
enum BAL_STATE_REQUEST BAL_STATE_REQUEST_e
#define BAL_HYSTERESIS_mV
#define FAS_TRAP
Define that evaluates to essential boolean false thus tripping an assert.
DATA_BLOCK_HEADER_s header
void BAL_ProcessStateUninitalized(BAL_STATE_s *pCurrentState, BAL_STATE_REQUEST_e stateRequest)
Substate handling function for BAL_Trigger()
#define BAL_STATEMACH_BALANCINGTIME_100ms
@ BAL_STATE_ALLOWBALANCING_REQUEST