|
static BMS_RETURN_TYPE_e | BMS_CheckStateRequest (BMS_STATE_REQUEST_e statereq) |
| checks the state requests that are made. More...
|
|
static BMS_STATE_REQUEST_e | BMS_TransferStateRequest (void) |
| transfers the current state request to the state machine. More...
|
|
static uint8_t | BMS_CheckReEntrance (void) |
| re-entrance check of SYS state machine trigger function More...
|
|
static uint8_t | BMS_CheckCanRequests (void) |
| Checks the state requests made to the BMS state machine. More...
|
|
static bool | BMS_IsAnyFatalErrorFlagSet (void) |
| Checks all the error flags from diagnosis module with a severity of DIAG_FATAL_ERROR. More...
|
|
static STD_RETURN_TYPE_e | BMS_IsBatterySystemStateOkay (void) |
| Checks if any error flag is set and handles delay until contactors need to be opened. More...
|
|
static void | BMS_GetMeasurementValues (void) |
|
static void | BMS_CheckOpenSenseWire (void) |
| Check for any open voltage sense wire. More...
|
|
static STD_RETURN_TYPE_e | BMS_CheckPrecharge (uint8_t stringNumber, const DATA_BLOCK_PACK_VALUES_s *pPackValues) |
| Checks if the current limitations are violated. More...
|
|
static uint8_t | BMS_GetHighestString (BMS_CONSIDER_PRECHARGE_e precharge, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
| Returns ID of string with highest total voltage. More...
|
|
static uint8_t | BMS_GetClosestString (BMS_CONSIDER_PRECHARGE_e precharge, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
| Returns ID of string with voltage closest to first closed string voltage. More...
|
|
static uint8_t | BMS_GetLowestString (BMS_CONSIDER_PRECHARGE_e precharge, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
| Returns ID of string with lowest total voltage. More...
|
|
static int32_t | BMS_GetStringVoltageDifference (uint8_t string, const DATA_BLOCK_PACK_VALUES_s *pPackValues) |
| Returns voltage difference between first closed string and string ID. More...
|
|
static int32_t | BMS_GetAverageStringCurrent (DATA_BLOCK_PACK_VALUES_s *pPackValues) |
| Returns the average current flowing through all strings. More...
|
|
static void | BMS_UpdateBatsysState (DATA_BLOCK_PACK_VALUES_s *pPackValues) |
| Updates battery system state variable depending on measured/recent current values. More...
|
|
STD_RETURN_TYPE_e | BMS_GetInitializationState (void) |
| Gets the initialization state. More...
|
|
BMS_STATEMACH_e | BMS_GetState (void) |
| Returns the current state. More...
|
|
BMS_RETURN_TYPE_e | BMS_SetStateRequest (BMS_STATE_REQUEST_e statereq) |
| sets the current state request of the state variable bms_state. More...
|
|
void | BMS_Trigger (void) |
| trigger function for the SYS driver state machine. More...
|
|
BMS_CURRENT_FLOW_STATE_e | BMS_GetBatterySystemState (void) |
| Returns current battery system state (charging/discharging, resting or in relaxation phase) More...
|
|
BMS_CURRENT_FLOW_STATE_e | BMS_GetCurrentFlowDirection (int32_t current_mA) |
| Get current flow direction, current value as function parameter. More...
|
|
bool | BMS_IsStringClosed (uint8_t stringNumber) |
| Returns string state (closed or open) More...
|
|
bool | BMS_IsStringPrecharging (uint8_t stringNumber) |
| Returns if string is currently precharging or not. More...
|
|
uint8_t | BMS_GetNumberOfConnectedStrings (void) |
| Returns number of connected strings. More...
|
|
bool | BMS_IsTransitionToErrorStateActive (void) |
| Check if transition in to error state is active. More...
|
|
BMS_RETURN_TYPE_e | TEST_BMS_CheckStateRequest (BMS_STATE_REQUEST_e statereq) |
|
BMS_STATE_REQUEST_e | TEST_BMS_TransferStateRequest (void) |
|
uint8_t | TEST_BMS_CheckReEntrance (void) |
|
uint8_t | TEST_BMS_CheckCanRequests (void) |
|
bool | TEST_BMS_IsAnyFatalErrorFlagSet (void) |
|
STD_RETURN_TYPE_e | TEST_BMS_IsBatterySystemStateOkay (void) |
|
void | TEST_BMS_GetMeasurementValues (void) |
|
void | TEST_BMS_CheckOpenSenseWire (void) |
|
STD_RETURN_TYPE_e | TEST_BMS_CheckPrecharge (uint8_t stringNumber, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
|
uint8_t | TEST_BMS_GetHighestString (BMS_CONSIDER_PRECHARGE_e precharge, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
|
uint8_t | TEST_BMS_GetClosestString (BMS_CONSIDER_PRECHARGE_e precharge, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
|
uint8_t | TEST_BMS_GetLowestString (BMS_CONSIDER_PRECHARGE_e precharge, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
|
int32_t | TEST_BMS_GetStringVoltageDifference (uint8_t string, DATA_BLOCK_PACK_VALUES_s *pPackValues) |
|
int32_t | TEST_BMS_GetAverageStringCurrent (DATA_BLOCK_PACK_VALUES_s *pPackValues) |
|
void | TEST_BMS_UpdateBatsysState (DATA_BLOCK_PACK_VALUES_s *pPackValues) |
|
bms driver implementation
- Copyright
- © 2010 - 2022, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V. All rights reserved.
SPDX-License-Identifier: BSD-3-Clause
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials:
- ″This product uses parts of foxBMS®″
- ″This product includes parts of foxBMS®″
- ″This product is derived from foxBMS®″
- Author
- foxBMS Team
- Date
- 2020-02-24 (date of creation)
- Updated
- 2022-05-30 (date of last update)
- Version
- v1.3.0
- Prefix
- BMS
Definition in file bms.c.