foxBMS-UnitTests  1.0.0
The foxBMS Unit Tests API Documentation
sof_cfg.c File Reference

SOF module configuration file. More...

#include "sof_cfg.h"
Include dependency graph for sof_cfg.c:

Go to the source code of this file.

Variables

const SOF_CONFIG_s sof_recommendedCurrent
 
const SOF_CONFIG_s sof_maximumOperatingLimit
 
const SOF_CONFIG_s sof_recommendedSafetyLimit
 
const SOF_CONFIG_s sof_configMaximumSafetyLimit
 

Detailed Description

SOF module configuration file.

BSD 3-Clause License 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
2020-10-07 (date of creation)
Updated
2020-10-07 (date of last update)
Prefix
SOF

Definition in file sof_cfg.c.

Variable Documentation

◆ sof_configMaximumSafetyLimit

const SOF_CONFIG_s sof_configMaximumSafetyLimit
Initial value:
= {
.maximumChargeCurrent_mA = SOF_MSL_CURRENT_MAX_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_MSL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_MSL_CURRENT_LIMP_HOME_mA,
.cutoffLowTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
.limitLowTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
.cutoffLowTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
.limitLowTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
.cutoffHighTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
.limitHighTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
.cutoffHighTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
.limitHighTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
.limitUpperCellVoltage_mV = SOF_MSL_VOLTAGE_LIMIT_CHARGE_mV,
.cutoffUpperCellVoltage_mV = SOF_MSL_VOLTAGE_CUTOFF_CHARGE_mV,
.limitLowerCellVoltage_mV = SOF_MSL_VOLTAGE_LIMIT_DISCHARGE_mV,
.cutoffLowerCellVoltage_mV = SOF_MSL_VOLTAGE_CUTOFF_DISCHARGE_mV}

Definition at line 114 of file sof_cfg.c.

◆ sof_maximumOperatingLimit

const SOF_CONFIG_s sof_maximumOperatingLimit
Initial value:
= {
.maximumChargeCurrent_mA = SOF_MOL_CURRENT_MAX_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_MOL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_MOL_CURRENT_LIMP_HOME_mA,
.cutoffLowTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
.limitLowTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
.cutoffLowTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
.limitLowTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
.cutoffHighTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
.limitHighTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
.cutoffHighTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
.limitHighTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
.limitUpperCellVoltage_mV = SOF_MOL_VOLTAGE_LIMIT_CHARGE_mV,
.cutoffUpperCellVoltage_mV = SOF_MOL_VOLTAGE_CUTOFF_CHARGE_mV,
.limitLowerCellVoltage_mV = SOF_MOL_VOLTAGE_LIMIT_DISCHARGE_mV,
.cutoffLowerCellVoltage_mV = SOF_MOL_VOLTAGE_CUTOFF_DISCHARGE_mV}

Configuration values for the SOF window of the different alarm levels (MOL, RSL and MSL)

Definition at line 80 of file sof_cfg.c.

◆ sof_recommendedCurrent

const SOF_CONFIG_s sof_recommendedCurrent
Initial value:
= {
.maximumChargeCurrent_mA = SOF_CURRENT_MAX_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_CURRENT_LIMP_HOME_mA,
.cutoffLowTemperatureDischarge_ddegC = SOF_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
.limitLowTemperatureDischarge_ddegC = SOF_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
.cutoffLowTemperatureCharge_ddegC = SOF_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
.limitLowTemperatureCharge_ddegC = SOF_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
.cutoffHighTemperatureDischarge_ddegC = SOF_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
.limitHighTemperatureDischarge_ddegC = SOF_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
.cutoffHighTemperatureCharge_ddegC = SOF_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
.limitHighTemperatureCharge_ddegC = SOF_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
.limitUpperCellVoltage_mV = SOF_VOLTAGE_LIMIT_CHARGE_mV,
.cutoffUpperCellVoltage_mV = SOF_VOLTAGE_CUTOFF_CHARGE_mV,
.limitLowerCellVoltage_mV = SOF_VOLTAGE_LIMIT_DISCHARGE_mV,
.cutoffLowerCellVoltage_mV = SOF_VOLTAGE_CUTOFF_DISCHARGE_mV}

Configuration values for the SOF window of the recommended battery current

Definition at line 63 of file sof_cfg.c.

◆ sof_recommendedSafetyLimit

const SOF_CONFIG_s sof_recommendedSafetyLimit
Initial value:
= {
.maximumChargeCurrent_mA = SOF_RSL_CURRENT_MAX_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_RSL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_RSL_CURRENT_LIMP_HOME_mA,
.cutoffLowTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
.limitLowTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
.cutoffLowTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
.limitLowTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
.cutoffHighTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
.limitHighTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
.cutoffHighTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
.limitHighTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
.limitUpperCellVoltage_mV = SOF_RSL_VOLTAGE_LIMIT_CHARGE_mV,
.cutoffUpperCellVoltage_mV = SOF_RSL_VOLTAGE_CUTOFF_CHARGE_mV,
.limitLowerCellVoltage_mV = SOF_RSL_VOLTAGE_LIMIT_DISCHARGE_mV,
.cutoffLowerCellVoltage_mV = SOF_RSL_VOLTAGE_CUTOFF_DISCHARGE_mV}

