diff options
| author | Hierophect <hierophect@gmail.com> | 2019-08-07 18:12:13 -0400 |
|---|---|---|
| committer | Hierophect <hierophect@gmail.com> | 2019-08-07 18:12:13 -0400 |
| commit | c375a5d37f8fa3016b0a328b3efaa165094e6387 (patch) | |
| tree | d6cf8fe1d771a5be849450fa1c56b648e0c3a9f8 | |
| parent | 2489c09b4449b31844ba777cee96503cec485f16 (diff) | |
Add pin and module support for F411
| -rwxr-xr-x | ports/stm32f4/Makefile | 12 | ||||
| -rw-r--r-- | ports/stm32f4/boards/stm32f411ve_discovery/mpconfigboard.mk | 1 | ||||
| -rw-r--r-- | ports/stm32f4/boards/stm32f411ve_discovery/pins.c | 127 | ||||
| -rw-r--r-- | ports/stm32f4/boards/stm32f411ve_discovery/stm32f4xx_hal_msp.c | 2 | ||||
| -rw-r--r-- | ports/stm32f4/boards/stm32f412zg_discovery/mpconfigboard.mk | 1 | ||||
| -rw-r--r-- | ports/stm32f4/common-hal/busio/I2C.c | 2 | ||||
| -rw-r--r-- | ports/stm32f4/common-hal/busio/UART.c | 3 | ||||
| -rw-r--r-- | ports/stm32f4/common-hal/microcontroller/Pin.c | 9 | ||||
| -rw-r--r-- | ports/stm32f4/common-hal/microcontroller/__init__.c | 12 | ||||
| -rw-r--r-- | ports/stm32f4/mpconfigport.mk | 4 | ||||
| -rw-r--r-- | ports/stm32f4/peripherals/stm32f4/pins.h | 4 | ||||
| -rw-r--r-- | ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.c | 95 | ||||
| -rw-r--r-- | ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.h | 99 | ||||
| -rw-r--r-- | ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.c | 2 | ||||
| -rw-r--r-- | ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.h | 2 |
15 files changed, 289 insertions, 86 deletions
diff --git a/ports/stm32f4/Makefile b/ports/stm32f4/Makefile index 83ee59bf4..15c8ce1d7 100755 --- a/ports/stm32f4/Makefile +++ b/ports/stm32f4/Makefile @@ -98,10 +98,13 @@ endif ifeq ($(MCU_SUB_VARIANT), stm32f411xe) C_DEFS = \ + -DUSE_FULL_LL_DRIVER \ -DUSE_HAL_DRIVER \ -DSTM32F411xE endif +C_DEFS += -DMCU_PACKAGE=$(MCU_PACKAGE) + #TODO: Add ASM Flags? -Werror CFLAGS += $(INC) -Wall -std=gnu11 -nostdlib $(BASE_CFLAGS) $(C_DEFS) $(CFLAGS_MOD) $(COPT) @@ -184,6 +187,8 @@ SRC_C += \ mphalport.c \ tick.c \ boards/$(BOARD)/board.c \ + boards/$(BOARD)/pins.c \ + peripherals/stm32f4/$(MCU_SUB_VARIANT)/pins.c \ peripherals/stm32f4/$(MCU_SUB_VARIANT)/clocks.c \ peripherals/stm32f4/$(MCU_SUB_VARIANT)/gpio.c \ lib/libc/string0.c \ @@ -198,18 +203,11 @@ SRC_C += \ lib/utils/stdout_helpers.c \ lib/utils/sys_stdio_mphal.c \ supervisor/shared/memory.c - - #boards/$(BOARD)/pins.c \ ifneq ($(USB),FALSE) SRC_C += lib/tinyusb/src/portable/st/stm32f4/dcd_stm32f4.c endif -ifeq ($(MCU_SUB_VARIANT), stm32f412zx) -SRC_C += peripherals/stm32f4/stm32f412zx/pins.c -SRC_C += boards/$(BOARD)/pins.c -endif - SRC_S = \ supervisor/cpu.s \ boards/startup_$(MCU_SUB_VARIANT).s diff --git a/ports/stm32f4/boards/stm32f411ve_discovery/mpconfigboard.mk b/ports/stm32f4/boards/stm32f411ve_discovery/mpconfigboard.mk index e0b4babf9..7c4e3be3a 100644 --- a/ports/stm32f4/boards/stm32f411ve_discovery/mpconfigboard.mk +++ b/ports/stm32f4/boards/stm32f411ve_discovery/mpconfigboard.mk @@ -6,6 +6,7 @@ USB_MANUFACTURER = "Adafruit Industries LLC" MCU_SERIES = m4 MCU_VARIANT = stm32f4 MCU_SUB_VARIANT = stm32f411xe +MCU_PACKAGE = 100 CMSIS_MCU = STM32F411xE LD_FILE = boards/STM32F411VETx_FLASH.ld TEXT0_ADDR = 0x08000000 diff --git a/ports/stm32f4/boards/stm32f411ve_discovery/pins.c b/ports/stm32f4/boards/stm32f411ve_discovery/pins.c index e3a4b5ed6..8a56ea94e 100644 --- a/ports/stm32f4/boards/stm32f411ve_discovery/pins.c +++ b/ports/stm32f4/boards/stm32f411ve_discovery/pins.c @@ -1,19 +1,12 @@ #include "shared-bindings/board/__init__.h" STATIC const mp_rom_map_elem_t board_module_globals_table[] = { - { MP_ROM_QSTR(MP_QSTR_PE02), MP_ROM_PTR(&pin_PE02) }, - { MP_ROM_QSTR(MP_QSTR_PE03), MP_ROM_PTR(&pin_PE03) }, - { MP_ROM_QSTR(MP_QSTR_PE04), MP_ROM_PTR(&pin_PE04) }, - { MP_ROM_QSTR(MP_QSTR_PE05), MP_ROM_PTR(&pin_PE05) }, - { MP_ROM_QSTR(MP_QSTR_PE06), MP_ROM_PTR(&pin_PE06) }, - { MP_ROM_QSTR(MP_QSTR_PC13), MP_ROM_PTR(&pin_PC13) }, - { MP_ROM_QSTR(MP_QSTR_PF02), MP_ROM_PTR(&pin_PF02) }, - { MP_ROM_QSTR(MP_QSTR_PF03), MP_ROM_PTR(&pin_PF03) }, - { MP_ROM_QSTR(MP_QSTR_PF10), MP_ROM_PTR(&pin_PF10) }, + //P1 { MP_ROM_QSTR(MP_QSTR_PC00), MP_ROM_PTR(&pin_PC00) }, { MP_ROM_QSTR(MP_QSTR_PC01), MP_ROM_PTR(&pin_PC01) }, { MP_ROM_QSTR(MP_QSTR_PC02), MP_ROM_PTR(&pin_PC02) }, { MP_ROM_QSTR(MP_QSTR_PC03), MP_ROM_PTR(&pin_PC03) }, + { MP_ROM_QSTR(MP_QSTR_PA00), MP_ROM_PTR(&pin_PA00) }, { MP_ROM_QSTR(MP_QSTR_PA01), MP_ROM_PTR(&pin_PA01) }, { MP_ROM_QSTR(MP_QSTR_PA02), MP_ROM_PTR(&pin_PA02) }, { MP_ROM_QSTR(MP_QSTR_PA03), MP_ROM_PTR(&pin_PA03) }, @@ -25,66 +18,76 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PC05), MP_ROM_PTR(&pin_PC05) }, { MP_ROM_QSTR(MP_QSTR_PB00), MP_ROM_PTR(&pin_PB00) }, { MP_ROM_QSTR(MP_QSTR_PB01), MP_ROM_PTR(&pin_PB01) }, - { MP_ROM_QSTR(MP_QSTR_PF11), MP_ROM_PTR(&pin_PF11) }, - { MP_ROM_QSTR(MP_QSTR_PF13), MP_ROM_PTR(&pin_PF13) }, + { MP_ROM_QSTR(MP_QSTR_PB02), MP_ROM_PTR(&pin_PB02) }, + { MP_ROM_QSTR(MP_QSTR_PE07), MP_ROM_PTR(&pin_PE07) }, + { MP_ROM_QSTR(MP_QSTR_PE08), MP_ROM_PTR(&pin_PE08) }, + { MP_ROM_QSTR(MP_QSTR_PE09), MP_ROM_PTR(&pin_PE09) }, + { MP_ROM_QSTR(MP_QSTR_PE10), MP_ROM_PTR(&pin_PE10) }, + { MP_ROM_QSTR(MP_QSTR_PE11), MP_ROM_PTR(&pin_PE11) }, + { MP_ROM_QSTR(MP_QSTR_PE12), MP_ROM_PTR(&pin_PE12) }, + { MP_ROM_QSTR(MP_QSTR_PE13), MP_ROM_PTR(&pin_PE13) }, + { MP_ROM_QSTR(MP_QSTR_PE14), MP_ROM_PTR(&pin_PE14) }, + { MP_ROM_QSTR(MP_QSTR_PE15), MP_ROM_PTR(&pin_PE15) }, { MP_ROM_QSTR(MP_QSTR_PB10), MP_ROM_PTR(&pin_PB10) }, - { MP_ROM_QSTR(MP_QSTR_PB11), MP_ROM_PTR(&pin_PB11) }, { MP_ROM_QSTR(MP_QSTR_PB12), MP_ROM_PTR(&pin_PB12) }, { MP_ROM_QSTR(MP_QSTR_PB13), MP_ROM_PTR(&pin_PB13) }, { MP_ROM_QSTR(MP_QSTR_PB14), MP_ROM_PTR(&pin_PB14) }, { MP_ROM_QSTR(MP_QSTR_PB15), MP_ROM_PTR(&pin_PB15) }, + { MP_ROM_QSTR(MP_QSTR_PD08), MP_ROM_PTR(&pin_PD08) }, + { MP_ROM_QSTR(MP_QSTR_PD09), MP_ROM_PTR(&pin_PD09) }, + { MP_ROM_QSTR(MP_QSTR_PD10), MP_ROM_PTR(&pin_PD10) }, + { MP_ROM_QSTR(MP_QSTR_PD11), MP_ROM_PTR(&pin_PD11) }, { MP_ROM_QSTR(MP_QSTR_PD12), MP_ROM_PTR(&pin_PD12) }, { MP_ROM_QSTR(MP_QSTR_PD13), MP_ROM_PTR(&pin_PD13) }, - { MP_ROM_QSTR(MP_QSTR_PG02), MP_ROM_PTR(&pin_PG02) }, - { MP_ROM_QSTR(MP_QSTR_PC06), MP_ROM_PTR(&pin_PC06) }, - { MP_ROM_QSTR(MP_QSTR_PC07), MP_ROM_PTR(&pin_PC07) }, - { MP_ROM_QSTR(MP_QSTR_PC09), MP_ROM_PTR(&pin_PC09) }, - { MP_ROM_QSTR(MP_QSTR_PA08), MP_ROM_PTR(&pin_PA08) }, - { MP_ROM_QSTR(MP_QSTR_PA10), MP_ROM_PTR(&pin_PA10) }, - { MP_ROM_QSTR(MP_QSTR_PA13), MP_ROM_PTR(&pin_PA13) }, - { MP_ROM_QSTR(MP_QSTR_PA14), MP_ROM_PTR(&pin_PA14) }, - { MP_ROM_QSTR(MP_QSTR_PA15), MP_ROM_PTR(&pin_PA15) }, - { MP_ROM_QSTR(MP_QSTR_PD06), MP_ROM_PTR(&pin_PD06) }, - { MP_ROM_QSTR(MP_QSTR_PG09), MP_ROM_PTR(&pin_PG09) }, - { MP_ROM_QSTR(MP_QSTR_PG10), MP_ROM_PTR(&pin_PG10) }, - { MP_ROM_QSTR(MP_QSTR_PG11), MP_ROM_PTR(&pin_PG11) }, - { MP_ROM_QSTR(MP_QSTR_PG12), MP_ROM_PTR(&pin_PG12) }, - { MP_ROM_QSTR(MP_QSTR_PG13), MP_ROM_PTR(&pin_PG13) }, - { MP_ROM_QSTR(MP_QSTR_PG14), MP_ROM_PTR(&pin_PG14) }, - { MP_ROM_QSTR(MP_QSTR_PB03), MP_ROM_PTR(&pin_PB03) }, - { MP_ROM_QSTR(MP_QSTR_PB04), MP_ROM_PTR(&pin_PB04) }, - { MP_ROM_QSTR(MP_QSTR_PB05), MP_ROM_PTR(&pin_PB05) }, - { MP_ROM_QSTR(MP_QSTR_PB06), MP_ROM_PTR(&pin_PB06) }, - { MP_ROM_QSTR(MP_QSTR_PB07), MP_ROM_PTR(&pin_PB07) }, - { MP_ROM_QSTR(MP_QSTR_PB08), MP_ROM_PTR(&pin_PB08) }, - { MP_ROM_QSTR(MP_QSTR_PB09), MP_ROM_PTR(&pin_PB09) }, - { MP_ROM_QSTR(MP_QSTR_PE00), MP_ROM_PTR(&pin_PE00) }, + { MP_ROM_QSTR(MP_QSTR_PD14), MP_ROM_PTR(&pin_PD14) }, + { MP_ROM_QSTR(MP_QSTR_PD15), MP_ROM_PTR(&pin_PD15) }, + //P2 + { MP_ROM_QSTR(MP_QSTR_PC14), MP_ROM_PTR(&pin_PC14) }, + { MP_ROM_QSTR(MP_QSTR_PC15), MP_ROM_PTR(&pin_PC15) }, + { MP_ROM_QSTR(MP_QSTR_PC13), MP_ROM_PTR(&pin_PC13) }, + { MP_ROM_QSTR(MP_QSTR_PE06), MP_ROM_PTR(&pin_PE06) }, + { MP_ROM_QSTR(MP_QSTR_PE05), MP_ROM_PTR(&pin_PE05) }, + { MP_ROM_QSTR(MP_QSTR_PE04), MP_ROM_PTR(&pin_PE04) }, + { MP_ROM_QSTR(MP_QSTR_PE03), MP_ROM_PTR(&pin_PE03) }, + { MP_ROM_QSTR(MP_QSTR_PE02), MP_ROM_PTR(&pin_PE02) }, { MP_ROM_QSTR(MP_QSTR_PE01), MP_ROM_PTR(&pin_PE01) }, - { MP_ROM_QSTR(MP_QSTR_D15), MP_ROM_PTR(&pin_PB10) }, - { MP_ROM_QSTR(MP_QSTR_D14), MP_ROM_PTR(&pin_PB09) }, - { MP_ROM_QSTR(MP_QSTR_D13), MP_ROM_PTR(&pin_PA05) }, - { MP_ROM_QSTR(MP_QSTR_D12), MP_ROM_PTR(&pin_PA06) }, - { MP_ROM_QSTR(MP_QSTR_D11), MP_ROM_PTR(&pin_PA07) }, - { MP_ROM_QSTR(MP_QSTR_D10), MP_ROM_PTR(&pin_PA15) }, - { MP_ROM_QSTR(MP_QSTR_D9), MP_ROM_PTR(&pin_PB08) }, - { MP_ROM_QSTR(MP_QSTR_D8), MP_ROM_PTR(&pin_PG10) }, - { MP_ROM_QSTR(MP_QSTR_D7), MP_ROM_PTR(&pin_PG11) }, - { MP_ROM_QSTR(MP_QSTR_D6), MP_ROM_PTR(&pin_PF03) }, - { MP_ROM_QSTR(MP_QSTR_D5), MP_ROM_PTR(&pin_PF10) }, - { MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_PG12) }, - { MP_ROM_QSTR(MP_QSTR_D3), MP_ROM_PTR(&pin_PF04) }, - { MP_ROM_QSTR(MP_QSTR_D2), MP_ROM_PTR(&pin_PG13) }, - { MP_ROM_QSTR(MP_QSTR_D1), MP_ROM_PTR(&pin_PG14) }, - { MP_ROM_QSTR(MP_QSTR_D0), MP_ROM_PTR(&pin_PG09) }, - { MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_PA01) }, - { MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_PC01) }, - { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_PC03) }, - { MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_PC04) }, - { MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_PC05) }, //alt PB09, see F401ZG-DISCO manual - { MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_PB00) }, //alt PB10, see F401ZG-DISCO manual - { MP_ROM_QSTR(MP_QSTR_LED1), MP_ROM_PTR(&pin_PE00) }, - { MP_ROM_QSTR(MP_QSTR_LED2), MP_ROM_PTR(&pin_PE01) }, - { MP_ROM_QSTR(MP_QSTR_LED3), MP_ROM_PTR(&pin_PE02) }, - { MP_ROM_QSTR(MP_QSTR_LED4), MP_ROM_PTR(&pin_PE03) }, + { MP_ROM_QSTR(MP_QSTR_PE00), MP_ROM_PTR(&pin_PE00) }, + { MP_ROM_QSTR(MP_QSTR_PB09), MP_ROM_PTR(&pin_PB09) }, + { MP_ROM_QSTR(MP_QSTR_PB08), MP_ROM_PTR(&pin_PB08) }, + { MP_ROM_QSTR(MP_QSTR_PB07), MP_ROM_PTR(&pin_PB07) }, + { MP_ROM_QSTR(MP_QSTR_PB06), MP_ROM_PTR(&pin_PB06) }, + { MP_ROM_QSTR(MP_QSTR_PB05), MP_ROM_PTR(&pin_PB05) }, + { MP_ROM_QSTR(MP_QSTR_PB04), MP_ROM_PTR(&pin_PB04) }, + { MP_ROM_QSTR(MP_QSTR_PB03), MP_ROM_PTR(&pin_PB03) }, + { MP_ROM_QSTR(MP_QSTR_PD07), MP_ROM_PTR(&pin_PD07) }, + { MP_ROM_QSTR(MP_QSTR_PD06), MP_ROM_PTR(&pin_PD06) }, + { MP_ROM_QSTR(MP_QSTR_PD05), MP_ROM_PTR(&pin_PD05) }, + { MP_ROM_QSTR(MP_QSTR_PD04), MP_ROM_PTR(&pin_PD04) }, + { MP_ROM_QSTR(MP_QSTR_PD03), MP_ROM_PTR(&pin_PD03) }, + { MP_ROM_QSTR(MP_QSTR_PD02), MP_ROM_PTR(&pin_PD02) }, + { MP_ROM_QSTR(MP_QSTR_PD01), MP_ROM_PTR(&pin_PD01) }, + { MP_ROM_QSTR(MP_QSTR_PD00), MP_ROM_PTR(&pin_PD00) }, + { MP_ROM_QSTR(MP_QSTR_PC12), MP_ROM_PTR(&pin_PC12) }, + { MP_ROM_QSTR(MP_QSTR_PC11), MP_ROM_PTR(&pin_PC11) }, + { MP_ROM_QSTR(MP_QSTR_PC10), MP_ROM_PTR(&pin_PC10) }, + { MP_ROM_QSTR(MP_QSTR_PA15), MP_ROM_PTR(&pin_PA15) }, + { MP_ROM_QSTR(MP_QSTR_PA14), MP_ROM_PTR(&pin_PA14) }, + { MP_ROM_QSTR(MP_QSTR_PA13), MP_ROM_PTR(&pin_PA13) }, + { MP_ROM_QSTR(MP_QSTR_PA10), MP_ROM_PTR(&pin_PA10) }, + { MP_ROM_QSTR(MP_QSTR_PA09), MP_ROM_PTR(&pin_PA09) }, + { MP_ROM_QSTR(MP_QSTR_PA08), MP_ROM_PTR(&pin_PA08) }, + { MP_ROM_QSTR(MP_QSTR_PC09), MP_ROM_PTR(&pin_PC09) }, + { MP_ROM_QSTR(MP_QSTR_PC08), MP_ROM_PTR(&pin_PC08) }, + { MP_ROM_QSTR(MP_QSTR_PC07), MP_ROM_PTR(&pin_PC07) }, + { MP_ROM_QSTR(MP_QSTR_PC06), MP_ROM_PTR(&pin_PC06) }, + //Names + { MP_ROM_QSTR(MP_QSTR_LD3), MP_ROM_PTR(&pin_PD13) }, + { MP_ROM_QSTR(MP_QSTR_LD4), MP_ROM_PTR(&pin_PD12) }, + { MP_ROM_QSTR(MP_QSTR_LD5), MP_ROM_PTR(&pin_PD14) }, + { MP_ROM_QSTR(MP_QSTR_LD6), MP_ROM_PTR(&pin_PD15) }, + { MP_ROM_QSTR(MP_QSTR_LED_ORANGE), MP_ROM_PTR(&pin_PD13) }, + { MP_ROM_QSTR(MP_QSTR_LED_GREEN), MP_ROM_PTR(&pin_PD12) }, + { MP_ROM_QSTR(MP_QSTR_LED_RED), MP_ROM_PTR(&pin_PD14) }, + { MP_ROM_QSTR(MP_QSTR_LED_BLUE), MP_ROM_PTR(&pin_PD15) }, }; MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table); diff --git a/ports/stm32f4/boards/stm32f411ve_discovery/stm32f4xx_hal_msp.c b/ports/stm32f4/boards/stm32f411ve_discovery/stm32f4xx_hal_msp.c index 4989f9889..a892a8ff7 100644 --- a/ports/stm32f4/boards/stm32f411ve_discovery/stm32f4xx_hal_msp.c +++ b/ports/stm32f4/boards/stm32f411ve_discovery/stm32f4xx_hal_msp.c @@ -166,7 +166,7 @@ void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) PB6 ------> I2C1_SCL PB9 ------> I2C1_SDA */ - GPIO_InitStruct.Pin = Audio_SCL_Pin|Audio_SDA_Pin; + GPIO_InitStruct.Pin = Audio_SCL_Pin|GPIO_PIN_7; GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; diff --git a/ports/stm32f4/boards/stm32f412zg_discovery/mpconfigboard.mk b/ports/stm32f4/boards/stm32f412zg_discovery/mpconfigboard.mk index 444795874..b6c27f9c0 100644 --- a/ports/stm32f4/boards/stm32f412zg_discovery/mpconfigboard.mk +++ b/ports/stm32f4/boards/stm32f412zg_discovery/mpconfigboard.mk @@ -6,6 +6,7 @@ USB_MANUFACTURER = "STMicroelectronics" MCU_SERIES = m4 MCU_VARIANT = stm32f4 MCU_SUB_VARIANT = stm32f412zx +MCU_PACKAGE = 144 CMSIS_MCU = STM32F412xG LD_FILE = boards/STM32F412ZGTx_FLASH.ld TEXT0_ADDR = 0x08000000 diff --git a/ports/stm32f4/common-hal/busio/I2C.c b/ports/stm32f4/common-hal/busio/I2C.c index 8e1e57c36..1babe33a1 100644 --- a/ports/stm32f4/common-hal/busio/I2C.c +++ b/ports/stm32f4/common-hal/busio/I2C.c @@ -36,7 +36,7 @@ I2C_HandleTypeDef hi2c2; void common_hal_busio_i2c_construct(busio_i2c_obj_t *self, const mcu_pin_obj_t* scl, const mcu_pin_obj_t* sda, uint32_t frequency, uint32_t timeout) { - hi2c2.Instance = I2C2; + hi2c2.Instance = I2C1; hi2c2.Init.ClockSpeed = 100000; hi2c2.Init.DutyCycle = I2C_DUTYCYCLE_2; hi2c2.Init.OwnAddress1 = 0; diff --git a/ports/stm32f4/common-hal/busio/UART.c b/ports/stm32f4/common-hal/busio/UART.c index e9a491715..86035c3ba 100644 --- a/ports/stm32f4/common-hal/busio/UART.c +++ b/ports/stm32f4/common-hal/busio/UART.c @@ -40,7 +40,8 @@ void common_hal_busio_uart_construct(busio_uart_obj_t *self, const mcu_pin_obj_t * tx, const mcu_pin_obj_t * rx, uint32_t baudrate, uint8_t bits, uart_parity_t parity, uint8_t stop, mp_float_t timeout, - uint8_t receiver_buffer_size) { + uint16_t receiver_buffer_size) { + // Sercom* sercom = NULL; // uint8_t sercom_index = 255; // Unset index // uint32_t rx_pinmux = 0; diff --git a/ports/stm32f4/common-hal/microcontroller/Pin.c b/ports/stm32f4/common-hal/microcontroller/Pin.c index 6bfe56515..3450c935b 100644 --- a/ports/stm32f4/common-hal/microcontroller/Pin.c +++ b/ports/stm32f4/common-hal/microcontroller/Pin.c @@ -31,11 +31,16 @@ #include "stm32f4/pins.h" #include "stm32f4xx_hal.h" -#define GPIO_PORT_COUNT 5 +#if MCU_PACKAGE == 144 + #define GPIO_PORT_COUNT 7 + GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG}; +#elif MCU_PACKAGE == 100 + #define GPIO_PORT_COUNT 5 + GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE}; +#endif STATIC uint16_t claimed_pins[GPIO_PORT_COUNT]; STATIC uint16_t never_reset_pins[GPIO_PORT_COUNT]; -GPIO_TypeDef * ports[GPIO_PORT_COUNT] = {GPIOA, GPIOB, GPIOC, GPIOD, GPIOE}; void reset_all_pins(void) { // Reset claimed pins diff --git a/ports/stm32f4/common-hal/microcontroller/__init__.c b/ports/stm32f4/common-hal/microcontroller/__init__.c index 871caa018..75f6550df 100644 --- a/ports/stm32f4/common-hal/microcontroller/__init__.c +++ b/ports/stm32f4/common-hal/microcontroller/__init__.c @@ -83,6 +83,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PE05), MP_ROM_PTR(&pin_PE05) }, { MP_ROM_QSTR(MP_QSTR_PE06), MP_ROM_PTR(&pin_PE06) }, { MP_ROM_QSTR(MP_QSTR_PC13), MP_ROM_PTR(&pin_PC13) }, +#if MCU_PACKAGE == LQFP144 { MP_ROM_QSTR(MP_QSTR_PF00), MP_ROM_PTR(&pin_PF00) }, { MP_ROM_QSTR(MP_QSTR_PF01), MP_ROM_PTR(&pin_PF01) }, { MP_ROM_QSTR(MP_QSTR_PF02), MP_ROM_PTR(&pin_PF02) }, @@ -94,6 +95,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PF08), MP_ROM_PTR(&pin_PF08) }, { MP_ROM_QSTR(MP_QSTR_PF09), MP_ROM_PTR(&pin_PF09) }, { MP_ROM_QSTR(MP_QSTR_PF10), MP_ROM_PTR(&pin_PF10) }, +#endif { MP_ROM_QSTR(MP_QSTR_PC00), MP_ROM_PTR(&pin_PC00) }, { MP_ROM_QSTR(MP_QSTR_PC01), MP_ROM_PTR(&pin_PC01) }, { MP_ROM_QSTR(MP_QSTR_PC02), MP_ROM_PTR(&pin_PC02) }, @@ -111,6 +113,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PB00), MP_ROM_PTR(&pin_PB00) }, { MP_ROM_QSTR(MP_QSTR_PB01), MP_ROM_PTR(&pin_PB01) }, { MP_ROM_QSTR(MP_QSTR_PB02), MP_ROM_PTR(&pin_PB02) }, +#if MCU_PACKAGE == LQFP144 { MP_ROM_QSTR(MP_QSTR_PF11), MP_ROM_PTR(&pin_PF11) }, { MP_ROM_QSTR(MP_QSTR_PF12), MP_ROM_PTR(&pin_PF12) }, { MP_ROM_QSTR(MP_QSTR_PF13), MP_ROM_PTR(&pin_PF13) }, @@ -118,6 +121,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PF15), MP_ROM_PTR(&pin_PF15) }, { MP_ROM_QSTR(MP_QSTR_PG00), MP_ROM_PTR(&pin_PG00) }, { MP_ROM_QSTR(MP_QSTR_PG01), MP_ROM_PTR(&pin_PG01) }, +#endif { MP_ROM_QSTR(MP_QSTR_PE07), MP_ROM_PTR(&pin_PE07) }, { MP_ROM_QSTR(MP_QSTR_PE08), MP_ROM_PTR(&pin_PE08) }, { MP_ROM_QSTR(MP_QSTR_PE09), MP_ROM_PTR(&pin_PE09) }, @@ -128,7 +132,9 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PE14), MP_ROM_PTR(&pin_PE14) }, { MP_ROM_QSTR(MP_QSTR_PE15), MP_ROM_PTR(&pin_PE15) }, { MP_ROM_QSTR(MP_QSTR_PB10), MP_ROM_PTR(&pin_PB10) }, - { MP_ROM_QSTR(MP_QSTR_PB11), MP_ROM_PTR(&pin_PB11) }, +#if MCU_PACKAGE == LQFP144 + { MP_ROM_QSTR(MP_QSTR_PB11), MP_ROM_PTR(&pin_PB11) }, +#endif { MP_ROM_QSTR(MP_QSTR_PB12), MP_ROM_PTR(&pin_PB12) }, { MP_ROM_QSTR(MP_QSTR_PB13), MP_ROM_PTR(&pin_PB13) }, { MP_ROM_QSTR(MP_QSTR_PB14), MP_ROM_PTR(&pin_PB14) }, @@ -141,6 +147,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PD13), MP_ROM_PTR(&pin_PD13) }, { MP_ROM_QSTR(MP_QSTR_PD14), MP_ROM_PTR(&pin_PD14) }, { MP_ROM_QSTR(MP_QSTR_PD15), MP_ROM_PTR(&pin_PD15) }, +#if MCU_PACKAGE == LQFP144 { MP_ROM_QSTR(MP_QSTR_PG02), MP_ROM_PTR(&pin_PG02) }, { MP_ROM_QSTR(MP_QSTR_PG03), MP_ROM_PTR(&pin_PG03) }, { MP_ROM_QSTR(MP_QSTR_PG04), MP_ROM_PTR(&pin_PG04) }, @@ -148,6 +155,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PG06), MP_ROM_PTR(&pin_PG06) }, { MP_ROM_QSTR(MP_QSTR_PG07), MP_ROM_PTR(&pin_PG07) }, { MP_ROM_QSTR(MP_QSTR_PG08), MP_ROM_PTR(&pin_PG08) }, +#endif { MP_ROM_QSTR(MP_QSTR_PC06), MP_ROM_PTR(&pin_PC06) }, { MP_ROM_QSTR(MP_QSTR_PC07), MP_ROM_PTR(&pin_PC07) }, { MP_ROM_QSTR(MP_QSTR_PC08), MP_ROM_PTR(&pin_PC08) }, @@ -171,6 +179,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PD05), MP_ROM_PTR(&pin_PD05) }, { MP_ROM_QSTR(MP_QSTR_PD06), MP_ROM_PTR(&pin_PD06) }, { MP_ROM_QSTR(MP_QSTR_PD07), MP_ROM_PTR(&pin_PD07) }, +#if MCU_PACKAGE == LQFP144 { MP_ROM_QSTR(MP_QSTR_PG09), MP_ROM_PTR(&pin_PG09) }, { MP_ROM_QSTR(MP_QSTR_PG10), MP_ROM_PTR(&pin_PG10) }, { MP_ROM_QSTR(MP_QSTR_PG11), MP_ROM_PTR(&pin_PG11) }, @@ -178,6 +187,7 @@ STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_PG13), MP_ROM_PTR(&pin_PG13) }, { MP_ROM_QSTR(MP_QSTR_PG14), MP_ROM_PTR(&pin_PG14) }, { MP_ROM_QSTR(MP_QSTR_PG15), MP_ROM_PTR(&pin_PG15) }, +#endif { MP_ROM_QSTR(MP_QSTR_PB03), MP_ROM_PTR(&pin_PB03) }, { MP_ROM_QSTR(MP_QSTR_PB04), MP_ROM_PTR(&pin_PB04) }, { MP_ROM_QSTR(MP_QSTR_PB05), MP_ROM_PTR(&pin_PB05) }, diff --git a/ports/stm32f4/mpconfigport.mk b/ports/stm32f4/mpconfigport.mk index 512469cfa..440d296f6 100644 --- a/ports/stm32f4/mpconfigport.mk +++ b/ports/stm32f4/mpconfigport.mk @@ -15,9 +15,9 @@ LONGINT_IMPL = MPZ #Reduced feature set for early port CIRCUITPY_MINIMAL_BUILD = 1 -ifeq ($(MCU_SUB_VARIANT), stm32f412zx) +#ifeq ($(MCU_SUB_VARIANT), stm32f412zx) CIRCUITPY_BOARD = 1 CIRCUITPY_DIGITALIO = 1 CIRCUITPY_MICROCONTROLLER = 1 CIRCUITPY_BUSIO = 1 -endif
\ No newline at end of file +#endif
\ No newline at end of file diff --git a/ports/stm32f4/peripherals/stm32f4/pins.h b/ports/stm32f4/peripherals/stm32f4/pins.h index 1b48cc192..bf5abd5ed 100644 --- a/ports/stm32f4/peripherals/stm32f4/pins.h +++ b/ports/stm32f4/peripherals/stm32f4/pins.h @@ -69,5 +69,7 @@ extern const mp_obj_type_t mcu_pin_type; #ifdef STM32F412Zx #include "stm32f412zx/pins.h" #endif - +#ifdef STM32F411xE +#include "stm32f411xe/pins.h" +#endif #endif // __MICROPY_INCLUDED_STM32F4_PERIPHERALS_PINS_H__ diff --git a/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.c b/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.c index 04502d714..fca1c1df2 100644 --- a/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.c +++ b/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.c @@ -30,4 +30,97 @@ //TODO -//const mcu_pin_obj_t pin_PE02 = PIN(4, GPIOE, 2);
\ No newline at end of file +//const mcu_pin_obj_t pin_PE02 = PIN(4, GPIOE, 2); +const mcu_pin_obj_t pin_PE02 = PIN(4, GPIOE, 2); +const mcu_pin_obj_t pin_PE03 = PIN(4, GPIOE, 3); +const mcu_pin_obj_t pin_PE04 = PIN(4, GPIOE, 4); +const mcu_pin_obj_t pin_PE05 = PIN(4, GPIOE, 5); +const mcu_pin_obj_t pin_PE06 = PIN(4, GPIOE, 6); + +const mcu_pin_obj_t pin_PC13 = PIN(2, GPIOC, 13); //anti-tamp +const mcu_pin_obj_t pin_PC14 = PIN(2, GPIOC, 14); //OSC32_IN +const mcu_pin_obj_t pin_PC15 = PIN(2, GPIOC, 15); //OSC32_OUT + +const mcu_pin_obj_t pin_PC00 = PIN(2, GPIOC, 0); +const mcu_pin_obj_t pin_PC01 = PIN(2, GPIOC, 1); +const mcu_pin_obj_t pin_PC02 = PIN(2, GPIOC, 2); +const mcu_pin_obj_t pin_PC03 = PIN(2, GPIOC, 3); + +const mcu_pin_obj_t pin_PA00 = PIN(0, GPIOA, 0); +const mcu_pin_obj_t pin_PA01 = PIN(0, GPIOA, 1); +const mcu_pin_obj_t pin_PA02 = PIN(0, GPIOA, 2); +const mcu_pin_obj_t pin_PA03 = PIN(0, GPIOA, 3); +const mcu_pin_obj_t pin_PA04 = PIN(0, GPIOA, 4); +const mcu_pin_obj_t pin_PA05 = PIN(0, GPIOA, 5); +const mcu_pin_obj_t pin_PA06 = PIN(0, GPIOA, 6); +const mcu_pin_obj_t pin_PA07 = PIN(0, GPIOA, 7); + +const mcu_pin_obj_t pin_PC04 = PIN(2, GPIOC, 4); +const mcu_pin_obj_t pin_PC05 = PIN(2, GPIOC, 5); + +const mcu_pin_obj_t pin_PB00 = PIN(1, GPIOB, 0); +const mcu_pin_obj_t pin_PB01 = PIN(1, GPIOB, 1); +const mcu_pin_obj_t pin_PB02 = PIN(1, GPIOB, 2); + +const mcu_pin_obj_t pin_PE07 = PIN(4, GPIOE, 7); +const mcu_pin_obj_t pin_PE08 = PIN(4, GPIOE, 8); +const mcu_pin_obj_t pin_PE09 = PIN(4, GPIOE, 9); +const mcu_pin_obj_t pin_PE10 = PIN(4, GPIOE, 10); +const mcu_pin_obj_t pin_PE11 = PIN(4, GPIOE, 11); +const mcu_pin_obj_t pin_PE12 = PIN(4, GPIOE, 12); +const mcu_pin_obj_t pin_PE13 = PIN(4, GPIOE, 13); +const mcu_pin_obj_t pin_PE14 = PIN(4, GPIOE, 14); +const mcu_pin_obj_t pin_PE15 = PIN(4, GPIOE, 15); + +const mcu_pin_obj_t pin_PB10 = PIN(1, GPIOB, 10); +const mcu_pin_obj_t pin_PB12 = PIN(1, GPIOB, 12); +const mcu_pin_obj_t pin_PB13 = PIN(1, GPIOB, 13); +const mcu_pin_obj_t pin_PB14 = PIN(1, GPIOB, 14); +const mcu_pin_obj_t pin_PB15 = PIN(1, GPIOB, 15); + +const mcu_pin_obj_t pin_PD08 = PIN(3, GPIOD, 8); +const mcu_pin_obj_t pin_PD09 = PIN(3, GPIOD, 9); +const mcu_pin_obj_t pin_PD10 = PIN(3, GPIOD, 10); +const mcu_pin_obj_t pin_PD11 = PIN(3, GPIOD, 11); +const mcu_pin_obj_t pin_PD12 = PIN(3, GPIOD, 12); +const mcu_pin_obj_t pin_PD13 = PIN(3, GPIOD, 13); +const mcu_pin_obj_t pin_PD14 = PIN(3, GPIOD, 14); +const mcu_pin_obj_t pin_PD15 = PIN(3, GPIOD, 15); + +const mcu_pin_obj_t pin_PC06 = PIN(2, GPIOC, 6); +const mcu_pin_obj_t pin_PC07 = PIN(2, GPIOC, 7); +const mcu_pin_obj_t pin_PC08 = PIN(2, GPIOC, 8); +const mcu_pin_obj_t pin_PC09 = PIN(2, GPIOC, 9); + +const mcu_pin_obj_t pin_PA08 = PIN(0, GPIOA, 8); +const mcu_pin_obj_t pin_PA09 = PIN(0, GPIOA, 9); +const mcu_pin_obj_t pin_PA10 = PIN(0, GPIOA, 10); +const mcu_pin_obj_t pin_PA11 = PIN(0, GPIOA, 11); +const mcu_pin_obj_t pin_PA12 = PIN(0, GPIOA, 12); +const mcu_pin_obj_t pin_PA13 = PIN(0, GPIOA, 13); +const mcu_pin_obj_t pin_PA14 = PIN(0, GPIOA, 14); +const mcu_pin_obj_t pin_PA15 = PIN(0, GPIOA, 15); + +const mcu_pin_obj_t pin_PC10 = PIN(2, GPIOC, 10); +const mcu_pin_obj_t pin_PC11 = PIN(2, GPIOC, 11); +const mcu_pin_obj_t pin_PC12 = PIN(2, GPIOC, 12); + +const mcu_pin_obj_t pin_PD00 = PIN(3, GPIOD, 0); +const mcu_pin_obj_t pin_PD01 = PIN(3, GPIOD, 1); +const mcu_pin_obj_t pin_PD02 = PIN(3, GPIOD, 2); +const mcu_pin_obj_t pin_PD03 = PIN(3, GPIOD, 3); +const mcu_pin_obj_t pin_PD04 = PIN(3, GPIOD, 4); +const mcu_pin_obj_t pin_PD05 = PIN(3, GPIOD, 5); +const mcu_pin_obj_t pin_PD06 = PIN(3, GPIOD, 6); +const mcu_pin_obj_t pin_PD07 = PIN(3, GPIOD, 7); + +const mcu_pin_obj_t pin_PB03 = PIN(1, GPIOB, 3); +const mcu_pin_obj_t pin_PB04 = PIN(1, GPIOB, 4); +const mcu_pin_obj_t pin_PB05 = PIN(1, GPIOB, 5); +const mcu_pin_obj_t pin_PB06 = PIN(1, GPIOB, 6); +const mcu_pin_obj_t pin_PB07 = PIN(1, GPIOB, 7); +const mcu_pin_obj_t pin_PB08 = PIN(1, GPIOB, 8); +const mcu_pin_obj_t pin_PB09 = PIN(1, GPIOB, 9); + +const mcu_pin_obj_t pin_PE00 = PIN(4, GPIOE, 0); +const mcu_pin_obj_t pin_PE01 = PIN(4, GPIOE, 1);
\ No newline at end of file diff --git a/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.h b/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.h index b060d9ed0..37d3a5cf1 100644 --- a/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.h +++ b/ports/stm32f4/peripherals/stm32f4/stm32f411xe/pins.h @@ -24,13 +24,98 @@ * THE SOFTWARE. */ -#ifndef MICROPY_INCLUDED_STM32F4_PERIPHERALS_STM32F411RE_PINS_H -#define MICROPY_INCLUDED_STM32F4_PERIPHERALS_STM32F411RE_PINS_H +#ifndef MICROPY_INCLUDED_STM32F4_PERIPHERALS_STM32F411VE_PINS_H +#define MICROPY_INCLUDED_STM32F4_PERIPHERALS_STM32F411VE_PINS_H -//TODO -//Pins in datasheet order: DocID028087 Rev 7 page 50. LQFP100 only -//pg 50 -//extern const mcu_pin_obj_t pin_PE02; +//Pins in datasheet order: DocID026289 Rev 7 page 38. LQFP100 only +//pg 38 +extern const mcu_pin_obj_t pin_PE02; +extern const mcu_pin_obj_t pin_PE03; +extern const mcu_pin_obj_t pin_PE04; +extern const mcu_pin_obj_t pin_PE05; +//pg 39 +extern const mcu_pin_obj_t pin_PE06; +extern const mcu_pin_obj_t pin_PC13; +extern const mcu_pin_obj_t pin_PC14; +extern const mcu_pin_obj_t pin_PC15; +extern const mcu_pin_obj_t pin_PC00; +extern const mcu_pin_obj_t pin_PC01; +extern const mcu_pin_obj_t pin_PC02; +extern const mcu_pin_obj_t pin_PC03; +//pg 40 +extern const mcu_pin_obj_t pin_PA00; +extern const mcu_pin_obj_t pin_PA01; +extern const mcu_pin_obj_t pin_PA02; +extern const mcu_pin_obj_t pin_PA03; +extern const mcu_pin_obj_t pin_PA04; +extern const mcu_pin_obj_t pin_PA05; +extern const mcu_pin_obj_t pin_PA06; +extern const mcu_pin_obj_t pin_PA07; +//pg 41 +extern const mcu_pin_obj_t pin_PC04; +extern const mcu_pin_obj_t pin_PC05; +extern const mcu_pin_obj_t pin_PB00; +extern const mcu_pin_obj_t pin_PB01; +extern const mcu_pin_obj_t pin_PB02; +extern const mcu_pin_obj_t pin_PE07; +extern const mcu_pin_obj_t pin_PE08; +extern const mcu_pin_obj_t pin_PE09; +extern const mcu_pin_obj_t pin_PE10; +extern const mcu_pin_obj_t pin_PE11; +extern const mcu_pin_obj_t pin_PE12; +extern const mcu_pin_obj_t pin_PE13; +extern const mcu_pin_obj_t pin_PE14; +extern const mcu_pin_obj_t pin_PE15; +//pg 42 +extern const mcu_pin_obj_t pin_PB10; +extern const mcu_pin_obj_t pin_PB12; +extern const mcu_pin_obj_t pin_PB13; +extern const mcu_pin_obj_t pin_PB14; +extern const mcu_pin_obj_t pin_PB15; +extern const mcu_pin_obj_t pin_PD08; +extern const mcu_pin_obj_t pin_PD09; +extern const mcu_pin_obj_t pin_PD10; +extern const mcu_pin_obj_t pin_PD11; +extern const mcu_pin_obj_t pin_PD12; +//pg 43 +extern const mcu_pin_obj_t pin_PD13; +extern const mcu_pin_obj_t pin_PD14; +extern const mcu_pin_obj_t pin_PD15; +extern const mcu_pin_obj_t pin_PC06; +extern const mcu_pin_obj_t pin_PC07; +extern const mcu_pin_obj_t pin_PC08; +extern const mcu_pin_obj_t pin_PC09; +extern const mcu_pin_obj_t pin_PA08; +extern const mcu_pin_obj_t pin_PA09; +//pg 44 +extern const mcu_pin_obj_t pin_PA10; +extern const mcu_pin_obj_t pin_PA11; +extern const mcu_pin_obj_t pin_PA12; +extern const mcu_pin_obj_t pin_PA13; +extern const mcu_pin_obj_t pin_PA14; +extern const mcu_pin_obj_t pin_PA15; +extern const mcu_pin_obj_t pin_PC10; +extern const mcu_pin_obj_t pin_PC11; +extern const mcu_pin_obj_t pin_PC12; +//pg 45 +extern const mcu_pin_obj_t pin_PD00; +extern const mcu_pin_obj_t pin_PD01; +extern const mcu_pin_obj_t pin_PD02; +extern const mcu_pin_obj_t pin_PD03; +extern const mcu_pin_obj_t pin_PD04; +extern const mcu_pin_obj_t pin_PD05; +extern const mcu_pin_obj_t pin_PD06; +extern const mcu_pin_obj_t pin_PD07; +extern const mcu_pin_obj_t pin_PB03; +extern const mcu_pin_obj_t pin_PB04; +extern const mcu_pin_obj_t pin_PB05; +extern const mcu_pin_obj_t pin_PB06; +//pg 46 +extern const mcu_pin_obj_t pin_PB07; +extern const mcu_pin_obj_t pin_PB08; +extern const mcu_pin_obj_t pin_PB09; +extern const mcu_pin_obj_t pin_PE00; +extern const mcu_pin_obj_t pin_PE01; -#endif // MICROPY_INCLUDED_STM32F4_PERIPHERALS_STM32F411RE_PINS_H +#endif // MICROPY_INCLUDED_STM32F4_PERIPHERALS_STM32F411VE_PINS_H diff --git a/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.c b/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.c index 5a4703bea..1a556e100 100644 --- a/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.c +++ b/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.c @@ -35,6 +35,8 @@ const mcu_pin_obj_t pin_PE05 = PIN(4, GPIOE, 5); const mcu_pin_obj_t pin_PE06 = PIN(4, GPIOE, 6); const mcu_pin_obj_t pin_PC13 = PIN(2, GPIOC, 13); +const mcu_pin_obj_t pin_PC14 = PIN(2, GPIOC, 14); //OSC32_IN +const mcu_pin_obj_t pin_PC15 = PIN(2, GPIOC, 15); //OSC32_OUT const mcu_pin_obj_t pin_PF00 = PIN(5, GPIOF, 0); // 144 only const mcu_pin_obj_t pin_PF01 = PIN(5, GPIOF, 1); // 144 only diff --git a/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.h b/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.h index a74bf7c5d..180f5c316 100644 --- a/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.h +++ b/ports/stm32f4/peripherals/stm32f4/stm32f412zx/pins.h @@ -35,7 +35,9 @@ extern const mcu_pin_obj_t pin_PE04; extern const mcu_pin_obj_t pin_PE05; extern const mcu_pin_obj_t pin_PE06; extern const mcu_pin_obj_t pin_PC13; +extern const mcu_pin_obj_t pin_PC14; //pg 51 +extern const mcu_pin_obj_t pin_PC15; extern const mcu_pin_obj_t pin_PF00; // 144 only extern const mcu_pin_obj_t pin_PF01; // 144 only extern const mcu_pin_obj_t pin_PF02; // 144 only |
