app_end_ctr.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #ifndef APP_END_CTR_H
  2. #define APP_END_CTR_H
  3. #define LEFT_LIGHT (0x01)
  4. #define RIGHT_LIGHT (0x02)
  5. #define LIANG_TIME (200)
  6. #define ZONG_TIME (900)
  7. #define SHIELD_XL_TIME (400)
  8. //END CTR
  9. #define KEY_END_CTR_COMMON (0x4200)
  10. #define KEY_END_CTR_SWI_BAT (0x4201)
  11. #define KEY_END_CTR_BAT_INT_EN (0x4202)
  12. #define KEY_END_CTR_BAT_INT_PRE (0x4203)
  13. #define KEY_END_CTR_SOFT_WARE (0x4204)
  14. #define KEY_END_CTR_SN (0x4205)
  15. #define KEY_END_CTR_WRITER_SN (0x4206)
  16. #define KEY_END_CTR_BAT_UPDATE_REQ (0x4207)
  17. #define KEY_END_CTR_BAT_UPDATE (0x4208)
  18. #define KEY_END_CTR_BAT_UPDATE_EXIT (0x4209)
  19. #define KEY_END_CTR_DAN_CI_LI_CHENG (0x420A)
  20. #define KEY_END_CTR_ZHEN_JI_CE_SHI (0x420B)
  21. #define KEY_END_CTR_SELF_UP (0x4280)
  22. #define KEY_END_CTR_QD (0x4301)
  23. #define KEY_END_CTR_LOCK (0x4302)
  24. #define KEY_END_CTR_ACC12 (0x4306)
  25. #define KEY_END_CTR_ACC12_TEST (0x4307)
  26. #define KEY_END_CTR_ACC12_TEST_1 (0x4308)
  27. #define KEY_END_CTR_L_R_LIGHT (0x4303)
  28. #define KEY_END_CTR_CARPET_LIGHT (0x4305)
  29. #define KEY_END_CTR_TAIL_LIGHT (0x4318)
  30. #define KEY_END_CTR_HEART_TICK (0x4800)
  31. #pragma pack (push,1)
  32. typedef struct
  33. {
  34. uint16_t key;
  35. uint8_t op_result;
  36. uint8_t qd_sta:1;
  37. uint8_t lock_sta:1;
  38. uint8_t xl_sta:1;
  39. uint8_t side_sta:1;
  40. uint8_t sit_sta:1;
  41. uint8_t carpet_sta:1;
  42. uint8_t tail_sta:1;
  43. uint8_t soak_sta:1;
  44. uint8_t acc12_sta:1;
  45. uint8_t charger_in:1;
  46. uint8_t res4_sta:6;
  47. int8_t moto_temp;
  48. int8_t ps100_temp;
  49. uint8_t bms_1_status;
  50. uint8_t bms_2_status;
  51. uint8_t using_bms_mode;
  52. uint16_t nhb;
  53. }END_CTR_SELF_SEND_STATUS;
  54. #pragma pack(pop)
  55. extern END_CTR_SELF_SEND_STATUS end_ctr_self_ss;
  56. extern END_CTR_SELF_SEND_STATUS end_ctr_self_ss_new;
  57. extern END_CTR_SELF_SEND_STATUS end_ctr_rsp;
  58. extern DELAY_COMMON end_ctr_self_stimeout;
  59. int8_t Handle_Can_Ctr_CMD(CAN_FRAME*can_ctr_frame);
  60. int8_t Rsp_Can_Ctr_CMD(CAN_FRAME*can_ctr_frame);
  61. void Can_End_Ctr_Self_Send_Check(CAN_FRAME*can_ctr_frame);
  62. void End_Ctr_Initial(void);
  63. void Check_End_Ctr_Status(void);
  64. void End_Ctr_Self_Send_Timeout(void);
  65. void ACC12_OVER_Loader_Timeout(void);
  66. void ACC12_OVER_Loader_Interrupt(void);
  67. void Shield_XL_Timeout(void);
  68. #endif