foxBMS - Unit Tests
1.3.0
The foxBMS Unit Tests API Documentation
|
AFE driver implementation. More...
#include "general.h"
#include "afe.h"
#include "mxm_17841b.h"
#include "mxm_1785x.h"
#include "mxm_battery_management.h"
#include "os.h"
Go to the source code of this file.
Functions | |
static void | MXM_Tick (void) |
Tick function. More... | |
static void | MXM_SetStateStructDefaultValues (void) |
Initialize the state structs. More... | |
STD_RETURN_TYPE_e | AFE_TriggerIc (void) |
STD_RETURN_TYPE_e | AFE_Initialize (void) |
STD_RETURN_TYPE_e | AFE_StartMeasurement (void) |
Makes the initialization request to the AFE state machine. More... | |
bool | AFE_IsFirstMeasurementCycleFinished (void) |
Checks if the first AFE measurement cycle was made. More... | |
STD_RETURN_TYPE_e | AFE_RequestIoWrite (uint8_t string) |
Makes the request to the AFE state machine to write to the IO port-expander. More... | |
STD_RETURN_TYPE_e | AFE_RequestIoRead (uint8_t string) |
Makes the request to the AFE state machine to read from the IO port-expander. More... | |
STD_RETURN_TYPE_e | AFE_RequestTemperatureRead (uint8_t string) |
Makes the request to the AFE state machine to read from the external temperature sensor on slaves. More... | |
STD_RETURN_TYPE_e | AFE_RequestBalancingFeedbackRead (uint8_t string) |
Makes the request to the AFE state machine to read balancing feedback from the slaves. More... | |
STD_RETURN_TYPE_e | AFE_RequestEepromRead (uint8_t string) |
Makes the request to the AFE state machine to read from the external EEPROM on slaves. More... | |
STD_RETURN_TYPE_e | AFE_RequestEepromWrite (uint8_t string) |
Makes the request to the AFE state machine to write to the external EEPROM on slaves. More... | |
STD_RETURN_TYPE_e | AFE_RequestOpenWireCheck (uint8_t string) |
Makes the request to the AFE state machine to perform open-wire check. More... | |
Variables | |
static MXM_41B_INSTANCE_s | mxm_41bState |
static MXM_5X_INSTANCE_s | mxm_5xState |
static DATA_BLOCK_CELL_VOLTAGE_s | mxm_tableCellVoltages = {.header.uniqueId = DATA_BLOCK_ID_CELL_VOLTAGE_BASE} |
Local cell voltage data block. More... | |
static DATA_BLOCK_CELL_TEMPERATURE_s | mxm_tableCellTemperatures |
Local cell temperature data block. More... | |
static DATA_BLOCK_BALANCING_CONTROL_s | mxm_tableBalancingControl = {.header.uniqueId = DATA_BLOCK_ID_BALANCING_CONTROL} |
Balancing control. More... | |
static DATA_BLOCK_OPEN_WIRE_s | mxm_tableOpenWire = {.header.uniqueId = DATA_BLOCK_ID_OPEN_WIRE_BASE} |
Local data structure for openwire results. More... | |
static MXM_BALANCING_STATE_s | mxm_balancingState |
static MXM_MONITORING_INSTANCE_s | mxm_state |
AFE driver implementation.
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:
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:
Definition in file mxm_afe.c.
STD_RETURN_TYPE_e AFE_Initialize | ( | void | ) |
bool AFE_IsFirstMeasurementCycleFinished | ( | void | ) |
STD_RETURN_TYPE_e AFE_RequestBalancingFeedbackRead | ( | uint8_t | string | ) |
STD_RETURN_TYPE_e AFE_RequestEepromRead | ( | uint8_t | string | ) |
STD_RETURN_TYPE_e AFE_RequestEepromWrite | ( | uint8_t | string | ) |
STD_RETURN_TYPE_e AFE_RequestIoRead | ( | uint8_t | string | ) |
STD_RETURN_TYPE_e AFE_RequestIoWrite | ( | uint8_t | string | ) |
STD_RETURN_TYPE_e AFE_RequestOpenWireCheck | ( | uint8_t | string | ) |
STD_RETURN_TYPE_e AFE_RequestTemperatureRead | ( | uint8_t | string | ) |
STD_RETURN_TYPE_e AFE_StartMeasurement | ( | void | ) |
STD_RETURN_TYPE_e AFE_TriggerIc | ( | void | ) |
|
static |
|
static |
Tick function.
This function is the central entry-point for this driver. It calls the state-machines via the functions MXM_StateMachine(), MXM_5XStateMachine() and MXM_41BStateMachine().
The state-machines are called in such a way that the main blocking point is the SPI interface. (That means the order is optimized so that every cycle a SPI command should be available for sending or receiving as this is the limiting ressource.)
Definition at line 150 of file mxm_afe.c.
|
static |
|
static |
|
static |
balancing state variable
|
static |
state variable for the Maxim monitoring driver
|
static |
|
static |
Local cell temperature data block.
This local instance stores the measured cell temperatures.
|
static |
Local cell voltage data block.
This local instance stores the measured cell voltages. In contrast to MXM_MONITORING_INSTANCE_s::localVoltages, the layout of this structure changes with the defined battery-system as it is described by the database_cfg.h. Mapping the values from MXM_MONITORING_INSTANCE_s::localVoltages to mxm_tableCellVoltages and copying these entries into the database is handled by MXM_ParseVoltagesIntoDB().
|
static |