4.1.1.1. SOC: Coulomb Counting

4.1.1.1.1. Module Files

4.1.1.1.1.1. Driver

  • src/app/application/algorithm/state_estimation/soc/counting/soc_counting.c (API, source)

  • src/app/application/algorithm/state_estimation/soc/counting/soc_counting.h (API, source)

4.1.1.1.1.2. Configuration

  • src/app/application/algorithm/state_estimation/soc/counting/soc_counting_cfg.c (API, source)

  • src/app/application/algorithm/state_estimation/soc/counting/soc_counting_cfg.h (API, source)

4.1.1.1.1.3. Unit Test

  • tests/unit/app/application/algorithm/state_estimation/soc/counting/test_soc_counting.c (API, source)

  • tests/unit/app/application/algorithm/state_estimation/soc/counting/test_soc_counting_cfg.c (API, source)

4.1.1.1.2. Detailed Description

By default, foxBMS 2 uses the internal integrator of the current sensor. If the current sensor integrator is not available, the integration is made directly in the foxBMS 2 software.

The check of the presence of the integrator and the software integration are made in the Function implementing Coulomb-counting.

Listing 4.1 Function implementing Coulomb-counting
1void SE_CalculateStateOfCharge(DATA_BLOCK_SOX_s *pSocValues) {