app_end_ctr.h 2.3 KB

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