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.
 
 

248 lines
3.2 KiB

#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#include <stdbool.h>
#include <stdint.h>
#include "main.h"
#ifdef __STM32F4xx_HAL_H
#include "stm32f4xx.h"
#endif
#ifdef HAL_CRYP_MODULE_ENABLED
#endif
#ifdef HAL_ADC_MODULE_ENABLED
#endif
#ifdef HAL_CAN_MODULE_ENABLED
#include "can.h"
#endif
#ifdef HAL_CRC_MODULE_ENABLED
#include "crc.h"
#endif
#ifdef HAL_CAN_LEGACY_MODULE_ENABLED
#endif
#ifdef HAL_DAC_MODULE_ENABLED
#endif
#ifdef HAL_DCMI_MODULE_ENABLED
#endif
#ifdef HAL_DMA2D_MODULE_ENABLED
#endif
#ifdef HAL_ETH_MODULE_ENABLED
#endif
#ifdef HAL_NAND_MODULE_ENABLED
#endif
#ifdef HAL_NOR_MODULE_ENABLED
#endif
#ifdef HAL_PCCARD_MODULE_ENABLED
#endif
#ifdef HAL_SRAM_MODULE_ENABLED
#endif
#ifdef HAL_SDRAM_MODULE_ENABLED
#endif
#ifdef HAL_HASH_MODULE_ENABLED
#endif
#ifdef HAL_I2C_MODULE_ENABLED
#endif
#ifdef HAL_I2S_MODULE_ENABLED
#endif
#ifdef HAL_IWDG_MODULE_ENABLED
#endif
#ifdef HAL_LTDC_MODULE_ENABLED
#endif
#ifdef HAL_RNG_MODULE_ENABLED
#endif
#ifdef HAL_RTC_MODULE_ENABLED
#endif
#ifdef HAL_SAI_MODULE_ENABLED
#endif
#ifdef HAL_SD_MODULE_ENABLED
#endif
#ifdef HAL_MMC_MODULE_ENABLED
#endif
#ifdef HAL_SPI_MODULE_ENABLED
#include "spi.h"
#endif
#ifdef HAL_TIM_MODULE_ENABLED
#include "tim.h"
#endif
#ifdef HAL_UART_MODULE_ENABLED
#include "usart.h"
#endif
#ifdef HAL_USART_MODULE_ENABLED
#include "usart.h"
#endif
#ifdef HAL_IRDA_MODULE_ENABLED
#endif
#ifdef HAL_SMARTCARD_MODULE_ENABLED
#endif
#ifdef HAL_SMBUS_MODULE_ENABLED
#endif
#ifdef HAL_WWDG_MODULE_ENABLED
#endif
#ifdef HAL_PCD_MODULE_ENABLED
#endif
#ifdef HAL_HCD_MODULE_ENABLED
#endif
#ifdef HAL_DSI_MODULE_ENABLED
#endif
#ifdef HAL_QSPI_MODULE_ENABLED
#endif
#ifdef HAL_QSPI_MODULE_ENABLED
#endif
#ifdef HAL_CEC_MODULE_ENABLED
#endif
#ifdef HAL_FMPI2C_MODULE_ENABLED
#endif
#ifdef HAL_FMPSMBUS_MODULE_ENABLED
#endif
#ifdef HAL_SPDIFRX_MODULE_ENABLED
#endif
#ifdef HAL_DFSDM_MODULE_ENABLED
#endif
#ifdef HAL_LPTIM_MODULE_ENABLED
#endif
#ifdef HAL_GPIO_MODULE_ENABLED
#include "gpio.h"
#endif
#ifdef HAL_EXTI_MODULE_ENABLED
#endif
#ifdef HAL_DMA_MODULE_ENABLED
#endif
#ifdef HAL_RCC_MODULE_ENABLED
#endif
#ifdef HAL_FLASH_MODULE_ENABLED
#endif
#ifdef HAL_PWR_MODULE_ENABLED
#endif
#ifdef HAL_CORTEX_MODULE_ENABLED
#endif
typedef enum {
PA0 = 0x10,
PA1,
PA2,
PA3,
PA4,
PA5,
PA6,
PA7,
PA8,
PA9,
PA10,
PA11,
PA12,
PA13,
PA14,
PA15,
PB0 = 0x20,
PB1,
PB2,
PB3,
PB4,
PB5,
PB6,
PB7,
PB8,
PB9,
PB10,
PB11,
PB12,
PB13,
PB14,
PB15,
PC0 = 0x30,
PC1,
PC2,
PC3,
PC4,
PC5,
PC6,
PC7,
PC8,
PC9,
PC10,
PC11,
PC12,
PC13,
PC14,
PC15,
PD0 = 0x40,
PD1,
PD2,
PD3,
PD4,
PD5,
PD6,
PD7,
PD8,
PD9,
PD10,
PD11,
PD12,
PD13,
PD14,
PD15,
PE0 = 0x50,
PE1,
PE2,
PE3,
PE4,
PE5,
PE6,
PE7,
PE8,
PE9,
PE10,
PE11,
PE12,
PE13,
PE14,
PE15,
PF0 = 0x60,
PF1,
PF2,
PF3,
PF4,
PF5,
PF6,
PF7,
PF8,
PF9,
PF10,
PF11,
PF12,
PF13,
PF14,
PF15,
PG0 = 0x70,
PG1,
PG2,
PG3,
PG4,
PG5,
PG6,
PG7,
PG8,
PG9,
PG10,
PG11,
PG12,
PG13,
PG14,
PG15,
} Pin_t;
// GPIO_TypeDef *gpio, uint16_t pin
GPIO_TypeDef* chip_get_gpio(Pin_t pin);
uint16_t chip_get_pinoff(Pin_t pin);
void chip_critical_enter(void);
void chip_critical_exit(void);
#ifdef __cplusplus
}
#endif