summaryrefslogtreecommitdiff
path: root/stm/boards/PYBOARD3/mpconfigboard.h
diff options
context:
space:
mode:
authorDave Hylands <dhylands@gmail.com>2014-02-17 17:57:13 -0800
committerDave Hylands <dhylands@gmail.com>2014-02-17 21:20:38 -0800
commit51dabac0961165cd38cdd0ba227aaf014190091c (patch)
tree48b8d13742ed402b9e37f8b42bc19b4dffa32da9 /stm/boards/PYBOARD3/mpconfigboard.h
parent46239413d033a25662700ba39a97b07737b820fc (diff)
Add pin mapping code.
This commit also introduces board directories and moves board specific config into the appropriate board directory. boards/stm32f4xx-af.csv was extracted from the STM32F4xx datasheet and hand-tweaked. make-pins.py takes boards/stm32f4xx-af.csv, boards/stm32f4xx-prefix.c, and boards/BOARD-NAME/pins.csv as input and generates the file build/pins_BOARD_NAME.c The generated pin file for PYBOARD4 looks like this: https://gist.github.com/dhylands/9063231 The generated pins file includes all of the supported alternate functions, and includes upsupported alternate functions as comments. See the commnet block at the top of stm/pin_map.c for details on how to use the pin mapper. I also went ahead and modified stm/gpio.c to use the pin mapper.
Diffstat (limited to 'stm/boards/PYBOARD3/mpconfigboard.h')
-rw-r--r--stm/boards/PYBOARD3/mpconfigboard.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/stm/boards/PYBOARD3/mpconfigboard.h b/stm/boards/PYBOARD3/mpconfigboard.h
new file mode 100644
index 000000000..163244574
--- /dev/null
+++ b/stm/boards/PYBOARD3/mpconfigboard.h
@@ -0,0 +1,42 @@
+#define PYBOARD3
+
+#define MICROPY_HW_BOARD_NAME "PYBv3"
+
+#define MICROPY_HW_HAS_SWITCH (1)
+#define MICROPY_HW_HAS_SDCARD (1)
+#define MICROPY_HW_HAS_MMA7660 (1)
+#define MICROPY_HW_HAS_LIS3DSH (0)
+#define MICROPY_HW_HAS_LCD (0)
+#define MICROPY_HW_HAS_WLAN (0)
+#define MICROPY_HW_ENABLE_RNG (1)
+#define MICROPY_HW_ENABLE_RTC (1)
+#define MICROPY_HW_ENABLE_TIMER (1)
+#define MICROPY_HW_ENABLE_SERVO (1)
+#define MICROPY_HW_ENABLE_AUDIO (0)
+
+#define USRSW_PORT (GPIOA)
+#define USRSW_PIN (GPIO_Pin_13)
+#define USRSW_PUPD (GPIO_PuPd_UP)
+#define USRSW_EXTI_PIN (EXTI_PinSource13)
+#define USRSW_EXTI_PORT (EXTI_PortSourceGPIOA)
+#define USRSW_EXTI_LINE (EXTI_Line13)
+#define USRSW_EXTI_IRQN (EXTI15_10_IRQn)
+#define USRSW_EXTI_EDGE (EXTI_Trigger_Rising)
+
+/* LED */
+#define PYB_LED1_PORT (GPIOA)
+#define PYB_LED1_PIN (GPIO_Pin_8)
+
+#define PYB_LED2_PORT (GPIOA)
+#define PYB_LED2_PIN (GPIO_Pin_10)
+
+#define PYB_LED3_PORT (GPIOC)
+#define PYB_LED3_PIN (GPIO_Pin_4)
+
+#define PYB_LED4_PORT (GPIOC)
+#define PYB_LED4_PIN (GPIO_Pin_5)
+
+#define PYB_OTYPE (GPIO_OType_OD)
+
+#define PYB_LED_ON(port, pin) (port->BSRRH = pin)
+#define PYB_LED_OFF(port, pin) (port->BSRRL = pin)