foxBMS
1.1.2
The foxBMS Battery Management System API Documentation
|
Headers for the configuration for the FRAM module. More...
Go to the source code of this file.
Data Structures | |
struct | FRAM_BASE_HEADER_s |
struct | FRAM_VERSION |
Stores the version of the memory layout of the FRAM. More... | |
struct | FRAM_SBC_INIT |
struct | FRAM_SOC |
struct | FRAM_SOE |
struct | FRAM_DEEP_DISCHARGE_FLAG |
Macros | |
#define | FRAM_PROJECT_ID_FOXBMS_BASELINE ((FRAM_PROJECT_ID)0u) |
Typedefs | |
typedef uint16_t | FRAM_PROJECT_ID |
IDs for projects that use a memory layout. More... | |
typedef enum FRAM_BLOCK_ID | FRAM_BLOCK_ID_e |
typedef struct FRAM_VERSION | FRAM_VERSION_s |
Stores the version of the memory layout of the FRAM. More... | |
typedef struct FRAM_SBC_INIT | FRAM_SBC_INIT_s |
typedef struct FRAM_SOC | FRAM_SOC_s |
typedef struct FRAM_SOE | FRAM_SOE_s |
typedef struct FRAM_DEEP_DISCHARGE_FLAG | FRAM_DEEP_DISCHARGE_FLAG_s |
Enumerations | |
enum | FRAM_BLOCK_ID { FRAM_BLOCK_ID_VERSION , FRAM_BLOCK_ID_SOC , FRAM_BLOCK_ID_SBC_INIT_STATE , FRAM_BLOCK_ID_DEEP_DISCHARGE_FLAG , FRAM_BLOCK_ID_SOE , FRAM_BLOCK_MAX } |
Headers for the configuration for the FRAM module.
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 fram_cfg.h.
#define FRAM_PROJECT_ID_FOXBMS_BASELINE ((FRAM_PROJECT_ID)0u) |
this is the standard main development branch
Definition at line 77 of file fram_cfg.h.
typedef enum FRAM_BLOCK_ID FRAM_BLOCK_ID_e |
fram block identification numbers
typedef struct FRAM_DEEP_DISCHARGE_FLAG FRAM_DEEP_DISCHARGE_FLAG_s |
flag to indicate if a deep-discharge in a string has been detected
typedef uint16_t FRAM_PROJECT_ID |
IDs for projects that use a memory layout.
This enum can be use to differentiate between projects. While an older version of the same project should be upgradeable, the entry of another project should be just discarded if a conflict occurs.
In order for the ID to stay the same it is important that the defined macros are not changed and that each and every macro has a different value.
Definition at line 74 of file fram_cfg.h.
typedef struct FRAM_SBC_INIT FRAM_SBC_INIT_s |
struct for the FRAM entry of the SBC driver
typedef struct FRAM_SOC FRAM_SOC_s |
state of charge (SOC). Since SOC is voltage dependent, three different values are used, min, max and average. SOC defined as a float number between 0.0f and 100.0f (0% and 100%)
typedef struct FRAM_SOE FRAM_SOE_s |
state of energy (SOE). Since SOE is voltage dependent, three different values are used, min, max and average. SOE defined as a float number between 0.0f and 100.0f (0% and 100%)
typedef struct FRAM_VERSION FRAM_VERSION_s |
Stores the version of the memory layout of the FRAM.
This struct stores with which memory-layout version the FRAM has been written. This allows the BMS to recognize an incompatible memory layout.
enum FRAM_BLOCK_ID |
fram block identification numbers
Enumerator | |
---|---|
FRAM_BLOCK_ID_VERSION | |
FRAM_BLOCK_ID_SOC | |
FRAM_BLOCK_ID_SBC_INIT_STATE | |
FRAM_BLOCK_ID_DEEP_DISCHARGE_FLAG | |
FRAM_BLOCK_ID_SOE | |
FRAM_BLOCK_MAX | DO NOT CHANGE, MUST BE THE LAST ENTRY |
Definition at line 87 of file fram_cfg.h.
|
extern |
The zeros are the uninitialized addresses of the variables in the FRAM. They are initialized by the call of FRAM_Initialize()
Definition at line 83 of file fram_cfg.c.
|
extern |
Variables to be stored in FRAM
Variables to be stored in FRAM Must also be declared as external variables in fram_cfg.h
Definition at line 76 of file fram_cfg.c.
|
extern |
Variables to be stored in FRAM
Variables to be stored in FRAM Must also be declared as external variables in fram_cfg.h
Definition at line 72 of file fram_cfg.c.
|
extern |
Variables to be stored in FRAM
Variables to be stored in FRAM Must also be declared as external variables in fram_cfg.h
Definition at line 70 of file fram_cfg.c.
|
extern |
Variables to be stored in FRAM
Variables to be stored in FRAM Must also be declared as external variables in fram_cfg.h
Definition at line 71 of file fram_cfg.c.
|
extern |
Variables to be stored in FRAM
Variables to be stored in FRAM Must also be declared as external variables in fram_cfg.h
Definition at line 69 of file fram_cfg.c.