app_can.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #ifndef APP_CAN_H
  2. #define APP_CAN_H
  3. enum
  4. {
  5. OPERATE_GND_INPUT = 1,
  6. OPERATE_NOR_INPUT,
  7. OPERATE_UN_INPUT,
  8. OPERATE_UNIBA_INPUT,
  9. OPERATE_UNIBB_INPUT,
  10. OPERATE_POWERA_INPUT,
  11. OPERATE_POWERB_INPUT,
  12. OPERATE_UNIBA0_INPUT,
  13. OPERATE_UNIBB0_INPUT,
  14. OPERATE_READ_DATA,//0X0A
  15. OPERATE_POWER_DATA,
  16. OPERATE_ENERGY_DATA,
  17. OPERATE_DEEP_DATA,
  18. OPERATE_ERASE_RECORD_TIMES,// 0X0E
  19. OPERATE_RECORD_DATA,//0x0F
  20. OPERATE_LOW_SHAKE_DATA,//0x10
  21. OPERATE_MEASURE_LOW_VOL,//0x11
  22. OPERATE_TIMES_DATA,//0X12
  23. OPERATE_MAX
  24. };
  25. #define CAN_BMS_TX_BUF_MAX (CAN_TX_BUF_MAX >> 0)
  26. #define CAN_CTR_TX_BUF_MAX (CAN_TX_BUF_MAX >> 0)
  27. #define CAN_ADAS_TX_BUF_MAX (CAN_TX_BUF_MAX >> 2)
  28. #pragma pack (push,1)
  29. typedef struct
  30. {
  31. uint16_t key;
  32. uint8_t m_percent;
  33. uint8_t charge_flag;
  34. uint16_t work_status;
  35. uint8_t bms_status;
  36. }BMS_SELF_SEND_STATUS;
  37. #define RESOLUTION_DELTA_50M (50)
  38. #define RESOLUTION_DELTA_10M (10)
  39. typedef struct
  40. {
  41. uint16_t key;
  42. int16_t m_cur;
  43. uint16_t m_vol;
  44. }BMS_SELF_CUR_VOL_STATUS;
  45. #pragma pack(pop)
  46. void Can_Com_Initial(void);
  47. int8_t Handle_Can_Data(void);
  48. void Can_Test(void);
  49. int8_t Resend_can_bms_1_frame(void);
  50. int8_t Resend_can_bms_2_frame(void);
  51. int8_t Resend_can_ctr_frame(void);
  52. int8_t Resend_can_adas_frame(void);
  53. int8_t Timeout_Resend_can_bms_1_frame(void);
  54. int8_t Timeout_Resend_can_bms_2_frame(void);
  55. int8_t Timeout_Resend_can_ctr_frame(void);
  56. int8_t Timeout_Resend_can_adas_frame(void);
  57. void ADAS_Self_Send_Up(void);
  58. void Check_Can_Self_Send_Status(void);
  59. #endif