#ifndef _BMS_STATE_H__ #define _BMS_STATE_H__ #include "bsp/shark_bsp.h" #define BATT_USED_BY_NONE 0 #define BATT_USED_BY_MOTOR_BIKE 1 #define BATT_USED_BY_CHARGER_DOCKER 2 #define HATT_USED_BY_CHARGER_BOX 3 typedef struct{ uint32_t hall_1_detect:1; uint32_t hall_2_detect:1; uint32_t discharging :1; uint32_t charging: 1; uint32_t charger_detect :1; uint32_t pack_balancing:1; uint32_t mosfet_charger:1; //charger MOS open/close, synced with 5238 uint32_t mosfet_discharger:1; //discharger MOS open/close, synced with 5238 uint32_t small_current_switch:1; float small_current; float load_current;//may be discharger or charger current int pcb_temp; int pack_temp[PACK_TEMPS_NUM]; uint16_t cell_vol[CELLS_NUM]; //mV int used_by;//where this battery is used for: on motor, on charger docker, on charger box, NONE }bms_state_t; void bms_state_init(void); bms_state_t * bms_state_get(void); #endif /* _BMS_STATE_H__ */