foxBMS - Unit Tests  1.3.0
The foxBMS Unit Tests API Documentation
sof_cfg.c
Go to the documentation of this file.
1 /**
2  *
3  * @copyright © 2010 - 2022, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
4  * All rights reserved.
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright notice, this
12  * list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright notice,
15  * this list of conditions and the following disclaimer in the documentation
16  * and/or other materials provided with the distribution.
17  *
18  * 3. Neither the name of the copyright holder nor the names of its
19  * contributors may be used to endorse or promote products derived from
20  * this software without specific prior written permission.
21  *
22  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  *
33  * We kindly request you to use one or more of the following phrases to refer to
34  * foxBMS in your hardware, software, documentation or advertising materials:
35  *
36  * - ″This product uses parts of foxBMS®″
37  * - ″This product includes parts of foxBMS®″
38  * - ″This product is derived from foxBMS®″
39  *
40  */
41 
42 /**
43  * @file sof_cfg.c
44  * @author foxBMS Team
45  * @date 2020-10-07 (date of creation)
46  * @updated 2022-05-30 (date of last update)
47  * @version v1.3.0
48  * @ingroup APPLICATION
49  * @prefix SOF
50  *
51  * @brief SOF module configuration file
52  *
53  */
54 
55 /*========== Includes =======================================================*/
56 #include "sof_cfg.h"
57 
58 /*========== Macros and Definitions =========================================*/
59 
60 /*========== Static Constant and Variable Definitions =======================*/
61 
62 /*========== Extern Constant and Variable Definitions =======================*/
63 
66  .maximumDischargeCurrent_mA = SOF_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
67  .limpHomeCurrent_mA = SOF_STRING_CURRENT_LIMP_HOME_mA,
68  .cutoffLowTemperatureDischarge_ddegC = SOF_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
69  .limitLowTemperatureDischarge_ddegC = SOF_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
70  .cutoffLowTemperatureCharge_ddegC = SOF_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
71  .limitLowTemperatureCharge_ddegC = SOF_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
72  .cutoffHighTemperatureDischarge_ddegC = SOF_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
73  .limitHighTemperatureDischarge_ddegC = SOF_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
74  .cutoffHighTemperatureCharge_ddegC = SOF_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
75  .limitHighTemperatureCharge_ddegC = SOF_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
76  .limitUpperCellVoltage_mV = SOF_VOLTAGE_LIMIT_CHARGE_mV,
77  .cutoffUpperCellVoltage_mV = SOF_VOLTAGE_CUTOFF_CHARGE_mV,
78  .limitLowerCellVoltage_mV = SOF_VOLTAGE_LIMIT_DISCHARGE_mV,
79  .cutoffLowerCellVoltage_mV = SOF_VOLTAGE_CUTOFF_DISCHARGE_mV};
80 
83  .maximumDischargeCurrent_mA = SOF_MOL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
84  .limpHomeCurrent_mA = SOF_MOL_STRING_CURRENT_LIMP_HOME_mA,
85  .cutoffLowTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
86  .limitLowTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
87  .cutoffLowTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
88  .limitLowTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
89  .cutoffHighTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
90  .limitHighTemperatureDischarge_ddegC = SOF_MOL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
91  .cutoffHighTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
92  .limitHighTemperatureCharge_ddegC = SOF_MOL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
93  .limitUpperCellVoltage_mV = SOF_MOL_VOLTAGE_LIMIT_CHARGE_mV,
94  .cutoffUpperCellVoltage_mV = SOF_MOL_VOLTAGE_CUTOFF_CHARGE_mV,
95  .limitLowerCellVoltage_mV = SOF_MOL_VOLTAGE_LIMIT_DISCHARGE_mV,
96  .cutoffLowerCellVoltage_mV = SOF_MOL_VOLTAGE_CUTOFF_DISCHARGE_mV};
97 
100  .maximumDischargeCurrent_mA = SOF_RSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
101  .limpHomeCurrent_mA = SOF_RSL_STRING_CURRENT_LIMP_HOME_mA,
102  .cutoffLowTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
103  .limitLowTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
104  .cutoffLowTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
105  .limitLowTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
106  .cutoffHighTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
107  .limitHighTemperatureDischarge_ddegC = SOF_RSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
108  .cutoffHighTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
109  .limitHighTemperatureCharge_ddegC = SOF_RSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
110  .limitUpperCellVoltage_mV = SOF_RSL_VOLTAGE_LIMIT_CHARGE_mV,
111  .cutoffUpperCellVoltage_mV = SOF_RSL_VOLTAGE_CUTOFF_CHARGE_mV,
112  .limitLowerCellVoltage_mV = SOF_RSL_VOLTAGE_LIMIT_DISCHARGE_mV,
113  .cutoffLowerCellVoltage_mV = SOF_RSL_VOLTAGE_CUTOFF_DISCHARGE_mV};
114 
117  .maximumDischargeCurrent_mA = SOF_MSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA,
118  .limpHomeCurrent_mA = SOF_MSL_STRING_CURRENT_LIMP_HOME_mA,
119  .cutoffLowTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC,
120  .limitLowTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC,
121  .cutoffLowTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC,
122  .limitLowTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC,
123  .cutoffHighTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC,
124  .limitHighTemperatureDischarge_ddegC = SOF_MSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC,
125  .cutoffHighTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC,
126  .limitHighTemperatureCharge_ddegC = SOF_MSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC,
127  .limitUpperCellVoltage_mV = SOF_MSL_VOLTAGE_LIMIT_CHARGE_mV,
128  .cutoffUpperCellVoltage_mV = SOF_MSL_VOLTAGE_CUTOFF_CHARGE_mV,
129  .limitLowerCellVoltage_mV = SOF_MSL_VOLTAGE_LIMIT_DISCHARGE_mV,
130  .cutoffLowerCellVoltage_mV = SOF_MSL_VOLTAGE_CUTOFF_DISCHARGE_mV};
131 
132 /*========== Static Function Prototypes =====================================*/
133 
134 /*========== Static Function Implementations ================================*/
135 
136 /*========== Extern Function Implementations ================================*/
137 
138 /*========== Externalized Static Function Implementations (Unit Test) =======*/
const SOF_CONFIG_s sof_recommendedCurrent
Definition: sof_cfg.c:64
const SOF_CONFIG_s sof_recommendedSafetyLimit
Definition: sof_cfg.c:98
const SOF_CONFIG_s sof_configMaximumSafetyLimit
Definition: sof_cfg.c:115
const SOF_CONFIG_s sof_maximumOperatingLimit
Definition: sof_cfg.c:81
Header for SOF configuration.
#define SOF_MOL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:314
#define SOF_MOL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:282
#define SOF_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:290
#define SOF_RSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:178
#define SOF_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:205
#define SOF_RSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:196
#define SOF_RSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:215
#define SOF_MOL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:177
#define SOF_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:82
#define SOF_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:151
#define SOF_RSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:251
#define SOF_MOL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:88
#define SOF_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:67
#define SOF_MOL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:250
#define SOF_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:169
#define SOF_MSL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:284
#define SOF_MOL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:141
#define SOF_MSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:90
#define SOF_MSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:161
#define SOF_MSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:234
#define SOF_RSL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:299
#define SOF_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:98
#define SOF_MOL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:266
#define SOF_RSL_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:74
#define SOF_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:132
#define SOF_MSL_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:252
#define SOF_MSL_TEMPERATURE_LOW_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:179
#define SOF_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:274
#define SOF_MOL_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:104
#define SOF_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:224
#define SOF_MSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:124
#define SOF_MSL_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:75
#define SOF_MSL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:216
#define SOF_MOL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:159
#define SOF_MSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:143
#define SOF_MSL_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:106
#define SOF_RSL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:315
#define SOF_MSL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:268
#define SOF_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:187
#define SOF_MOL_STRING_CURRENT_CONTINUOUS_CHARGE_mA
Definition: sof_cfg.h:73
#define SOF_MOL_TEMPERATURE_HIGH_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:214
#define SOF_RSL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:233
#define SOF_MOL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:195
#define SOF_RSL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:123
#define SOF_TEMPERATURE_HIGH_LIMIT_CHARGE_ddegC
Definition: sof_cfg.h:242
#define SOF_RSL_STRING_CURRENT_CONTINUOUS_DISCHARGE_mA
Definition: sof_cfg.h:89
#define SOF_MOL_TEMPERATURE_HIGH_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:232
#define SOF_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:258
#define SOF_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:114
#define SOF_MOL_TEMPERATURE_LOW_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:122
#define SOF_RSL_VOLTAGE_LIMIT_CHARGE_mV
Definition: sof_cfg.h:283
#define SOF_MSL_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:316
#define SOF_RSL_VOLTAGE_CUTOFF_CHARGE_mV
Definition: sof_cfg.h:267
#define SOF_RSL_TEMPERATURE_LOW_CUTOFF_CHARGE_ddegC
Definition: sof_cfg.h:160
#define SOF_RSL_TEMPERATURE_LOW_LIMIT_DISCHARGE_ddegC
Definition: sof_cfg.h:142
#define SOF_MSL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:300
#define SOF_MSL_TEMPERATURE_HIGH_CUTOFF_DISCHARGE_ddegC
Definition: sof_cfg.h:197
#define SOF_VOLTAGE_LIMIT_DISCHARGE_mV
Definition: sof_cfg.h:306
#define SOF_RSL_STRING_CURRENT_LIMP_HOME_mA
Definition: sof_cfg.h:105
#define SOF_MOL_VOLTAGE_CUTOFF_DISCHARGE_mV
Definition: sof_cfg.h:298
float maximumChargeCurrent_mA
Definition: sof_cfg.h:325