The foxBMS secondary mcu API documentation
BMS User configuration

Macros

#define BMS_CURRENTMAX   15000
 
#define BMS_CURRENTMIN   -15000
 
#define BMS_TEST_CELL_SOF_LIMITS   FALSE
 
#define BMS_REQ_ID_STANDBY   8
 
#define BMS_REQ_ID_NORMAL   3
 
#define BMS_REQ_ID_CHARGE   4
 
#define BMS_SELFPOWERONCHECK_TIMEOUT   10 /* 100ms */
 
#define BMS_SELFAWAKECHECK_TIMEOUT   10 /* 100ms */
 
#define BMS_IDLE_TIMEOUT   500 /* 5s timeout to go to sleep or power off in idle state */
 

Detailed Description

Contains the configuration settings for the BMS system behaviour, e.g. time constants.

Macro Definition Documentation

◆ BMS_CURRENTMAX

#define BMS_CURRENTMAX   15000

maximum current safe operating limit When limit is violated, error state is requested and contactors will open.

Type:
int
Unit:
mA
Default:
15000

◆ BMS_CURRENTMIN

#define BMS_CURRENTMIN   -15000

minimum current safe operating limit When limit is violated, error state is requested and contactors will open.

Type:
int
Unit:
mA
Default:
-15000

◆ BMS_IDLE_TIMEOUT

#define BMS_IDLE_TIMEOUT   500 /* 5s timeout to go to sleep or power off in idle state */
Type:
int
Default:
50
Range:
[40,60]
Unit:
10*ms

◆ BMS_REQ_ID_CHARGE

#define BMS_REQ_ID_CHARGE   4

this is the ID that should be requested via CAN signal to go to CHARGE state (contactors closing procedure)

Type:
int
Default:
4
Range:
0<=x

◆ BMS_REQ_ID_NORMAL

#define BMS_REQ_ID_NORMAL   3

this is the ID that should be requested via CAN signal to go to NORMAL state (contactors closing procedure)

Type:
int
Default:
3
Range:
0<=x

◆ BMS_REQ_ID_STANDBY

#define BMS_REQ_ID_STANDBY   8

this is the ID that should be requested via CAN signal to go to STANDBY state (ready, but no contactors closed)

Type:
int
Default:
8
Range:
0<=x

◆ BMS_SELFAWAKECHECK_TIMEOUT

#define BMS_SELFAWAKECHECK_TIMEOUT   10 /* 100ms */
Type:
int
Default:
10
Range:
[5,15]
Unit:
10*ms

◆ BMS_SELFPOWERONCHECK_TIMEOUT

#define BMS_SELFPOWERONCHECK_TIMEOUT   10 /* 100ms */
Type:
int
Default:
10
Range:
[5,15]
Unit:
10*ms

◆ BMS_TEST_CELL_SOF_LIMITS

#define BMS_TEST_CELL_SOF_LIMITS   FALSE

checking if current is in SOF limits of cells. Set FALSE for test without checking against SOF derating.

Type:
select(2)
Default:
1