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.
This commit is contained in:
parent
29e9db0c58
commit
f7c4f9a640
@ -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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
|
|
||||||
// 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 @@
|
|||||||
#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 @@
|
|||||||
|
|
||||||
// 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 @@
|
|||||||
#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 @@
|
|||||||
|
|
||||||
// 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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
|
|
||||||
// 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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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 = {
|
|||||||
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',
|
||||||
|
84
stmhal/spi.c
84
stmhal/spi.c
@ -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,48 +78,48 @@ 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},
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO allow to take a list of pins to use
|
// TODO allow to take a list of pins to use
|
||||||
@ -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;
|
||||||
@ -168,8 +144,8 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) {
|
|||||||
GPIO_InitStructure.Alternate = GPIO_AF5_SPI1;
|
GPIO_InitStructure.Alternate = GPIO_AF5_SPI1;
|
||||||
// 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;
|
||||||
@ -179,8 +155,8 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) {
|
|||||||
GPIO_InitStructure.Alternate = GPIO_AF5_SPI2;
|
GPIO_InitStructure.Alternate = GPIO_AF5_SPI2;
|
||||||
// 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;
|
||||||
@ -190,7 +166,7 @@ void spi_init(SPI_HandleTypeDef *spi, bool enable_nss_pin) {
|
|||||||
GPIO_InitStructure.Alternate = GPIO_AF6_SPI3;
|
GPIO_InitStructure.Alternate = GPIO_AF6_SPI3;
|
||||||
// enable the SPI clock
|
// enable the SPI clock
|
||||||
__SPI3_CLK_ENABLE();
|
__SPI3_CLK_ENABLE();
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
// SPI does not exist for this board (shouldn't get here, should be checked by caller)
|
// SPI does not exist for this board (shouldn't get here, should be checked by caller)
|
||||||
return;
|
return;
|
||||||
@ -221,24 +197,24 @@ 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();
|
||||||
__SPI3_CLK_DISABLE();
|
__SPI3_CLK_DISABLE();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user