aboutsummaryrefslogtreecommitdiff
path: root/ports/stm32/boards/PYBLITEV10/mpconfigboard.h
diff options
context:
space:
mode:
Diffstat (limited to 'ports/stm32/boards/PYBLITEV10/mpconfigboard.h')
-rw-r--r--ports/stm32/boards/PYBLITEV10/mpconfigboard.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/ports/stm32/boards/PYBLITEV10/mpconfigboard.h b/ports/stm32/boards/PYBLITEV10/mpconfigboard.h
new file mode 100644
index 000000000..090ba4cf1
--- /dev/null
+++ b/ports/stm32/boards/PYBLITEV10/mpconfigboard.h
@@ -0,0 +1,87 @@
+#define MICROPY_HW_BOARD_NAME "PYBLITEv1.0"
+#define MICROPY_HW_MCU_NAME "STM32F411RE"
+
+#define MICROPY_HW_HAS_SWITCH (1)
+#define MICROPY_HW_HAS_FLASH (1)
+#define MICROPY_HW_HAS_SDCARD (1)
+#define MICROPY_HW_HAS_MMA7660 (1)
+#define MICROPY_HW_HAS_LIS3DSH (0)
+#define MICROPY_HW_HAS_LCD (1)
+#define MICROPY_HW_ENABLE_RNG (0)
+#define MICROPY_HW_ENABLE_RTC (1)
+#define MICROPY_HW_ENABLE_TIMER (1)
+#define MICROPY_HW_ENABLE_SERVO (1)
+#define MICROPY_HW_ENABLE_DAC (0)
+#define MICROPY_HW_ENABLE_CAN (0)
+
+// HSE is 12MHz
+#define MICROPY_HW_CLK_PLLM (12)
+#define MICROPY_HW_CLK_PLLN (192)
+#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2)
+#define MICROPY_HW_CLK_PLLQ (4)
+#define MICROPY_HW_CLK_LAST_FREQ (1)
+
+// Pyboard lite has an optional 32kHz crystal
+#define MICROPY_HW_RTC_USE_LSE (1)
+#define MICROPY_HW_RTC_USE_US (0)
+#define MICROPY_HW_RTC_USE_CALOUT (1)
+
+// UART config
+#define MICROPY_HW_UART1_NAME "XB"
+#define MICROPY_HW_UART1_TX (pin_B6)
+#define MICROPY_HW_UART1_RX (pin_B7)
+#define MICROPY_HW_UART2_NAME "XA"
+#define MICROPY_HW_UART2_TX (pin_A2)
+#define MICROPY_HW_UART2_RX (pin_A3)
+#define MICROPY_HW_UART2_RTS (pin_A1)
+#define MICROPY_HW_UART2_CTS (pin_A0)
+#define MICROPY_HW_UART6_NAME "YA"
+#define MICROPY_HW_UART6_TX (pin_C6)
+#define MICROPY_HW_UART6_RX (pin_C7)
+
+// I2C busses
+#define MICROPY_HW_I2C1_NAME "X"
+#define MICROPY_HW_I2C1_SCL (pin_B6)
+#define MICROPY_HW_I2C1_SDA (pin_B7)
+#define MICROPY_HW_I2C3_NAME "Y"
+#define MICROPY_HW_I2C3_SCL (pin_A8)
+#define MICROPY_HW_I2C3_SDA (pin_B8)
+
+// 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
+#define MICROPY_HW_USRSW_PIN (pin_B3)
+#define MICROPY_HW_USRSW_PULL (GPIO_PULLUP)
+#define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_FALLING)
+#define MICROPY_HW_USRSW_PRESSED (0)
+
+// The pyboard has 4 LEDs
+#define MICROPY_HW_LED1 (pin_A13) // red
+#define MICROPY_HW_LED2 (pin_A14) // green
+#define MICROPY_HW_LED3 (pin_A15) // yellow
+#define MICROPY_HW_LED4 (pin_B4) // blue
+#define MICROPY_HW_LED3_PWM { TIM2, 2, TIM_CHANNEL_1, GPIO_AF1_TIM2 }
+#define MICROPY_HW_LED4_PWM { TIM3, 3, TIM_CHANNEL_1, GPIO_AF2_TIM3 }
+#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin))
+#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin))
+
+// SD card detect switch
+#define MICROPY_HW_SDCARD_DETECT_PIN (pin_B5)
+#define MICROPY_HW_SDCARD_DETECT_PULL (GPIO_PULLUP)
+#define MICROPY_HW_SDCARD_DETECT_PRESENT (GPIO_PIN_RESET)
+
+// USB config
+#define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9)
+
+// MMA accelerometer config
+#define MICROPY_HW_MMA_AVDD_PIN (pin_A10)