state.h 1016 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef _BMS_STATE_H__
  2. #define _BMS_STATE_H__
  3. #include "bsp/shark_bsp.h"
  4. #define BATT_USED_BY_NONE 0
  5. #define BATT_USED_BY_MOTOR_BIKE 1
  6. #define BATT_USED_BY_CHARGER_DOCKER 2
  7. #define HATT_USED_BY_CHARGER_BOX 3
  8. typedef struct{
  9. uint32_t hall_detect:1;
  10. uint32_t charger_detect :1;
  11. uint32_t aux_lock_detect:1;
  12. uint32_t pwr_good_detect:1;
  13. uint32_t dcdc_good_detect:1;
  14. uint32_t discharging :1;
  15. uint32_t charging: 1;
  16. uint32_t pack_balancing:1;
  17. uint32_t mosfet_charger:1; //charger MOS open/close, synced with 5238
  18. uint32_t mosfet_discharger:1; //discharger MOS open/close, synced with 5238
  19. uint32_t small_current_switch:1;
  20. float small_current;
  21. float load_current;//may be discharger or charger current
  22. int pcb_temp;
  23. int pack_temp[PACK_TEMPS_NUM];
  24. uint16_t cell_vol[CELLS_NUM]; //mV
  25. int used_by;//where this battery is used for: on motor, on charger docker, on charger box, NONE
  26. }bms_state_t;
  27. void bms_state_init(void);
  28. bms_state_t * bms_state_get(void);
  29. #endif /* _BMS_STATE_H__ */