Definition at line 97 of file sof_cfg.c.

SOF_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
#define SOF_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:150
SOF_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
#define SOF_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:113
SOF_RSL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
#define SOF_RSL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:88
SOF_CURRENT_MAX_CONTINUOUS_CHARGE_mA
#define SOF_CURRENT_MAX_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:66
SOF_MOL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
#define SOF_MOL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:176
SOF_RSL_VOLTAGE_LIMIT_DISCHARGE_mV
#define SOF_RSL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:314
SOF_MSL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
#define SOF_MSL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:89
SOF_MSL_CURRENT_LIMP_HOME_mA
#define SOF_MSL_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:105
SOF_VOLTAGE_LIMIT_CHARGE_mV
#define SOF_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:273
SOF_MSL_VOLTAGE_LIMIT_DISCHARGE_mV
#define SOF_MSL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:315
SOF_RSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
#define SOF_RSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:122
SOF_MSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
#define SOF_MSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:178
SOF_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
#define SOF_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:186
SOF_MSL_VOLTAGE_CUTOFF_CHARGE_mV
#define SOF_MSL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:267
SOF_MSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
#define SOF_MSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:196
SOF_MOL_CURRENT_MAX_CONTINUOUS_CHARGE_mA
#define SOF_MOL_CURRENT_MAX_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:72
SOF_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
#define SOF_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:241
SOF_MOL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
#define SOF_MOL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:249
SOF_RSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
#define SOF_RSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:177
SOF_MSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
#define SOF_MSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:123
SOF_MSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
#define SOF_MSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:160
SOF_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
#define SOF_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:223
SOF_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
#define SOF_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:168
SOF_RSL_VOLTAGE_LIMIT_CHARGE_mV
#define SOF_RSL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:282
SOF_MSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
#define SOF_MSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:142
SOF_RSL_CURRENT_LIMP_HOME_mA
#define SOF_RSL_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:104
SOF_RSL_CURRENT_MAX_CONTINUOUS_CHARGE_mA
#define SOF_RSL_CURRENT_MAX_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:73
SOF_RSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
#define SOF_RSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:250
SOF_RSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
#define SOF_RSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:214
SOF_MOL_VOLTAGE_CUTOFF_CHARGE_mV
#define SOF_MOL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:265
SOF_RSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
#define SOF_RSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:159
SOF_MOL_VOLTAGE_LIMIT_CHARGE_mV
#define SOF_MOL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:281
SOF_MOL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
#define SOF_MOL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:213
SOF_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
#define SOF_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:204
SOF_MOL_VOLTAGE_CUTOFF_DISCHARGE_mV
#define SOF_MOL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:297
SOF_MOL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
#define SOF_MOL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:194
SOF_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
#define SOF_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:131
SOF_MSL_VOLTAGE_LIMIT_CHARGE_mV
#define SOF_MSL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:283
SOF_RSL_VOLTAGE_CUTOFF_DISCHARGE_mV
#define SOF_RSL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:298
SOF_VOLTAGE_LIMIT_DISCHARGE_mV
#define SOF_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:305
SOF_VOLTAGE_CUTOFF_CHARGE_mV
#define SOF_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:257
SOF_MOL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
#define SOF_MOL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:231
SOF_RSL_VOLTAGE_CUTOFF_CHARGE_mV
#define SOF_RSL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:266
SOF_MOL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
#define SOF_MOL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:121
SOF_MSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
#define SOF_MSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:215
SOF_MSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
#define SOF_MSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:233
SOF_CURRENT_LIMP_HOME_mA
#define SOF_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:97
SOF_MOL_CURRENT_LIMP_HOME_mA
#define SOF_MOL_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:103
SOF_MSL_CURRENT_MAX_CONTINUOUS_CHARGE_mA
#define SOF_MSL_CURRENT_MAX_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:74
SOF_VOLTAGE_CUTOFF_DISCHARGE_mV
#define SOF_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:289
SOF_MSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
#define SOF_MSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:251
SOF_MOL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
#define SOF_MOL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:158
SOF_RSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
#define SOF_RSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:141
SOF_RSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
#define SOF_RSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:195
SOF_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
#define SOF_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:81
SOF_MOL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
#define SOF_MOL_CURRENT_MAX_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:87
SOF_MOL_VOLTAGE_LIMIT_DISCHARGE_mV
#define SOF_MOL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:313
SOF_RSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
#define SOF_RSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:232
SOF_MOL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
#define SOF_MOL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:140
SOF_MSL_VOLTAGE_CUTOFF_DISCHARGE_mV
#define SOF_MSL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:299