foxBMS  1.1.1
The foxBMS Battery Management System 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.

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
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_STRING_CURRENT_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_MSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_MSL_STRING_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}
#define SOF_MSL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:283
#define SOF_MSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:89
#define SOF_MSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:160
#define SOF_MSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:233
#define SOF_MSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:251
#define SOF_MSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:178
#define SOF_MSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:123
#define SOF_MSL_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:74
#define SOF_MSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:215
#define SOF_MSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:142
#define SOF_MSL_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:105
#define SOF_MSL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:267
#define SOF_MSL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:315
#define SOF_MSL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:299
#define SOF_MSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:196

Definition at line 114 of file sof_cfg.c.

◆ sof_maximumOperatingLimit

const SOF_CONFIG_s sof_maximumOperatingLimit
Initial value:
= {
.maximumChargeCurrent_mA = SOF_MOL_STRING_CURRENT_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_MOL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_MOL_STRING_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}
#define SOF_MOL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:313
#define SOF_MOL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:281
#define SOF_MOL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:176
#define SOF_MOL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:87
#define SOF_MOL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:249
#define SOF_MOL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:140
#define SOF_MOL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:265
#define SOF_MOL_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:103
#define SOF_MOL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:158
#define SOF_MOL_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:72
#define SOF_MOL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:213
#define SOF_MOL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:194
#define SOF_MOL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:231
#define SOF_MOL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:121
#define SOF_MOL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:297

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_STRING_CURRENT_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_STRING_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}
#define SOF_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:289
#define SOF_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:204
#define SOF_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:81
#define SOF_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:150
#define SOF_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:66
#define SOF_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:168
#define SOF_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:97
#define SOF_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:131
#define SOF_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:273
#define SOF_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:223
#define SOF_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:186
#define SOF_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:241
#define SOF_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:257
#define SOF_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:113
#define SOF_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:305

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_STRING_CURRENT_CONTINUOUS_CHARGE_mA,
.maximumDischargeCurrent_mA = SOF_RSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
.limpHomeCurrent_mA = SOF_RSL_STRING_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}
#define SOF_RSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:177
#define SOF_RSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:195
#define SOF_RSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:214
#define SOF_RSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:250
#define SOF_RSL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:298
#define SOF_RSL_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:73
#define SOF_RSL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:314
#define SOF_RSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:232
#define SOF_RSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:122
#define SOF_RSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:88
#define SOF_RSL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:282
#define SOF_RSL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:266
#define SOF_RSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:159
#define SOF_RSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:141
#define SOF_RSL_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:104

Definition at line 97 of file sof_cfg.c.