Skip to content
Snippets Groups Projects
Commit f7c4f9a6 authored by Damien George's avatar Damien George
Browse files

stmhal: For SPI config, use HW_SPIx_SCK instead of HW_ENABLE_SPIx.

Previously, SPI was configured by a board defining MICROPY_HW_ENABLE_SPIx
to 0 or 1.  Now, the board should define MICROPY_HW_SPIx_SCK, MISO, MOSI
and NSS.  This makes it the same as how I2C is configured.
parent 29e9db0c
No related branches found
No related tags found
No related merge requests found
Showing
with 135 additions and 94 deletions
...@@ -14,9 +14,6 @@ ...@@ -14,9 +14,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (0) #define MICROPY_HW_ENABLE_SERVO (0)
#define MICROPY_HW_ENABLE_DAC (1) #define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (0)
#define MICROPY_HW_ENABLE_SPI3 (1)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
// HSE is 12MHz // HSE is 12MHz
...@@ -51,6 +48,16 @@ ...@@ -51,6 +48,16 @@
#define MICROPY_HW_I2C2_SCL (pin_B10) #define MICROPY_HW_I2C2_SCL (pin_B10)
#define MICROPY_HW_I2C2_SDA (pin_B11) #define MICROPY_HW_I2C2_SDA (pin_B11)
// SPI busses
#define MICROPY_HW_SPI1_NSS (pin_A4)
#define MICROPY_HW_SPI1_SCK (pin_A5)
#define MICROPY_HW_SPI1_MISO (pin_A6)
#define MICROPY_HW_SPI1_MOSI (pin_A7)
#define MICROPY_HW_SPI3_NSS (pin_A4)
#define MICROPY_HW_SPI3_SCK (pin_B3)
#define MICROPY_HW_SPI3_MISO (pin_B4)
#define MICROPY_HW_SPI3_MOSI (pin_B5)
// The Cerb40 has No LEDs // The Cerb40 has No LEDs
// The Cerb40 has No SDCard // The Cerb40 has No SDCard
......
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (0) #define MICROPY_HW_ENABLE_DAC (0)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (0) #define MICROPY_HW_ENABLE_CAN (0)
// Pico has an 8 MHz HSE and the F401 does 84 MHz max // Pico has an 8 MHz HSE and the F401 does 84 MHz max
...@@ -44,6 +41,16 @@ ...@@ -44,6 +41,16 @@
#define MICROPY_HW_I2C3_SCL (pin_A8) #define MICROPY_HW_I2C3_SCL (pin_A8)
#define MICROPY_HW_I2C3_SDA (pin_B4) #define MICROPY_HW_I2C3_SDA (pin_B4)
// SPI busses
#define MICROPY_HW_SPI1_NSS (pin_A4)
#define MICROPY_HW_SPI1_SCK (pin_A5)
#define MICROPY_HW_SPI1_MISO (pin_A6)
#define MICROPY_HW_SPI1_MOSI (pin_A7)
#define MICROPY_HW_SPI2_NSS (pin_B12)
#define MICROPY_HW_SPI2_SCK (pin_B13)
#define MICROPY_HW_SPI2_MISO (pin_B14)
#define MICROPY_HW_SPI2_MOSI (pin_B15)
// BTN1 has no pullup or pulldown; it is active high and broken out on a header // BTN1 has no pullup or pulldown; it is active high and broken out on a header
#define MICROPY_HW_USRSW_PIN (pin_C13) #define MICROPY_HW_USRSW_PIN (pin_C13)
#define MICROPY_HW_USRSW_PULL (GPIO_PULLDOWN) #define MICROPY_HW_USRSW_PULL (GPIO_PULLDOWN)
......
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (0) #define MICROPY_HW_ENABLE_SERVO (0)
#define MICROPY_HW_ENABLE_DAC (1) #define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (1)
#define MICROPY_HW_ENABLE_CAN (0) #define MICROPY_HW_ENABLE_CAN (0)
// HSE is 8MHz // HSE is 8MHz
...@@ -46,6 +43,20 @@ ...@@ -46,6 +43,20 @@
#define MICROPY_HW_I2C2_SCL (pin_B10) #define MICROPY_HW_I2C2_SCL (pin_B10)
#define MICROPY_HW_I2C2_SDA (pin_B11) #define MICROPY_HW_I2C2_SDA (pin_B11)
// SPI busses
#define MICROPY_HW_SPI1_NSS (pin_A4)
#define MICROPY_HW_SPI1_SCK (pin_A5)
#define MICROPY_HW_SPI1_MISO (pin_A6)
#define MICROPY_HW_SPI1_MOSI (pin_A7)
#define MICROPY_HW_SPI2_NSS (pin_B12)
#define MICROPY_HW_SPI2_SCK (pin_B13)
#define MICROPY_HW_SPI2_MISO (pin_B14)
#define MICROPY_HW_SPI2_MOSI (pin_B15)
#define MICROPY_HW_SPI3_NSS (pin_A4)
#define MICROPY_HW_SPI3_SCK (pin_B3)
#define MICROPY_HW_SPI3_MISO (pin_B4)
#define MICROPY_HW_SPI3_MOSI (pin_B5)
// USRSW/UBTN (Needs Jumper UBTN) is pulled low. Pressing the button makes the input go high. // USRSW/UBTN (Needs Jumper UBTN) is pulled low. Pressing the button makes the input go high.
#define MICROPY_HW_USRSW_PIN (pin_A0) #define MICROPY_HW_USRSW_PIN (pin_A0)
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL) #define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)
......
...@@ -17,9 +17,6 @@ ...@@ -17,9 +17,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (0) #define MICROPY_HW_ENABLE_DAC (0)
#define MICROPY_HW_ENABLE_SPI1 (0)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (0) #define MICROPY_HW_ENABLE_CAN (0)
// HSE is 25MHz // HSE is 25MHz
...@@ -48,6 +45,12 @@ ...@@ -48,6 +45,12 @@
#define MICROPY_HW_I2C2_SCL (pin_B10) #define MICROPY_HW_I2C2_SCL (pin_B10)
#define MICROPY_HW_I2C2_SDA (pin_B11) #define MICROPY_HW_I2C2_SDA (pin_B11)
// SPI busses
#define MICROPY_HW_SPI2_NSS (pin_B12)
#define MICROPY_HW_SPI2_SCK (pin_B13)
#define MICROPY_HW_SPI2_MISO (pin_B14)
#define MICROPY_HW_SPI2_MOSI (pin_B15)
// USRSW is pulled low. Pressing the button makes the input go high. // USRSW is pulled low. Pressing the button makes the input go high.
#define MICROPY_HW_USRSW_PIN (pin_B11) #define MICROPY_HW_USRSW_PIN (pin_B11)
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL) #define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)
......
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (0) #define MICROPY_HW_ENABLE_DAC (0)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (0) #define MICROPY_HW_ENABLE_CAN (0)
// HSE is 12MHz // HSE is 12MHz
...@@ -52,7 +49,15 @@ ...@@ -52,7 +49,15 @@
// SPI busses // SPI busses
#define MICROPY_HW_SPI1_NAME "X" #define MICROPY_HW_SPI1_NAME "X"
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
#define MICROPY_HW_SPI2_NAME "Y" #define MICROPY_HW_SPI2_NAME "Y"
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
// USRSW has no pullup or pulldown, and pressing the switch makes the input go low // USRSW has no pullup or pulldown, and pressing the switch makes the input go low
#define MICROPY_HW_USRSW_PIN (pin_B3) #define MICROPY_HW_USRSW_PIN (pin_B3)
......
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (1) #define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
// HSE is 8MHz // HSE is 8MHz
...@@ -59,7 +56,15 @@ ...@@ -59,7 +56,15 @@
// SPI busses // SPI busses
#define MICROPY_HW_SPI1_NAME "X" #define MICROPY_HW_SPI1_NAME "X"
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
#define MICROPY_HW_SPI2_NAME "Y" #define MICROPY_HW_SPI2_NAME "Y"
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
// CAN busses // CAN busses
#define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9 #define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9
......
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (1) #define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
// HSE is 12MHz // HSE is 12MHz
...@@ -59,7 +56,15 @@ ...@@ -59,7 +56,15 @@
// SPI busses // SPI busses
#define MICROPY_HW_SPI1_NAME "X" #define MICROPY_HW_SPI1_NAME "X"
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
#define MICROPY_HW_SPI2_NAME "Y" #define MICROPY_HW_SPI2_NAME "Y"
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
// CAN busses // CAN busses
#define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9 #define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9
......
...@@ -11,9 +11,6 @@ ...@@ -11,9 +11,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (1) #define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
// HSE is 8MHz // HSE is 8MHz
...@@ -49,6 +46,18 @@ ...@@ -49,6 +46,18 @@
#define MICROPY_HW_I2C2_SCL (pin_B10) #define MICROPY_HW_I2C2_SCL (pin_B10)
#define MICROPY_HW_I2C2_SDA (pin_B11) #define MICROPY_HW_I2C2_SDA (pin_B11)
// SPI busses
#define MICROPY_HW_SPI1_NAME "X"
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
#define MICROPY_HW_SPI2_NAME "Y"
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
// USRSW has no pullup or pulldown, and pressing the switch makes the input go low // USRSW has no pullup or pulldown, and pressing the switch makes the input go low
#define MICROPY_HW_USRSW_PIN (pin_A13) #define MICROPY_HW_USRSW_PIN (pin_A13)
#define MICROPY_HW_USRSW_PULL (GPIO_PULLUP) #define MICROPY_HW_USRSW_PULL (GPIO_PULLUP)
......
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (1) #define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
// HSE is 8MHz // HSE is 8MHz
...@@ -56,7 +53,15 @@ ...@@ -56,7 +53,15 @@
// SPI busses // SPI busses
#define MICROPY_HW_SPI1_NAME "X" #define MICROPY_HW_SPI1_NAME "X"
#define MICROPY_HW_SPI1_NSS (pin_A4) // X5
#define MICROPY_HW_SPI1_SCK (pin_A5) // X6
#define MICROPY_HW_SPI1_MISO (pin_A6) // X7
#define MICROPY_HW_SPI1_MOSI (pin_A7) // X8
#define MICROPY_HW_SPI2_NAME "Y" #define MICROPY_HW_SPI2_NAME "Y"
#define MICROPY_HW_SPI2_NSS (pin_B12) // Y5
#define MICROPY_HW_SPI2_SCK (pin_B13) // Y6
#define MICROPY_HW_SPI2_MISO (pin_B14) // Y7
#define MICROPY_HW_SPI2_MOSI (pin_B15) // Y8
// CAN busses // CAN busses
#define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9 #define MICROPY_HW_CAN1_NAME "YA" // CAN1 on RX,TX = Y3,Y4 = PB8,PB9
......
...@@ -12,9 +12,6 @@ ...@@ -12,9 +12,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (1) #define MICROPY_HW_ENABLE_SERVO (1)
#define MICROPY_HW_ENABLE_DAC (0) #define MICROPY_HW_ENABLE_DAC (0)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (0) #define MICROPY_HW_ENABLE_CAN (0)
// HSE is 8MHz // HSE is 8MHz
...@@ -44,6 +41,16 @@ ...@@ -44,6 +41,16 @@
#define MICROPY_HW_I2C3_SCL (pin_A8) #define MICROPY_HW_I2C3_SCL (pin_A8)
#define MICROPY_HW_I2C3_SDA (pin_A9) #define MICROPY_HW_I2C3_SDA (pin_A9)
// SPI busses
#define MICROPY_HW_SPI1_NSS (pin_A4)
#define MICROPY_HW_SPI1_SCK (pin_A5)
#define MICROPY_HW_SPI1_MISO (pin_A6)
#define MICROPY_HW_SPI1_MOSI (pin_A7)
#define MICROPY_HW_SPI2_NSS (pin_B12)
#define MICROPY_HW_SPI2_SCK (pin_B13)
#define MICROPY_HW_SPI2_MISO (pin_B14)
#define MICROPY_HW_SPI2_MOSI (pin_B15)
// USRSW is pulled low. Pressing the button makes the input go high. // USRSW is pulled low. Pressing the button makes the input go high.
#define MICROPY_HW_USRSW_PIN (pin_A0) #define MICROPY_HW_USRSW_PIN (pin_A0)
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL) #define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)
......
...@@ -11,9 +11,6 @@ ...@@ -11,9 +11,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (0) #define MICROPY_HW_ENABLE_SERVO (0)
#define MICROPY_HW_ENABLE_DAC (0) #define MICROPY_HW_ENABLE_DAC (0)
#define MICROPY_HW_ENABLE_SPI1 (0)
#define MICROPY_HW_ENABLE_SPI2 (0)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
// HSE is 8MHz // HSE is 8MHz
......
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (0) #define MICROPY_HW_ENABLE_SERVO (0)
#define MICROPY_HW_ENABLE_DAC (1) #define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_SPI1 (1)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
// HSE is 8MHz // HSE is 8MHz
...@@ -46,6 +43,16 @@ ...@@ -46,6 +43,16 @@
#define MICROPY_HW_I2C2_SCL (pin_B10) #define MICROPY_HW_I2C2_SCL (pin_B10)
#define MICROPY_HW_I2C2_SDA (pin_B11) #define MICROPY_HW_I2C2_SDA (pin_B11)
// SPI busses
#define MICROPY_HW_SPI1_NSS (pin_A4)
#define MICROPY_HW_SPI1_SCK (pin_A5)
#define MICROPY_HW_SPI1_MISO (pin_A6)
#define MICROPY_HW_SPI1_MOSI (pin_A7)
#define MICROPY_HW_SPI2_NSS (pin_B12)
#define MICROPY_HW_SPI2_SCK (pin_B13)
#define MICROPY_HW_SPI2_MISO (pin_B14)
#define MICROPY_HW_SPI2_MOSI (pin_B15)
// USRSW is pulled low. Pressing the button makes the input go high. // USRSW is pulled low. Pressing the button makes the input go high.
#define MICROPY_HW_USRSW_PIN (pin_A0) #define MICROPY_HW_USRSW_PIN (pin_A0)
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL) #define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)
......
...@@ -13,9 +13,6 @@ ...@@ -13,9 +13,6 @@
#define MICROPY_HW_ENABLE_TIMER (1) #define MICROPY_HW_ENABLE_TIMER (1)
#define MICROPY_HW_ENABLE_SERVO (0) #define MICROPY_HW_ENABLE_SERVO (0)
#define MICROPY_HW_ENABLE_DAC (0) #define MICROPY_HW_ENABLE_DAC (0)
#define MICROPY_HW_ENABLE_SPI1 (0)
#define MICROPY_HW_ENABLE_SPI2 (1)
#define MICROPY_HW_ENABLE_SPI3 (0)
#define MICROPY_HW_ENABLE_CAN (1) #define MICROPY_HW_ENABLE_CAN (1)
#define MICROPY_BOARD_EARLY_INIT STM32F7DISC_board_early_init #define MICROPY_BOARD_EARLY_INIT STM32F7DISC_board_early_init
......
...@@ -20,7 +20,7 @@ SUPPORTED_FN = { ...@@ -20,7 +20,7 @@ SUPPORTED_FN = {
CONDITIONAL_VAR = { CONDITIONAL_VAR = {
'I2C' : 'MICROPY_HW_I2C{num}_SCL', 'I2C' : 'MICROPY_HW_I2C{num}_SCL',
'I2S' : 'MICROPY_HW_ENABLE_I2S{num}', 'I2S' : 'MICROPY_HW_ENABLE_I2S{num}',
'SPI' : 'MICROPY_HW_ENABLE_SPI{num}', 'SPI' : 'MICROPY_HW_SPI{num}_SCK',
'UART' : 'MICROPY_HW_UART{num}_PORT', 'UART' : 'MICROPY_HW_UART{num}_PORT',
'UART5' : 'MICROPY_HW_UART5_TX_PORT', 'UART5' : 'MICROPY_HW_UART5_TX_PORT',
'USART' : 'MICROPY_HW_UART{num}_PORT', 'USART' : 'MICROPY_HW_UART{num}_PORT',
......
...@@ -37,30 +37,6 @@ ...@@ -37,30 +37,6 @@
#include "dma.h" #include "dma.h"
#include "spi.h" #include "spi.h"
// The following defines are for compatability with the '405
#if !defined(MICROPY_HW_SPI1_NSS)
// X-skin: X5=PA4=SPI1_NSS, X6=PA5=SPI1_SCK, X7=PA6=SPI1_MISO, X8=PA7=SPI1_MOSI
#define MICROPY_HW_SPI1_NSS (pin_A4)
#define MICROPY_HW_SPI1_SCK (pin_A5)
#define MICROPY_HW_SPI1_MISO (pin_A6)
#define MICROPY_HW_SPI1_MOSI (pin_A7)
#endif
#if !defined(MICROPY_HW_SPI2_NSS)
// Y-skin: Y5=PB12=SPI2_NSS, Y6=PB13=SPI2_SCK, Y7=PB14=SPI2_MISO, Y8=PB15=SPI2_MOSI
#define MICROPY_HW_SPI2_NSS (pin_B12)
#define MICROPY_HW_SPI2_SCK (pin_B13)
#define MICROPY_HW_SPI2_MISO (pin_B14)
#define MICROPY_HW_SPI2_MOSI (pin_B15)
#endif
#if !defined(MICROPY_HW_SPI3_NSS)
#define MICROPY_HW_SPI3_NSS (pin_A4)
#define MICROPY_HW_SPI3_SCK (pin_B3)
#define MICROPY_HW_SPI3_MISO (pin_B4)
#define MICROPY_HW_SPI3_MOSI (pin_B5)
#endif
/// \moduleref pyb /// \moduleref pyb
/// \class SPI - a master-driven serial protocol /// \class SPI - a master-driven serial protocol
/// ///
...@@ -102,28 +78,28 @@ typedef struct _pyb_spi_obj_t { ...@@ -102,28 +78,28 @@ typedef struct _pyb_spi_obj_t {
uint32_t rx_dma_channel; uint32_t rx_dma_channel;
} pyb_spi_obj_t; } pyb_spi_obj_t;
#if MICROPY_HW_ENABLE_SPI1 #if defined(MICROPY_HW_SPI1_SCK)
SPI_HandleTypeDef SPIHandle1 = {.Instance = NULL}; SPI_HandleTypeDef SPIHandle1 = {.Instance = NULL};
#endif #endif
#if MICROPY_HW_ENABLE_SPI2 #if defined(MICROPY_HW_SPI2_SCK)
SPI_HandleTypeDef SPIHandle2 = {.Instance = NULL}; SPI_HandleTypeDef SPIHandle2 = {.Instance = NULL};
#endif #endif
#if MICROPY_HW_ENABLE_SPI3 #if defined(MICROPY_HW_SPI3_SCK)
SPI_HandleTypeDef SPIHandle3 = {.Instance = NULL}; SPI_HandleTypeDef SPIHandle3 = {.Instance = NULL};
#endif #endif
STATIC const pyb_spi_obj_t pyb_spi_obj[] = { STATIC const pyb_spi_obj_t pyb_spi_obj[] = {
#if MICROPY_HW_ENABLE_SPI1 #if defined(MICROPY_HW_SPI1_SCK)
{{&pyb_spi_type}, &SPIHandle1, DMA_STREAM_SPI1_TX, DMA_CHANNEL_SPI1_TX, DMA_STREAM_SPI1_RX, DMA_CHANNEL_SPI1_RX}, {{&pyb_spi_type}, &SPIHandle1, DMA_STREAM_SPI1_TX, DMA_CHANNEL_SPI1_TX, DMA_STREAM_SPI1_RX, DMA_CHANNEL_SPI1_RX},
#else #else
{{&pyb_spi_type}, NULL, NULL, 0, NULL, 0}, {{&pyb_spi_type}, NULL, NULL, 0, NULL, 0},
#endif #endif
#if MICROPY_HW_ENABLE_SPI2 #if defined(MICROPY_HW_SPI2_SCK)
{{&pyb_spi_type}, &SPIHandle2, DMA_STREAM_SPI2_TX, DMA_CHANNEL_SPI2_TX, DMA_STREAM_SPI2_RX, DMA_CHANNEL_SPI2_RX}, {{&pyb_spi_type}, &SPIHandle2, DMA_STREAM_SPI2_TX, DMA_CHANNEL_SPI2_TX, DMA_STREAM_SPI2_RX, DMA_CHANNEL_SPI2_RX},
#else #else
{{&pyb_spi_type}, NULL, NULL, 0, NULL, 0}, {{&pyb_spi_type}, NULL, NULL, 0, NULL, 0},
#endif #endif
#if MICROPY_HW_ENABLE_SPI3 #if defined(MICROPY_HW_SPI3_SCK)
{{&pyb_spi_type}, &SPIHandle3, DMA_STREAM_SPI3_TX, DMA_CHANNEL_SPI3_TX, DMA_STREAM_SPI3_RX, DMA_CHANNEL_SPI3_RX}, {{&pyb_spi_type}, &SPIHandle3, DMA_STREAM_SPI3_TX, DMA_CHANNEL_SPI3_TX, DMA_STREAM_SPI3_RX, DMA_CHANNEL_SPI3_RX},
#else #else
{{&pyb_spi_type}, NULL, NULL, 0, NULL, 0}, {{&pyb_spi_type}, NULL, NULL, 0, NULL, 0},
...@@ -132,15 +108,15 @@ STATIC const pyb_spi_obj_t pyb_spi_obj[] = { ...@@ -132,15 +108,15 @@ STATIC const pyb_spi_obj_t pyb_spi_obj[] = {
void spi_init0(void) { void spi_init0(void) {
// reset the SPI handles // reset the SPI handles
#if MICROPY_HW_ENABLE_SPI1 #if defined(MICROPY_HW_SPI1_SCK)
memset(&SPIHandle1, 0, sizeof(SPI_HandleTypeDef)); memset(&SPIHandle1, 0, sizeof(SPI_HandleTypeDef));
SPIHandle1.Instance = SPI1; SPIHandle1.Instance = SPI1;
#endif #endif
#if MICROPY_HW_ENABLE_SPI2 #if defined(MICROPY_HW_SPI2_SCK)
memset(&SPIHandle2, 0, sizeof(SPI_HandleTypeDef)); memset(&SPIHandle2, 0, sizeof(SPI_HandleTypeDef));
SPIHandle2.Instance = SPI2; SPIHandle2.Instance = SPI2;
#endif #endif
#if MICROPY_HW_ENABLE_SPI3 #if defined(MICROPY_HW_SPI3_SCK)
memset(&SPIHandle3, 0, sizeof(SPI_HandleTypeDef)); memset(&SPIHandle3, 0, sizeof(SPI_HandleTypeDef));
SPIHandle3.Instance = SPI3; SPIHandle3.Instance = SPI3;
#endif #endif
...@@ -158,7 +134,7 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) { ...@@ -158,7 +134,7 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) {
const pin_obj_t *pins[4]; const pin_obj_t *pins[4];
if (0) { if (0) {
#if MICROPY_HW_ENABLE_SPI1 #if defined(MICROPY_HW_SPI1_SCK)
} else if (spi->Instance == SPI1) { } else if (spi->Instance == SPI1) {
self = &pyb_spi_obj[0]; self = &pyb_spi_obj[0];
pins[0] = &MICROPY_HW_SPI1_NSS; pins[0] = &MICROPY_HW_SPI1_NSS;
...@@ -169,7 +145,7 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) { ...@@ -169,7 +145,7 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) {
// enable the SPI clock // enable the SPI clock
__SPI1_CLK_ENABLE(); __SPI1_CLK_ENABLE();
#endif #endif
#if MICROPY_HW_ENABLE_SPI2 #if defined(MICROPY_HW_SPI2_SCK)
} else if (spi->Instance == SPI2) { } else if (spi->Instance == SPI2) {
self = &pyb_spi_obj[1]; self = &pyb_spi_obj[1];
pins[0] = &MICROPY_HW_SPI2_NSS; pins[0] = &MICROPY_HW_SPI2_NSS;
...@@ -180,7 +156,7 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) { ...@@ -180,7 +156,7 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) {
// enable the SPI clock // enable the SPI clock
__SPI2_CLK_ENABLE(); __SPI2_CLK_ENABLE();
#endif #endif
#if MICROPY_HW_ENABLE_SPI3 #if defined(MICROPY_HW_SPI3_SCK)
} else if (spi->Instance == SPI3) { } else if (spi->Instance == SPI3) {
self = &pyb_spi_obj[2]; self = &pyb_spi_obj[2];
pins[0] = &MICROPY_HW_SPI3_NSS; pins[0] = &MICROPY_HW_SPI3_NSS;
...@@ -221,19 +197,19 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) { ...@@ -221,19 +197,19 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) {
void spi_deinit(SPI_HandleTypeDef *spi) { void spi_deinit(SPI_HandleTypeDef *spi) {
HAL_SPI_DeInit(spi); HAL_SPI_DeInit(spi);
if (0) { if (0) {
#if MICROPY_HW_ENABLE_SPI1 #if defined(MICROPY_HW_SPI1_SCK)
} else if (spi->Instance == SPI1) { } else if (spi->Instance == SPI1) {
__SPI1_FORCE_RESET(); __SPI1_FORCE_RESET();
__SPI1_RELEASE_RESET(); __SPI1_RELEASE_RESET();
__SPI1_CLK_DISABLE(); __SPI1_CLK_DISABLE();
#endif #endif
#if MICROPY_HW_ENABLE_SPI2 #if defined(MICROPY_HW_SPI2_SCK)
} else if (spi->Instance == SPI2) { } else if (spi->Instance == SPI2) {
__SPI2_FORCE_RESET(); __SPI2_FORCE_RESET();
__SPI2_RELEASE_RESET(); __SPI2_RELEASE_RESET();
__SPI2_CLK_DISABLE(); __SPI2_CLK_DISABLE();
#endif #endif
#if MICROPY_HW_ENABLE_SPI3 #if defined(MICROPY_HW_SPI3_SCK)
} else if (spi->Instance == SPI3) { } else if (spi->Instance == SPI3) {
__SPI3_FORCE_RESET(); __SPI3_FORCE_RESET();
__SPI3_RELEASE_RESET(); __SPI3_RELEASE_RESET();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment