diff options
| author | Dave Hylands <dhylands@gmail.com> | 2014-02-17 17:57:13 -0800 |
|---|---|---|
| committer | Dave Hylands <dhylands@gmail.com> | 2014-02-17 21:20:38 -0800 |
| commit | 51dabac0961165cd38cdd0ba227aaf014190091c (patch) | |
| tree | 48b8d13742ed402b9e37f8b42bc19b4dffa32da9 /stm/boards/PYBOARD3 | |
| parent | 46239413d033a25662700ba39a97b07737b820fc (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')
| -rw-r--r-- | stm/boards/PYBOARD3/mpconfigboard.h | 42 | ||||
| -rw-r--r-- | stm/boards/PYBOARD3/pins.csv | 37 |
2 files changed, 79 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) diff --git a/stm/boards/PYBOARD3/pins.csv b/stm/boards/PYBOARD3/pins.csv new file mode 100644 index 000000000..cc07b1544 --- /dev/null +++ b/stm/boards/PYBOARD3/pins.csv @@ -0,0 +1,37 @@ +B13,PB13 +B14,PB14 +B15,PB15 +C6,PC6 +C7,PC7 +A13,PA13 +A14,PA14 +A15,PA15 +B3,PB3 +B4,PB4 +B6,PB6 +B7,PB7 +B8,PB8 +B9,PB9 +C0,PC0 +C1,PC1 +C2,PC2 +C3,PC3 +A0,PA0 +A1,PA1 +A2,PA2 +A3,PA3 +A4,PA4 +A5,PA5 +A6,PA6 +A7,PA7 +B0,PB0 +B1,PB1 +B10,PB10 +B11,PB11 +B12,PB12 +LED_R1,PA8 +LED_R2,PA10 +LED_G1,PC4 +LED_G2,PC5 +SW,PA13 + |
