qingxie_bms.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #pragma once
  2. // #ifndef __QINGXIE_BMS_H
  3. // #define __QINGXIE_BMS_H
  4. #include "stm32f1xx_hal.h"
  5. #include "soft_can.h"
  6. #include "common.h"
  7. #define FMU_TO_QINGXIE_ID (0x066B)
  8. #define QINGXIE_BMS0_CAN_ID1 (0x166C)
  9. #define QINGXIE_BMS0_CAN_ID2 (0x166D)
  10. #define QINGXIE_BMS0_CAN_ID3 (0x166E)
  11. #define QINGXIE_BMS1_CAN_ID1 (0x266C)
  12. #define QINGXIE_BMS1_CAN_ID2 (0x266D)
  13. #define QINGXIE_BMS1_CAN_ID3 (0x266E)
  14. #define QINGXIE_BMS2_CAN_ID1 (0x366C)
  15. #define QINGXIE_BMS2_CAN_ID2 (0x366D)
  16. #define QINGXIE_BMS2_CAN_ID3 (0x366E)
  17. #define QINGXIE_BMS3_CAN_ID1 (0x466C)
  18. #define QINGXIE_BMS3_CAN_ID2 (0x466D)
  19. #define QINGXIE_BMS3_CAN_ID3 (0x466E)
  20. #pragma pack(1)
  21. typedef struct {
  22. uint16_t bat_voltage; /* 电池电压 0.01V */
  23. uint16_t servo_current; /* 电机电流 0.01A */
  24. uint16_t stack_voltage; /* 电堆电压 0.01V*/
  25. uint16_t servo_voltage; /* 电机电压 0.01V */
  26. uint16_t bat_refuel_current; /* 电池补能电流 0.01A */
  27. uint16_t gas_tank_pressure; /* 气罐压力 0.01Mpa */
  28. uint16_t pipe_pressure; /* 管压力 0.01Mpa */
  29. int16_t pcb_temp; /* PCB温度 0.01°C */
  30. int16_t stack_temp; /* 电堆温度 0.01°C */
  31. uint8_t work_status; /* 设备状态 */
  32. uint16_t falt_status; /* 故障状态 */
  33. uint8_t self_chek; /* 自检状态 */
  34. } qingxie_bms_status_t;
  35. #pragma pack(0)
  36. extern Connect_check _qx_bms_link[4];
  37. extern Connect_check _Aqx_bms_link;
  38. extern qingxie_bms_status_t _qx_bms[4];
  39. void QxBmsCanRecvHookFunction(uint32_t id, uint8_t data[], uint8_t len);
  40. void send_info_to_Qx(void);
  41. // #endif