You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

247 lines
3.2 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #pragma once
  2. #ifdef __cplusplus
  3. extern "C" {
  4. #endif
  5. #include <stdbool.h>
  6. #include <stdint.h>
  7. #include "main.h"
  8. #ifdef __STM32F4xx_HAL_H
  9. #include "stm32f4xx.h"
  10. #endif
  11. #ifdef HAL_CRYP_MODULE_ENABLED
  12. #endif
  13. #ifdef HAL_ADC_MODULE_ENABLED
  14. #endif
  15. #ifdef HAL_CAN_MODULE_ENABLED
  16. #include "can.h"
  17. #endif
  18. #ifdef HAL_CRC_MODULE_ENABLED
  19. #include "crc.h"
  20. #endif
  21. #ifdef HAL_CAN_LEGACY_MODULE_ENABLED
  22. #endif
  23. #ifdef HAL_DAC_MODULE_ENABLED
  24. #endif
  25. #ifdef HAL_DCMI_MODULE_ENABLED
  26. #endif
  27. #ifdef HAL_DMA2D_MODULE_ENABLED
  28. #endif
  29. #ifdef HAL_ETH_MODULE_ENABLED
  30. #endif
  31. #ifdef HAL_NAND_MODULE_ENABLED
  32. #endif
  33. #ifdef HAL_NOR_MODULE_ENABLED
  34. #endif
  35. #ifdef HAL_PCCARD_MODULE_ENABLED
  36. #endif
  37. #ifdef HAL_SRAM_MODULE_ENABLED
  38. #endif
  39. #ifdef HAL_SDRAM_MODULE_ENABLED
  40. #endif
  41. #ifdef HAL_HASH_MODULE_ENABLED
  42. #endif
  43. #ifdef HAL_I2C_MODULE_ENABLED
  44. #endif
  45. #ifdef HAL_I2S_MODULE_ENABLED
  46. #endif
  47. #ifdef HAL_IWDG_MODULE_ENABLED
  48. #endif
  49. #ifdef HAL_LTDC_MODULE_ENABLED
  50. #endif
  51. #ifdef HAL_RNG_MODULE_ENABLED
  52. #endif
  53. #ifdef HAL_RTC_MODULE_ENABLED
  54. #endif
  55. #ifdef HAL_SAI_MODULE_ENABLED
  56. #endif
  57. #ifdef HAL_SD_MODULE_ENABLED
  58. #endif
  59. #ifdef HAL_MMC_MODULE_ENABLED
  60. #endif
  61. #ifdef HAL_SPI_MODULE_ENABLED
  62. #include "spi.h"
  63. #endif
  64. #ifdef HAL_TIM_MODULE_ENABLED
  65. #include "tim.h"
  66. #endif
  67. #ifdef HAL_UART_MODULE_ENABLED
  68. #include "usart.h"
  69. #endif
  70. #ifdef HAL_USART_MODULE_ENABLED
  71. #include "usart.h"
  72. #endif
  73. #ifdef HAL_IRDA_MODULE_ENABLED
  74. #endif
  75. #ifdef HAL_SMARTCARD_MODULE_ENABLED
  76. #endif
  77. #ifdef HAL_SMBUS_MODULE_ENABLED
  78. #endif
  79. #ifdef HAL_WWDG_MODULE_ENABLED
  80. #endif
  81. #ifdef HAL_PCD_MODULE_ENABLED
  82. #endif
  83. #ifdef HAL_HCD_MODULE_ENABLED
  84. #endif
  85. #ifdef HAL_DSI_MODULE_ENABLED
  86. #endif
  87. #ifdef HAL_QSPI_MODULE_ENABLED
  88. #endif
  89. #ifdef HAL_QSPI_MODULE_ENABLED
  90. #endif
  91. #ifdef HAL_CEC_MODULE_ENABLED
  92. #endif
  93. #ifdef HAL_FMPI2C_MODULE_ENABLED
  94. #endif
  95. #ifdef HAL_FMPSMBUS_MODULE_ENABLED
  96. #endif
  97. #ifdef HAL_SPDIFRX_MODULE_ENABLED
  98. #endif
  99. #ifdef HAL_DFSDM_MODULE_ENABLED
  100. #endif
  101. #ifdef HAL_LPTIM_MODULE_ENABLED
  102. #endif
  103. #ifdef HAL_GPIO_MODULE_ENABLED
  104. #include "gpio.h"
  105. #endif
  106. #ifdef HAL_EXTI_MODULE_ENABLED
  107. #endif
  108. #ifdef HAL_DMA_MODULE_ENABLED
  109. #endif
  110. #ifdef HAL_RCC_MODULE_ENABLED
  111. #endif
  112. #ifdef HAL_FLASH_MODULE_ENABLED
  113. #endif
  114. #ifdef HAL_PWR_MODULE_ENABLED
  115. #endif
  116. #ifdef HAL_CORTEX_MODULE_ENABLED
  117. #endif
  118. typedef enum {
  119. PA0 = 0x10,
  120. PA1,
  121. PA2,
  122. PA3,
  123. PA4,
  124. PA5,
  125. PA6,
  126. PA7,
  127. PA8,
  128. PA9,
  129. PA10,
  130. PA11,
  131. PA12,
  132. PA13,
  133. PA14,
  134. PA15,
  135. PB0 = 0x20,
  136. PB1,
  137. PB2,
  138. PB3,
  139. PB4,
  140. PB5,
  141. PB6,
  142. PB7,
  143. PB8,
  144. PB9,
  145. PB10,
  146. PB11,
  147. PB12,
  148. PB13,
  149. PB14,
  150. PB15,
  151. PC0 = 0x30,
  152. PC1,
  153. PC2,
  154. PC3,
  155. PC4,
  156. PC5,
  157. PC6,
  158. PC7,
  159. PC8,
  160. PC9,
  161. PC10,
  162. PC11,
  163. PC12,
  164. PC13,
  165. PC14,
  166. PC15,
  167. PD0 = 0x40,
  168. PD1,
  169. PD2,
  170. PD3,
  171. PD4,
  172. PD5,
  173. PD6,
  174. PD7,
  175. PD8,
  176. PD9,
  177. PD10,
  178. PD11,
  179. PD12,
  180. PD13,
  181. PD14,
  182. PD15,
  183. PE0 = 0x50,
  184. PE1,
  185. PE2,
  186. PE3,
  187. PE4,
  188. PE5,
  189. PE6,
  190. PE7,
  191. PE8,
  192. PE9,
  193. PE10,
  194. PE11,
  195. PE12,
  196. PE13,
  197. PE14,
  198. PE15,
  199. PF0 = 0x60,
  200. PF1,
  201. PF2,
  202. PF3,
  203. PF4,
  204. PF5,
  205. PF6,
  206. PF7,
  207. PF8,
  208. PF9,
  209. PF10,
  210. PF11,
  211. PF12,
  212. PF13,
  213. PF14,
  214. PF15,
  215. PG0 = 0x70,
  216. PG1,
  217. PG2,
  218. PG3,
  219. PG4,
  220. PG5,
  221. PG6,
  222. PG7,
  223. PG8,
  224. PG9,
  225. PG10,
  226. PG11,
  227. PG12,
  228. PG13,
  229. PG14,
  230. PG15,
  231. } Pin_t;
  232. // GPIO_TypeDef *gpio, uint16_t pin
  233. GPIO_TypeDef* chip_get_gpio(Pin_t pin);
  234. uint16_t chip_get_pinoff(Pin_t pin);
  235. void chip_critical_enter(void);
  236. void chip_critical_exit(void);
  237. #ifdef __cplusplus
  238. }
  239. #endif