protocol_old.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #pragma once
  2. #include "libs/shark_libs.h"
  3. #pragma pack (push,1)
  4. typedef struct
  5. {
  6. //整个包大小
  7. uint8_t size;
  8. //命令设备
  9. uint8_t type;
  10. //协议类型
  11. uint8_t protocol;
  12. //命令类型
  13. uint8_t cmd;
  14. //命令校验
  15. uint16_t checksum;
  16. //命令处理调用
  17. uint8_t dir;
  18. //命令返回状态
  19. uint8_t bStatus;
  20. //命令数据部分
  21. uint8_t data[0];
  22. }comm_head_t;
  23. #pragma pack(pop)
  24. #pragma pack (push,1)
  25. typedef struct
  26. {
  27. uint8_t remain_miles;
  28. uint8_t capacity;
  29. uint8_t remain_charger_time;
  30. uint8_t is_chargering;
  31. uint32_t load_current;
  32. uint32_t pack_voltage;
  33. int8_t max_temp;
  34. uint16_t health_state;
  35. uint32_t balance_mask;
  36. uint8_t misc_status; //bit0:bond, bit1-2: mos, bit3-4, small-short,full, bit 5, bit6 calibarate
  37. uint8_t result;
  38. }comm_response_t;
  39. #pragma pack(pop)
  40. enum
  41. {
  42. OP_NONE,
  43. //OP_BOND,
  44. OP_BIN_LIAN,
  45. OP_WRITE_SN,
  46. OP_PAIR,
  47. OP_UPDATE_PAIR,
  48. OP_READ_INFO,
  49. OP_ALARM_TIMES,
  50. OP_CELL_VOL,//0x07
  51. OP_TEMP_OTHER,//0x08
  52. OP_OPEN_FET = 0x0B,
  53. OP_CLEAR_PAIR = OP_TEMP_OTHER + 1,
  54. OP_UPDATE_SOFTWARE_REQ = 0x0E,
  55. OP_UPDATE_SOFTWARE = 0x0F,
  56. OP_MAX
  57. };