foxBMS  1.2.0
The foxBMS Battery Management System API Documentation
database_cfg.h File Reference

Database configuration header. More...

#include "general.h"
#include "battery_system_cfg.h"
Include dependency graph for database_cfg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  DATA_BASE
 
struct  DATA_BLOCKHEADER
 
struct  DATA_BLOCK_CELL_VOLTAGE
 
struct  DATA_BLOCK_CELL_TEMPERATURE
 
struct  DATA_BLOCK_MIN_MAX
 
struct  DATA_BLOCK_PACK_VALUES
 
struct  DATA_BLOCK_CURRENT_SENSOR
 
struct  DATA_BLOCK_BALANCING_CONTROL
 
struct  DATA_BLOCK_SLAVE_CONTROL
 
struct  DATA_BLOCK_BALANCING_FEEDBACK
 
struct  DATA_BLOCK_USER_MUX
 
struct  DATA_BLOCK_OPENWIRE
 
struct  DATA_BLOCK_ALL_GPIO_VOLTAGES
 
struct  DATA_BLOCK_ERRORSTATE
 
struct  DATA_BLOCK_CONTFEEDBACK
 
struct  DATA_BLOCK_INTERLOCK_FEEDBACK
 
struct  DATA_BLOCK_SOF
 
struct  DATA_BLOCK_SYSTEMSTATE_s
 
struct  DATA_BLOCK_MSL_FLAG
 
struct  DATA_BLOCK_RSL_FLAG
 
struct  DATA_BLOCK_MOL_FLAG
 
struct  DATA_BLOCK_SOX
 
struct  DATA_BLOCK_STATEREQUEST
 
struct  DATA_BLOCK_MOVING_AVERAGE_s
 
struct  DATA_BLOCK_INSULATION_MONITORING
 
struct  DATA_BLOCK_HTSEN
 
struct  DATA_BLOCK_ADC_VOLTAGE
 
struct  DATA_BLOCK_DUMMY_FOR_SELF_TEST
 

Typedefs

typedef struct DATA_BASE DATA_BASE_s
 
typedef enum DATA_BLOCK_ID DATA_BLOCK_ID_e
 
typedef struct DATA_BLOCKHEADER DATA_BLOCK_HEADER_s
 
typedef struct DATA_BLOCK_CELL_VOLTAGE DATA_BLOCK_CELL_VOLTAGE_s
 
typedef struct DATA_BLOCK_CELL_TEMPERATURE DATA_BLOCK_CELL_TEMPERATURE_s
 
typedef struct DATA_BLOCK_MIN_MAX DATA_BLOCK_MIN_MAX_s
 
typedef struct DATA_BLOCK_PACK_VALUES DATA_BLOCK_PACK_VALUES_s
 
typedef struct DATA_BLOCK_CURRENT_SENSOR DATA_BLOCK_CURRENT_SENSOR_s
 
typedef struct DATA_BLOCK_BALANCING_CONTROL DATA_BLOCK_BALANCING_CONTROL_s
 
typedef struct DATA_BLOCK_SLAVE_CONTROL DATA_BLOCK_SLAVE_CONTROL_s
 
typedef struct DATA_BLOCK_BALANCING_FEEDBACK DATA_BLOCK_BALANCING_FEEDBACK_s
 
typedef struct DATA_BLOCK_USER_MUX DATA_BLOCK_USER_MUX_s
 
typedef struct DATA_BLOCK_OPENWIRE DATA_BLOCK_OPEN_WIRE_s
 
typedef struct DATA_BLOCK_ALL_GPIO_VOLTAGES DATA_BLOCK_ALL_GPIO_VOLTAGES_s
 
typedef struct DATA_BLOCK_ERRORSTATE DATA_BLOCK_ERRORSTATE_s
 
typedef struct DATA_BLOCK_CONTFEEDBACK DATA_BLOCK_CONTACTOR_FEEDBACK_s
 
typedef struct DATA_BLOCK_INTERLOCK_FEEDBACK DATA_BLOCK_INTERLOCK_FEEDBACK_s
 
typedef struct DATA_BLOCK_SOF DATA_BLOCK_SOF_s
 
typedef struct DATA_BLOCK_MSL_FLAG DATA_BLOCK_MSL_FLAG_s
 
typedef struct DATA_BLOCK_RSL_FLAG DATA_BLOCK_RSL_FLAG_s
 
typedef struct DATA_BLOCK_MOL_FLAG DATA_BLOCK_MOL_FLAG_s
 
