@@ -63,7 +63,7 @@ void boardInit(void) {
6363// PMAP_ROW() lets us specify a row (really a struct stm32_pin_info)
6464// in the pin map. Its arguments are:
6565//
66- // - GPIO device for the pin (GPIOA , etc.)
66+ // - GPIO device for the pin (&gpioa , etc.)
6767// - GPIO bit for the pin (0 through 15)
6868// - Timer device, or NULL if none
6969// - Timer channel (1 to 4, for PWM), or 0 if none
@@ -81,61 +81,61 @@ extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = {
8181 uint8 pinMode; mode specific by pinMode call (Roger Clark added to optimize compatibility with Arduino API
8282*/
8383
84- {GPIOA, TIMER2, ADC1 , 0 , 1 , 0 }, /* PA0 */
85- {GPIOA, TIMER2, ADC1 , 1 , 2 , 1 }, /* PA1 */
86- {GPIOA, TIMER2, ADC1 , 2 , 3 , 2 }, /* PA2 */
87- {GPIOA, TIMER2, ADC1 , 3 , 4 , 3 }, /* PA3 */
88- {GPIOA , NULL , ADC1 , 4 , 0 , 4 }, /* PA4 */
89- {GPIOA , NULL , ADC1 , 5 , 0 , 5 }, /* PA5 */
90- {GPIOA, TIMER3, ADC1 , 6 , 1 , 6 }, /* PA6 */
91- {GPIOA, TIMER3, ADC1 , 7 , 2 , 7 }, /* PA7 */
92- {GPIOA, TIMER1 , NULL , 8 , 1 , ADCx}, /* PA8 */
93- {GPIOA, TIMER1 , NULL , 9 , 2 , ADCx}, /* PA9 */
94- {GPIOA, TIMER1 , NULL , 10 , 3 , ADCx}, /* PA10 */
95- {GPIOA , NULL , NULL , 11 , 0 , ADCx}, /* PA11 */
96- {GPIOA , NULL , NULL , 12 , 0 , ADCx}, /* PA12 */
97- {GPIOA , NULL , NULL , 13 , 0 , ADCx}, /* PA13 */
98- {GPIOA , NULL , NULL , 14 , 0 , ADCx}, /* PA14 */
99- {GPIOA , NULL , NULL , 15 , 0 , ADCx}, /* PA15 */
84+ {&gpioa, &timer2, &adc1 , 0 , 1 , 0 }, /* PA0 */
85+ {&gpioa, &timer2, &adc1 , 1 , 2 , 1 }, /* PA1 */
86+ {&gpioa, &timer2, &adc1 , 2 , 3 , 2 }, /* PA2 */
87+ {&gpioa, &timer2, &adc1 , 3 , 4 , 3 }, /* PA3 */
88+ {&gpioa , NULL , &adc1 , 4 , 0 , 4 }, /* PA4 */
89+ {&gpioa , NULL , &adc1 , 5 , 0 , 5 }, /* PA5 */
90+ {&gpioa, &timer3, &adc1 , 6 , 1 , 6 }, /* PA6 */
91+ {&gpioa, &timer3, &adc1 , 7 , 2 , 7 }, /* PA7 */
92+ {&gpioa, &timer1 , NULL , 8 , 1 , ADCx}, /* PA8 */
93+ {&gpioa, &timer1 , NULL , 9 , 2 , ADCx}, /* PA9 */
94+ {&gpioa, &timer1 , NULL , 10 , 3 , ADCx}, /* PA10 */
95+ {&gpioa , NULL , NULL , 11 , 0 , ADCx}, /* PA11 */
96+ {&gpioa , NULL , NULL , 12 , 0 , ADCx}, /* PA12 */
97+ {&gpioa , NULL , NULL , 13 , 0 , ADCx}, /* PA13 */
98+ {&gpioa , NULL , NULL , 14 , 0 , ADCx}, /* PA14 */
99+ {&gpioa , NULL , NULL , 15 , 0 , ADCx}, /* PA15 */
100100
101- {GPIOB, TIMER3, ADC1 , 0 , 3 , 8 }, /* PB0 */
102- {GPIOB, TIMER3, ADC1 , 1 , 4 , 9 }, /* PB1 */
103- {GPIOB , NULL , NULL , 2 , 0 , ADCx}, /* PB2 */
104- {GPIOB , NULL , NULL , 3 , 0 , ADCx}, /* PB3 */
105- {GPIOB , NULL , NULL , 4 , 0 , ADCx}, /* PB4 */
106- {GPIOB , NULL , NULL , 5 , 0 , ADCx}, /* PB5 */
107- {GPIOB, TIMER4 , NULL , 6 , 1 , ADCx}, /* PB6 */
108- {GPIOB, TIMER4 , NULL , 7 , 2 , ADCx}, /* PB7 */
109- {GPIOB, TIMER4 , NULL , 8 , 3 , ADCx}, /* PB8 */
110- {GPIOB , NULL , NULL , 9 , 0 , ADCx}, /* PB9 */
111- {GPIOB , NULL , NULL , 10 , 0 , ADCx}, /* PB10 */
112- {GPIOB , NULL , NULL , 11 , 0 , ADCx}, /* PB11 */
113- {GPIOB , NULL , NULL , 12 , 0 , ADCx}, /* PB12 */
114- {GPIOB , NULL , NULL , 13 , 0 , ADCx}, /* PB13 */
115- {GPIOB , NULL , NULL , 14 , 0 , ADCx}, /* PB14 */
116- {GPIOB , NULL , NULL , 15 , 0 , ADCx}, /* PB15 */
117-
118-
119- {GPIOC , NULL , ADC1 , 0 , 0 , 10 }, /* PC0 */
120- {GPIOC , NULL , ADC1 , 1 , 0 , 11 }, /* PC1 */
121- {GPIOC , NULL , ADC1 , 2 , 0 , 12 }, /* PC2 */
122- {GPIOC , NULL , ADC1 , 3 , 0 , 13 }, /* PC3 */
123- {GPIOC , NULL , ADC1 , 4 , 0 , 14 }, /* PC4 */
124- {GPIOC , NULL , ADC1 , 5 , 0 , 15 }, /* PC5 */
125- {GPIOC, TIMER8 , NULL , 6 , 1 , ADCx}, /* PC6 */
126- {GPIOC, TIMER8 , NULL , 7 , 2 , ADCx}, /* PC7 */
127- {GPIOC, TIMER8 , NULL , 8 , 3 , ADCx}, /* PC8 */
128- {GPIOC, TIMER8 , NULL , 9 , 4 , ADCx}, /* PC9 */
129- {GPIOC , NULL , NULL , 10 , 0 , ADCx}, /* PC10 UART4_TX/SDIO_D2 */
130- {GPIOC , NULL , NULL , 11 , 0 , ADCx}, /* PC11 UART4_RX/SDIO_D3 */
131- {GPIOC , NULL , NULL , 12 , 0 , ADCx}, /* PC12 UART5_TX/SDIO_CK */
132- {GPIOC , NULL , NULL , 13 , 0 , ADCx}, /* PC13 TAMPER-RTC */
133- {GPIOC , NULL , NULL , 14 , 0 , ADCx}, /* PC14 OSC32_IN */
134- {GPIOC , NULL , NULL , 15 , 0 , ADCx}, /* PC15 OSC32_OUT */
135-
136- {GPIOD , NULL , NULL , 0 , 0 , ADCx} , /* PD0 OSC_IN */
137- {GPIOD , NULL , NULL , 1 , 0 , ADCx} , /* PD1 OSC_OUT */
138- {GPIOD , NULL , NULL , 2 , 0 , ADCx} , /* PD2 TIM3_ETR/UART5_RX SDIO_CMD */
101+ {&gpiob, &timer3, &adc1 , 0 , 3 , 8 }, /* PB0 */
102+ {&gpiob, &timer3, &adc1 , 1 , 4 , 9 }, /* PB1 */
103+ {&gpiob , NULL , NULL , 2 , 0 , ADCx}, /* PB2 */
104+ {&gpiob , NULL , NULL , 3 , 0 , ADCx}, /* PB3 */
105+ {&gpiob , NULL , NULL , 4 , 0 , ADCx}, /* PB4 */
106+ {&gpiob , NULL , NULL , 5 , 0 , ADCx}, /* PB5 */
107+ {&gpiob, &timer4 , NULL , 6 , 1 , ADCx}, /* PB6 */
108+ {&gpiob, &timer4 , NULL , 7 , 2 , ADCx}, /* PB7 */
109+ {&gpiob, &timer4 , NULL , 8 , 3 , ADCx}, /* PB8 */
110+ {&gpiob , NULL , NULL , 9 , 0 , ADCx}, /* PB9 */
111+ {&gpiob , NULL , NULL , 10 , 0 , ADCx}, /* PB10 */
112+ {&gpiob , NULL , NULL , 11 , 0 , ADCx}, /* PB11 */
113+ {&gpiob , NULL , NULL , 12 , 0 , ADCx}, /* PB12 */
114+ {&gpiob , NULL , NULL , 13 , 0 , ADCx}, /* PB13 */
115+ {&gpiob , NULL , NULL , 14 , 0 , ADCx}, /* PB14 */
116+ {&gpiob , NULL , NULL , 15 , 0 , ADCx}, /* PB15 */
117+
118+
119+ {&gpioc , NULL , &adc1 , 0 , 0 , 10 }, /* PC0 */
120+ {&gpioc , NULL , &adc1 , 1 , 0 , 11 }, /* PC1 */
121+ {&gpioc , NULL , &adc1 , 2 , 0 , 12 }, /* PC2 */
122+ {&gpioc , NULL , &adc1 , 3 , 0 , 13 }, /* PC3 */
123+ {&gpioc , NULL , &adc1 , 4 , 0 , 14 }, /* PC4 */
124+ {&gpioc , NULL , &adc1 , 5 , 0 , 15 }, /* PC5 */
125+ {&gpioc, &timer8 , NULL , 6 , 1 , ADCx}, /* PC6 */
126+ {&gpioc, &timer8 , NULL , 7 , 2 , ADCx}, /* PC7 */
127+ {&gpioc, &timer8 , NULL , 8 , 3 , ADCx}, /* PC8 */
128+ {&gpioc, &timer8 , NULL , 9 , 4 , ADCx}, /* PC9 */
129+ {&gpioc , NULL , NULL , 10 , 0 , ADCx}, /* PC10 UART4_TX/SDIO_D2 */
130+ {&gpioc , NULL , NULL , 11 , 0 , ADCx}, /* PC11 UART4_RX/SDIO_D3 */
131+ {&gpioc , NULL , NULL , 12 , 0 , ADCx}, /* PC12 UART5_TX/SDIO_CK */
132+ {&gpioc , NULL , NULL , 13 , 0 , ADCx}, /* PC13 TAMPER-RTC */
133+ {&gpioc , NULL , NULL , 14 , 0 , ADCx}, /* PC14 OSC32_IN */
134+ {&gpioc , NULL , NULL , 15 , 0 , ADCx}, /* PC15 OSC32_OUT */
135+
136+ {&gpiod , NULL , NULL , 0 , 0 , ADCx} , /* PD0 OSC_IN */
137+ {&gpiod , NULL , NULL , 1 , 0 , ADCx} , /* PD1 OSC_OUT */
138+ {&gpiod , NULL , NULL , 2 , 0 , ADCx} , /* PD2 TIM3_ETR/UART5_RX SDIO_CMD */
139139};
140140
141141/* Basically everything that is defined as having a timer us PWM */
0 commit comments