|
@@ -31,8 +31,15 @@ typedef struct{
|
|
|
uint8_t cell_index_of_max_vol;
|
|
uint8_t cell_index_of_max_vol;
|
|
|
int used_by;//where this battery is used for: on motor, on charger docker, on charger box, NONE
|
|
int used_by;//where this battery is used for: on motor, on charger docker, on charger box, NONE
|
|
|
uint32_t user_request;
|
|
uint32_t user_request;
|
|
|
|
|
+ uint32_t work_mode;//正常模式,老化测试模式,pcba测试模测试,整机测试模式
|
|
|
}bms_state_t;
|
|
}bms_state_t;
|
|
|
|
|
|
|
|
|
|
+#define WORK_MODE_NORMAL 0 //正常模式
|
|
|
|
|
+#define WORK_MODE_AGING_TEST 1 //老化测试模式
|
|
|
|
|
+#define WORK_MODE_PCBA_TEST 2 //PCBA测试模式
|
|
|
|
|
+#define WORK_MODE_PACK_TEST 3 //整机测试模式
|
|
|
|
|
+#define WORK_MODE_CALIBRATE 4 //adc校准模式
|
|
|
|
|
+
|
|
|
#define USER_REQUEST_PENDING BIT(31) //是否有用户请求
|
|
#define USER_REQUEST_PENDING BIT(31) //是否有用户请求
|
|
|
#define USER_REQUEST_CHARGER BIT(0)
|
|
#define USER_REQUEST_CHARGER BIT(0)
|
|
|
#define USER_REQUEST_DISCHARGER BIT(1)
|
|
#define USER_REQUEST_DISCHARGER BIT(1)
|
|
@@ -69,6 +76,7 @@ typedef enum {
|
|
|
#define debounce_dec(dt) {if (dt.count > 0) dt.count--;}
|
|
#define debounce_dec(dt) {if (dt.count > 0) dt.count--;}
|
|
|
void bms_state_init(void);
|
|
void bms_state_init(void);
|
|
|
bms_state_t * bms_state_get(void);
|
|
bms_state_t * bms_state_get(void);
|
|
|
|
|
+int bms_work_mode_set(int mode, int start);
|
|
|
|
|
|
|
|
#endif /* _BMS_STATE_H__ */
|
|
#endif /* _BMS_STATE_H__ */
|
|
|
|
|
|