ConfigMacros.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. #ifndef __CONFIGMACROS_H
  2. #define __CONFIGMACROS_H
  3. #include "oled.h"
  4. #define open16 11 //开字
  5. #define close16 12 //关字
  6. #define resetDevAddr ((uint32_t)0x8075000)
  7. #define DevstatusAddr ((uint32_t)0x8075800)
  8. #define Sn1Addr ((uint32_t)0x8076000)
  9. #define Sn2Addr ((uint32_t)0x8076800)
  10. #define Sn3Addr ((uint32_t)0x8077700)
  11. #define Sn4Addr ((uint32_t)0x8077800)
  12. #define Sn1StatusAddr ((uint32_t)0x8078000)
  13. #define Sn2StatusAddr ((uint32_t)0x8078800)
  14. #define Sn3StatusAddr ((uint32_t)0x8079000)
  15. #define Sn4StatusAddr ((uint32_t)0x8079800)
  16. #define TIM_Start(htim) HAL_TIM_Base_Start_IT(htim)
  17. #define LED_TOGGLE(pin) HAL_GPIO_TogglePin(GPIOC, (pin)) //运行灯
  18. #define RXNE_UART(huart) __HAL_UART_ENABLE_IT(huart, UART_IT_RXNE)
  19. #define PRINT_MENU_STATUS(key) printf("--->%s pressed\t%d %d %x %d\n", key, menu.current, menu.up, (menu.next&0xf), menu.enter)
  20. #define HELLO(message) printf("%s\r\n", message)
  21. #define PRINT_UUID(message) printf("#%s符合设置项\n",message)
  22. #define PRINT_NUUID(message) printf("%s不符合\n",message)
  23. #define PRINT_BTRESP(message) printf("%s错误\n",message)
  24. /* WDI */
  25. #define TOGGLE_WDI_PIN(htim_instance) \
  26. do { \
  27. if ((htim_instance)->Instance == TIM2) { \
  28. HAL_GPIO_TogglePin(WDI_GPIO_Port, WDI_Pin); \
  29. } \
  30. } while(0)
  31. /* OLED显示 */
  32. #define OLED_DISPLAY(color, display) do { \
  33. OLED_Init(); \
  34. OLED_ColorTurn(color); \
  35. OLED_DisplayTurn(display); \
  36. } while(0)
  37. /* U1-U4 DMA */
  38. #define IDLE_DMA_UART(huart) \
  39. do {\
  40. __HAL_UART_ENABLE_IT(huart, UART_IT_IDLE); \
  41. HAL_UART_Receive_DMA(huart, recvBuff, 2048); \
  42. } while(0)
  43. /* 4G参数初始化*/
  44. #define INIT_4G_FRAME() \
  45. do { \
  46. printf("\t###02\t4G_init%d...\r\n",resetcount_4g); \
  47. } while (0)
  48. #define SET_MENU_STATUS(current_value, up_value, next_value, enter_value) \
  49. do { \
  50. menu.current = current_value; \
  51. menu.up = up_value; \
  52. menu.next = next_value; \
  53. menu.enter = enter_value; \
  54. refresh = true;\
  55. } while(0)
  56. typedef struct
  57. {
  58. uint8_t current; //当前状态索引号
  59. uint8_t up; //向下一个
  60. uint8_t next; //向下一个
  61. uint8_t enter; //确定
  62. uint32_t home;
  63. char* SN1;
  64. char* SN1F;
  65. char* SN1D;
  66. char* SN1name;
  67. char* SN2;
  68. char* SN2F;
  69. char* SN2D;
  70. char* SN2name;
  71. char* SN3;
  72. char* SN3F;
  73. char* SN3D;
  74. char* SN3name;
  75. char* SN4;
  76. char* SN4F;
  77. char* SN4D;
  78. char* SN4name;
  79. uint8_t PreNext;
  80. } Menu_table;
  81. struct keys
  82. {
  83. unsigned char judge_sta; //判断按键按键按下的动作到了第几步
  84. bool key_sta; //如果按键被按下,为0
  85. bool key_flag; //如果确认被按下,为1
  86. bool long_flag; //如果确认被按下,为1
  87. uint8_t key_time;
  88. };
  89. typedef struct
  90. {
  91. uint32_t serialNum1; //4字节流水号
  92. uint32_t serialNum2; //4字节流水号
  93. uint32_t serialNum3; //4字节流水号
  94. uint32_t serialNum4; //4字节流水号
  95. uint32_t userId; //4字节userid
  96. uint32_t Ntime; //4字节时间
  97. uint8_t Autoseal; //1字节自动施封
  98. } BtFrame;
  99. typedef enum {
  100. BtStepDefault = 0,
  101. UUIDS = 1,
  102. UUIDN = 2,
  103. UUIDW = 3,
  104. } BtStep;
  105. typedef enum {
  106. Default = 0,
  107. InProgress = 1,
  108. Abnormal_motor = 2,
  109. Starting = 3 ,
  110. Nosnset = 4 ,
  111. Carfail = 5
  112. } TipsFlag;
  113. #endif /*__CONFIGMACROS_H*/