functional_safety_key.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef __FUNCTIONAL_SAFETY_KEY_H
  2. #define __FUNCTIONAL_SAFETY_KEY_H
  3. #include "stm32f1xx_hal.h"
  4. #define FAILURE_TIME 2000
  5. typedef union STATUS
  6. {
  7. struct
  8. {
  9. uint8_t Power :1;//Power
  10. uint8_t Walk :1;//Walk
  11. uint8_t Add :1;//+
  12. uint8_t Dec :1;//-
  13. uint8_t sync :1;//sync
  14. uint8_t RS2 :1;
  15. uint8_t RS3 :1;
  16. uint8_t RS4 :1;
  17. }Status_Bit;
  18. uint8_t Status;
  19. }Key_Status_Struct_t;
  20. typedef struct
  21. {
  22. uint8_t power_long_press; //Power key long press flag
  23. uint8_t walk_long_press; //Walk key long press flag
  24. uint8_t set_long_press; //Set key long press flag
  25. uint8_t light_long_press; //Light key long press flag
  26. uint8_t add_long_press; //Add key long press flag
  27. uint8_t dec_long_press; //Dec key long press flag
  28. }Key_Flag_Struct_t;
  29. typedef enum
  30. {
  31. HANDSHAKE_NO = 0U,
  32. HANDSHAKE_YES,
  33. UPDATE_ING,
  34. UPDATE_FINISH,
  35. }PBU_TE_STATUS;
  36. extern PBU_TE_STATUS PBU_TE_Status;
  37. extern Key_Status_Struct_t Key_Recv_Status;
  38. extern Key_Status_Struct_t Key_Scan_Status;
  39. extern void Scan_Key(void);
  40. extern void SendKeyStatusToTE(void);
  41. extern void SendMotorEnableToTE(void);
  42. extern void SendMotorDisableToTE(void);
  43. extern void Error_Key_Process(void);
  44. extern void Scan_Key_ADC_Error(void);
  45. extern void Power_Mos_Check(void);
  46. extern void Vin_test_Check(void);
  47. #endif //__FUNCTIONAL_SAFETY_KEY_H