app_can.h 1.7 KB

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