typedef struct DATA_BLOCK_SOX DATA_BLOCK_SOX_s
 
typedef struct DATA_BLOCK_STATEREQUEST DATA_BLOCK_STATEREQUEST_s
 
typedef struct DATA_BLOCK_INSULATION_MONITORING DATA_BLOCK_INSULATION_MONITORING_s
 
typedef struct DATA_BLOCK_HTSEN DATA_BLOCK_HTSEN_s
 
typedef struct DATA_BLOCK_ADC_VOLTAGE DATA_BLOCK_ADC_VOLTAGE_s
 
typedef struct DATA_BLOCK_DUMMY_FOR_SELF_TEST DATA_BLOCK_DUMMY_FOR_SELF_TEST_s
 

Enumerations

enum  DATA_BLOCK_ID {
  DATA_BLOCK_ID_CELL_VOLTAGE , DATA_BLOCK_ID_CELL_TEMPERATURE , DATA_BLOCK_ID_MIN_MAX , DATA_BLOCK_ID_CURRENT_SENSOR ,
  DATA_BLOCK_ID_BALANCING_CONTROL , DATA_BLOCK_ID_SLAVE_CONTROL , DATA_BLOCK_ID_BALANCING_FEEDBACK_BASE , DATA_BLOCK_ID_USER_MUX ,
  DATA_BLOCK_ID_OPEN_WIRE_BASE , DATA_BLOCK_ID_ALL_GPIO_VOLTAGES_BASE , DATA_BLOCK_ID_ERRORSTATE , DATA_BLOCK_ID_CONTACTOR_FEEDBACK ,
  DATA_BLOCK_ID_INTERLOCK_FEEDBACK , DATA_BLOCK_ID_SOF , DATA_BLOCK_ID_SYSTEMSTATE , DATA_BLOCK_ID_MSL_FLAG ,
  DATA_BLOCK_ID_RSL_FLAG , DATA_BLOCK_ID_MOL_FLAG , DATA_BLOCK_ID_SOX , DATA_BLOCK_ID_STATEREQUEST ,
  DATA_BLOCK_ID_MOVING_AVERAGE , DATA_BLOCK_ID_CELL_VOLTAGE_BASE , DATA_BLOCK_ID_CELL_TEMPERATURE_BASE , DATA_BLOCK_ID_CELL_VOLTAGE_REDUNDANCY0 ,
  DATA_BLOCK_ID_CELL_TEMPERATURE_REDUNDANCY0 , DATA_BLOCK_ID_BALANCING_FEEDBACK_REDUNDANCY0 , DATA_BLOCK_ID_ALL_GPIO_VOLTAGES_REDUNDANCY0 , DATA_BLOCK_ID_OPEN_WIRE_REDUNDANCY0 ,
  DATA_BLOCK_ID_INSULATION_MONITORING , DATA_BLOCK_ID_PACK_VALUES , DATA_BLOCK_ID_HTSEN , DATA_BLOCK_ID_ADC_VOLTAGE ,
  DATA_BLOCK_ID_DUMMY_FOR_SELF_TEST , DATA_BLOCK_ID_MAX
}
 

Variables

DATA_BASE_s data_database [DATA_BLOCK_ID_MAX]
 channel configuration of database (data blocks) More...
 

Detailed Description

Database configuration header.

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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. 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.
  3. 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
2015-08-18 (date of creation)
Updated
2021-09-30 (date of last update)
Prefix
DATA

Provides interfaces to database configuration

Definition in file database_cfg.h.

Typedef Documentation

◆ DATA_BASE_s

typedef struct DATA_BASE DATA_BASE_s

configuration struct of database channel (data block)

◆ DATA_BLOCK_ADC_VOLTAGE_s

data block struct of internal ADC voltage measurement

◆ DATA_BLOCK_ALL_GPIO_VOLTAGES_s

data block struct of GPIO voltage

◆ DATA_BLOCK_BALANCING_CONTROL_s

◆ DATA_BLOCK_BALANCING_FEEDBACK_s

data block struct of cell balancing feedback

◆ DATA_BLOCK_CELL_TEMPERATURE_s

data block struct of cell temperatures

◆ DATA_BLOCK_CELL_VOLTAGE_s

data block struct of cell voltage

◆ DATA_BLOCK_CONTACTOR_FEEDBACK_s

data block struct of contactor feedback

◆ DATA_BLOCK_CURRENT_SENSOR_s

data block struct of current measurement

