main.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. /* USER CODE BEGIN Header */
  2. /**
  3. ******************************************************************************
  4. * @file : main.h
  5. * @brief : Header for main.c file.
  6. * This file contains the common defines of the application.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * Copyright (c) 2024 STMicroelectronics.
  11. * All rights reserved.
  12. *
  13. * This software is licensed under terms that can be found in the LICENSE file
  14. * in the root directory of this software component.
  15. * If no LICENSE file comes with this software, it is provided AS-IS.
  16. *
  17. ******************************************************************************
  18. */
  19. /* USER CODE END Header */
  20. /* Define to prevent recursive inclusion -------------------------------------*/
  21. #ifndef __MAIN_H
  22. #define __MAIN_H
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. /* Includes ------------------------------------------------------------------*/
  27. #include "stm32f0xx_hal.h"
  28. /* Private includes ----------------------------------------------------------*/
  29. /* USER CODE BEGIN Includes */
  30. /* USER CODE END Includes */
  31. /* Exported types ------------------------------------------------------------*/
  32. /* USER CODE BEGIN ET */
  33. /* USER CODE END ET */
  34. /* Exported constants --------------------------------------------------------*/
  35. /* USER CODE BEGIN EC */
  36. /* USER CODE END EC */
  37. /* Exported macro ------------------------------------------------------------*/
  38. /* USER CODE BEGIN EM */
  39. /* USER CODE END EM */
  40. /* Exported functions prototypes ---------------------------------------------*/
  41. void Error_Handler(void);
  42. /* USER CODE BEGIN EFP */
  43. /* USER CODE END EFP */
  44. /* Private defines -----------------------------------------------------------*/
  45. #define EMEGENCY_KEY_Pin GPIO_PIN_0
  46. #define EMEGENCY_KEY_GPIO_Port GPIOA
  47. #define CE_Pin GPIO_PIN_4
  48. #define CE_GPIO_Port GPIOA
  49. #define RESET_Pin GPIO_PIN_5
  50. #define RESET_GPIO_Port GPIOA
  51. #define BUZZ_Pin GPIO_PIN_6
  52. #define BUZZ_GPIO_Port GPIOA
  53. #define UNPIN_KEY_Pin GPIO_PIN_7
  54. #define UNPIN_KEY_GPIO_Port GPIOA
  55. #define UNPIN_KEY_EXTI_IRQn EXTI4_15_IRQn
  56. #define HADLE_KEY_Pin GPIO_PIN_0
  57. #define HADLE_KEY_GPIO_Port GPIOB
  58. #define HADLE_KEY_EXTI_IRQn EXTI0_1_IRQn
  59. #define CHANGE_KEY_Pin GPIO_PIN_1
  60. #define CHANGE_KEY_GPIO_Port GPIOB
  61. #define CHANGE_KEY_EXTI_IRQn EXTI0_1_IRQn
  62. #define RF_PWR_Pin GPIO_PIN_8
  63. #define RF_PWR_GPIO_Port GPIOA
  64. #define CANCEL_KEY_Pin GPIO_PIN_9
  65. #define CANCEL_KEY_GPIO_Port GPIOA
  66. #define CANCEL_KEY_EXTI_IRQn EXTI4_15_IRQn
  67. #define CALL_KEY_Pin GPIO_PIN_10
  68. #define CALL_KEY_GPIO_Port GPIOA
  69. #define CALL_KEY_EXTI_IRQn EXTI4_15_IRQn
  70. #define NURSE_KEY_Pin GPIO_PIN_11
  71. #define NURSE_KEY_GPIO_Port GPIOA
  72. #define NURSE_KEY_EXTI_IRQn EXTI4_15_IRQn
  73. #define REINFORCE_KEY_Pin GPIO_PIN_12
  74. #define REINFORCE_KEY_GPIO_Port GPIOA
  75. #define REINFORCE_KEY_EXTI_IRQn EXTI4_15_IRQn
  76. #define KEYEVENT_CANCEL_Pin GPIO_PIN_15
  77. #define KEYEVENT_CANCEL_GPIO_Port GPIOA
  78. #define GLED1_Pin GPIO_PIN_3
  79. #define GLED1_GPIO_Port GPIOB
  80. #define RLED2_Pin GPIO_PIN_4
  81. #define RLED2_GPIO_Port GPIOB
  82. #define STATE_RESET_pin GPIO_PIN_15 //״̬¼Ç¼¸´Î»
  83. #define STATE_RESET_GPIO_Port GPIOA
  84. /* USER CODE BEGIN Private defines */
  85. #define BEEP_ON() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_SET)
  86. #define BEEP_OFF() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_RESET)
  87. #define LED_GREEN_ON() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_RESET)
  88. #define LED_GREEN_OFF() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_SET)
  89. //#define LED_RED_ON() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET)
  90. //#define LED_RED_OFF() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET)
  91. //#define LED_GREEN_ON() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET)
  92. //#define LED_GREEN_OFF() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET)
  93. #define LED_RED_ON() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_RESET)
  94. #define LED_RED_OFF() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_SET)
  95. #define RF_PWR_ON() HAL_GPIO_WritePin(RF_PWR_GPIO_Port, RF_PWR_Pin, GPIO_PIN_SET)
  96. #define RF_PWR_OFF() HAL_GPIO_WritePin(RF_PWR_GPIO_Port, RF_PWR_Pin, GPIO_PIN_RESET)
  97. #define LED_RED_FLUSH_COUNT 5
  98. #define LED_GREEN_FLUSH_COUNT 5
  99. #define LED_FLUSH_TIME_DELAY 800
  100. #define CE_LEVLE_H() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_SET)
  101. #define CE_LEVLE_L() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_RESET)
  102. #define RST_LEVLE_H() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET)
  103. #define RST_LEVLE_L() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET)
  104. #define STATE_REST_H() HAL_GPIO_WritePin(STATE_RESET_GPIO_Port, STATE_RESET_pin, GPIO_PIN_SET)
  105. #define STATE_REST_L() HAL_GPIO_WritePin(STATE_RESET_GPIO_Port, STATE_RESET_pin, GPIO_PIN_RESET)
  106. enum KEY_TYPE {
  107. VALUE_UNKOWN,
  108. VALUE_CALL, //CALL EVENT ON IU
  109. VALUE_CANCEL,
  110. VALUE_NURSING,
  111. VALUE_CB, //REINFORCE
  112. VALUE_UNPIN, //take the needle away, HANDLE + c_d key
  113. VALUE_C_D, //change medica
  114. VALUE_SOS,
  115. VALUE_HANDLE_CALL,//CALL EVENT BY HANDLE
  116. VALUE_CANCEL_TO=9,
  117. VALUE_BAT_LOW=0x1C,
  118. VALUE_ONLINE_FB=0x18,
  119. VALUE_MAX
  120. };
  121. #define KEY_EVENT_0 0
  122. #define KEY_EVENT_1 1
  123. #define KEY_EVENT_3 2
  124. #define RX_RE_SEND_CNT 3
  125. typedef unsigned char U08; /* unsigned 8 bit integer */
  126. typedef unsigned short U16; /* unsigned 16 bit integer */
  127. typedef unsigned int U32; /* unsigned 32 bit integer */
  128. extern const U08 DeviceMacInfo[];
  129. typedef struct {
  130. U16 FJKeymac;
  131. } T_ARM_CFG;
  132. extern T_ARM_CFG gtArm;
  133. typedef struct
  134. {
  135. UART_HandleTypeDef *uart;
  136. DMA_HandleTypeDef *dma;
  137. uint8_t *rxbuf;
  138. uint16_t rxtotal;
  139. uint8_t rxcnt;
  140. uint8_t rxoff;
  141. }uart_comm;
  142. /* USER CODE END Private defines */
  143. #ifdef __cplusplus
  144. }
  145. #endif
  146. #endif /* __MAIN_H */