◆ DATA_BLOCK_DUMMY_FOR_SELF_TEST_s

data block struct for the database built-in self-test

◆ DATA_BLOCK_ERRORSTATE_s

data block struct of error flags

◆ DATA_BLOCK_HEADER_s

data block header

◆ DATA_BLOCK_HTSEN_s

data block struct for the I2C humidity/temperature sensor

◆ DATA_BLOCK_ID_e

data block identification numbers

◆ DATA_BLOCK_INSULATION_MONITORING_s

data block struct of insulation monitoring device measurement

◆ DATA_BLOCK_INTERLOCK_FEEDBACK_s

data block struct of interlock feedback

◆ DATA_BLOCK_MIN_MAX_s

data block struct of minimum and maximum values

◆ DATA_BLOCK_MOL_FLAG_s

data block struct of the maximum operating limit

◆ DATA_BLOCK_MSL_FLAG_s

data block struct of the maximum safe limits

◆ DATA_BLOCK_OPEN_WIRE_s

data block struct of cell open wire

◆ DATA_BLOCK_PACK_VALUES_s

data block struct of pack measurement values

◆ DATA_BLOCK_RSL_FLAG_s

data block struct of the recommended safety limit

◆ DATA_BLOCK_SLAVE_CONTROL_s

data structure declaration of DATA_BLOCK_USER_IO_CONTROL

◆ DATA_BLOCK_SOF_s

data block struct of sof limits

◆ DATA_BLOCK_SOX_s

data block struct of sox

◆ DATA_BLOCK_STATEREQUEST_s

data block struct of can state request

◆ DATA_BLOCK_USER_MUX_s

data block struct of user multiplexer values

Enumeration Type Documentation

◆ DATA_BLOCK_ID

data block identification numbers

Enumerator
DATA_BLOCK_ID_CELL_VOLTAGE 
DATA_BLOCK_ID_CELL_TEMPERATURE 
DATA_BLOCK_ID_MIN_MAX 
DATA_BLOCK_ID_CURRENT_SENSOR 
DATA_BLOCK_ID_BALANCING_CONTROL 
DATA_BLOCK_ID_SLAVE_CONTROL 
DATA_BLOCK_ID_BALANCING_FEEDBACK_BASE 
DATA_BLOCK_ID_USER_MUX 
DATA_BLOCK_ID_OPEN_WIRE_BASE 
DATA_BLOCK_ID_ALL_GPIO_VOLTAGES_BASE 
DATA_BLOCK_ID_ERRORSTATE 
DATA_BLOCK_ID_CONTACTOR_FEEDBACK 
DATA_BLOCK_ID_INTERLOCK_FEEDBACK 
DATA_BLOCK_ID_SOF 
DATA_BLOCK_ID_SYSTEMSTATE 
DATA_BLOCK_ID_MSL_FLAG 
DATA_BLOCK_ID_RSL_FLAG 
DATA_BLOCK_ID_MOL_FLAG 
DATA_BLOCK_ID_SOX 
DATA_BLOCK_ID_STATEREQUEST 
DATA_BLOCK_ID_MOVING_AVERAGE 
DATA_BLOCK_ID_CELL_VOLTAGE_BASE 
DATA_BLOCK_ID_CELL_TEMPERATURE_BASE 
DATA_BLOCK_ID_CELL_VOLTAGE_REDUNDANCY0 
DATA_BLOCK_ID_CELL_TEMPERATURE_REDUNDANCY0 
DATA_BLOCK_ID_BALANCING_FEEDBACK_REDUNDANCY0 
DATA_BLOCK_ID_ALL_GPIO_VOLTAGES_REDUNDANCY0 
DATA_BLOCK_ID_OPEN_WIRE_REDUNDANCY0 
DATA_BLOCK_ID_INSULATION_MONITORING 
DATA_BLOCK_ID_PACK_VALUES 
DATA_BLOCK_ID_HTSEN 
DATA_BLOCK_ID_ADC_VOLTAGE 
DATA_BLOCK_ID_DUMMY_FOR_SELF_TEST 
DATA_BLOCK_ID_MAX 

DO NOT CHANGE, MUST BE THE LAST ENTRY

Definition at line 72 of file database_cfg.h.

Variable Documentation

◆ data_database

DATA_BASE_s data_database[DATA_BLOCK_ID_MAX]
extern

channel configuration of database (data blocks)

array for the database

all data block managed by database are listed here (address, size, consistency type)

Definition at line 176 of file database_cfg.c.