Skip to content

Commit 2323d22

Browse files
committed
STM32F4: standard pin names
1 parent 25e85f9 commit 2323d22

File tree

19 files changed

+2780
-3199
lines changed

19 files changed

+2780
-3199
lines changed

targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F401xE/TARGET_NUCLEO_F401RE/PinNames.h

Lines changed: 106 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,18 @@
11
/* mbed Microcontroller Library
2-
*******************************************************************************
3-
* Copyright (c) 2018, STMicroelectronics
2+
* SPDX-License-Identifier: BSD-3-Clause
3+
******************************************************************************
4+
*
5+
* Copyright (c) 2016-2021 STMicroelectronics.
46
* All rights reserved.
57
*
6-
* Redistribution and use in source and binary forms, with or without
7-
* modification, are permitted provided that the following conditions are met:
8+
* This software component is licensed by ST under BSD 3-Clause license,
9+
* the "License"; You may not use this file except in compliance with the
10+
* License. You may obtain a copy of the License at:
11+
* opensource.org/licenses/BSD-3-Clause
812
*
9-
* 1. Redistributions of source code must retain the above copyright notice,
10-
* this list of conditions and the following disclaimer.
11-
* 2. Redistributions in binary form must reproduce the above copyright notice,
12-
* this list of conditions and the following disclaimer in the documentation
13-
* and/or other materials provided with the distribution.
14-
* 3. Neither the name of STMicroelectronics nor the names of its contributors
15-
* may be used to endorse or promote products derived from this software
16-
* without specific prior written permission.
13+
******************************************************************************
1714
*
18-
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19-
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20-
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21-
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22-
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23-
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24-
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25-
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26-
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27-
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28-
*******************************************************************************
15+
* Automatically generated from STM32CubeMX/db/mcu/STM32F401R(D-E)Tx.xml
2916
*/
3017

3118
/* MBED TARGET LIST: NUCLEO_F401RE */
@@ -42,141 +29,114 @@ extern "C" {
4229

4330
typedef enum {
4431
ALT0 = 0x100,
45-
ALT1 = 0x200,
46-
ALT2 = 0x300,
47-
ALT3 = 0x400
4832
} ALTx;
4933

5034
typedef enum {
51-
PA_0 = 0x00,
52-
PA_1 = 0x01,
53-
PA_2 = 0x02,
54-
PA_2_ALT0 = PA_2 | ALT0,
55-
PA_3 = 0x03,
56-
PA_3_ALT0 = PA_3 | ALT0,
57-
PA_4 = 0x04,
58-
PA_4_ALT0 = PA_4 | ALT0,
59-
PA_5 = 0x05,
60-
PA_6 = 0x06,
61-
PA_7 = 0x07,
62-
PA_7_ALT0 = PA_7 | ALT0,
63-
PA_8 = 0x08,
64-
PA_9 = 0x09,
65-
PA_10 = 0x0A,
66-
PA_11 = 0x0B,
67-
PA_12 = 0x0C,
68-
PA_13 = 0x0D,
69-
PA_14 = 0x0E,
70-
PA_15 = 0x0F,
71-
PA_15_ALT0 = PA_15 | ALT0,
72-
73-
PB_0 = 0x10,
74-
PB_0_ALT0 = PB_0 | ALT0,
75-
PB_1 = 0x11,
76-
PB_1_ALT0 = PB_1 | ALT0,
77-
PB_2 = 0x12,
78-
PB_3 = 0x13,
79-
PB_3_ALT0 = PB_3 | ALT0,
80-
PB_4 = 0x14,
81-
PB_4_ALT0 = PB_4 | ALT0,
82-
PB_5 = 0x15,
83-
PB_5_ALT0 = PB_5 | ALT0,
84-
PB_6 = 0x16,
85-
PB_7 = 0x17,
86-
PB_8 = 0x18,
87-
PB_8_ALT0 = PB_8 | ALT0,
88-
PB_9 = 0x19,
89-
PB_9_ALT0 = PB_9 | ALT0,
90-
PB_10 = 0x1A,
91-
PB_12 = 0x1C,
92-
PB_13 = 0x1D,
93-
PB_14 = 0x1E,
94-
PB_15 = 0x1F,
95-
96-
PC_0 = 0x20,
97-
PC_1 = 0x21,
98-
PC_2 = 0x22,
99-
PC_3 = 0x23,
100-
PC_4 = 0x24,
101-
PC_5 = 0x25,
102-
PC_6 = 0x26,
103-
PC_7 = 0x27,
104-
PC_8 = 0x28,
105-
PC_9 = 0x29,
106-
PC_10 = 0x2A,
107-
PC_11 = 0x2B,
108-
PC_12 = 0x2C,
109-
PC_13 = 0x2D,
110-
PC_14 = 0x2E, // Connected to RCC_OSC32_IN
111-
PC_15 = 0x2F, // Connected to RCC_OSC32_OUT
112-
113-
PD_2 = 0x32,
114-
115-
PH_0 = 0x70, // Connected to RCC_OSC_IN
116-
PH_1 = 0x71, // Connected to RCC_OSC_OUT
117-
118-
// ADC internal channels
35+
PA_0 = 0x00,
36+
PA_1 = 0x01,
37+
PA_2 = 0x02,
38+
PA_3 = 0x03,
39+
PA_4 = 0x04,
40+
PA_4_ALT0 = PA_4 | ALT0, // same pin used for alternate HW
41+
PA_5 = 0x05,
42+
PA_6 = 0x06,
43+
PA_7 = 0x07,
44+
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
45+
PA_8 = 0x08,
46+
PA_9 = 0x09,
47+
PA_10 = 0x0A,
48+
PA_11 = 0x0B,
49+
PA_12 = 0x0C,
50+
PA_13 = 0x0D,
51+
PA_14 = 0x0E,
52+
PA_15 = 0x0F,
53+
PA_15_ALT0 = PA_15 | ALT0, // same pin used for alternate HW
54+
PB_0 = 0x10,
55+
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
56+
PB_1 = 0x11,
57+
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
58+
PB_2 = 0x12,
59+
PB_3 = 0x13,
60+
PB_3_ALT0 = PB_3 | ALT0, // same pin used for alternate HW
61+
PB_4 = 0x14,
62+
PB_4_ALT0 = PB_4 | ALT0, // same pin used for alternate HW
63+
PB_5 = 0x15,
64+
PB_5_ALT0 = PB_5 | ALT0, // same pin used for alternate HW
65+
PB_6 = 0x16,
66+
PB_7 = 0x17,
67+
PB_8 = 0x18,
68+
PB_8_ALT0 = PB_8 | ALT0, // same pin used for alternate HW
69+
PB_9 = 0x19,
70+
PB_9_ALT0 = PB_9 | ALT0, // same pin used for alternate HW
71+
PB_10 = 0x1A,
72+
PB_12 = 0x1C,
73+
PB_13 = 0x1D,
74+
PB_14 = 0x1E,
75+
PB_15 = 0x1F,
76+
PC_0 = 0x20,
77+
PC_1 = 0x21,
78+
PC_2 = 0x22,
79+
PC_3 = 0x23,
80+
PC_4 = 0x24,
81+
PC_5 = 0x25,
82+
PC_6 = 0x26,
83+
PC_7 = 0x27,
84+
PC_8 = 0x28,
85+
PC_9 = 0x29,
86+
PC_10 = 0x2A,
87+
PC_11 = 0x2B,
88+
PC_12 = 0x2C,
89+
PC_13 = 0x2D,
90+
PC_14 = 0x2E,
91+
PC_15 = 0x2F,
92+
PD_2 = 0x32,
93+
PH_0 = 0x70,
94+
PH_1 = 0x71,
95+
96+
/**** ADC internal channels ****/
11997
ADC_TEMP = 0xF0,
12098
ADC_VREF = 0xF1,
12199
ADC_VBAT = 0xF2,
122100

123-
// Arduino connector namings
124-
A0 = PA_0,
125-
A1 = PA_1,
126-
A2 = PA_4,
127-
A3 = PB_0,
128-
A4 = PC_1,
129-
A5 = PC_0,
130-
D0 = PA_3,
131-
D1 = PA_2,
132-
D2 = PA_10,
133-
D3 = PB_3,
134-
D4 = PB_5,
135-
D5 = PB_4,
136-
D6 = PB_10,
137-
D7 = PA_8,
138-
D8 = PA_9,
139-
D9 = PC_7,
140-
D10 = PB_6,
141-
D11 = PA_7,
142-
D12 = PA_6,
143-
D13 = PA_5,
144-
D14 = PB_9,
145-
D15 = PB_8,
101+
#ifdef TARGET_FF_ARDUINO_UNO
102+
// Arduino Uno (Rev3) pins
103+
ARDUINO_UNO_A0 = PA_0,
104+
ARDUINO_UNO_A1 = PA_1,
105+
ARDUINO_UNO_A2 = PA_4,
106+
ARDUINO_UNO_A3 = PB_0,
107+
ARDUINO_UNO_A4 = PC_1,
108+
ARDUINO_UNO_A5 = PC_0,
109+
110+
ARDUINO_UNO_D0 = PA_3,
111+
ARDUINO_UNO_D1 = PA_2,
112+
ARDUINO_UNO_D2 = PA_10,
113+
ARDUINO_UNO_D3 = PB_3,
114+
ARDUINO_UNO_D4 = PB_5,
115+
ARDUINO_UNO_D5 = PB_4,
116+
ARDUINO_UNO_D6 = PB_10,
117+
ARDUINO_UNO_D7 = PA_8,
118+
ARDUINO_UNO_D8 = PA_9,
119+
ARDUINO_UNO_D9 = PC_7,
120+
ARDUINO_UNO_D10 = PB_6,
121+
ARDUINO_UNO_D11 = PA_7,
122+
ARDUINO_UNO_D12 = PA_6,
123+
ARDUINO_UNO_D13 = PA_5,
124+
ARDUINO_UNO_D14 = PB_9,
125+
ARDUINO_UNO_D15 = PB_8,
126+
#endif
146127

147128
// STDIO for console print
148129
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
149-
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
130+
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
150131
#else
151-
STDIO_UART_TX = PA_2,
132+
CONSOLE_TX = PA_2,
152133
#endif
153134
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
154-
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
135+
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
155136
#else
156-
STDIO_UART_RX = PA_3,
137+
CONSOLE_RX = PA_3,
157138
#endif
158139

159-
// Generic signals namings
160-
LED1 = PA_5,
161-
LED2 = PA_5,
162-
LED3 = PA_5,
163-
LED4 = PA_5,
164-
LED_RED = LED1,
165-
USER_BUTTON = PC_13,
166-
// Standardized button names
167-
BUTTON1 = USER_BUTTON,
168-
SERIAL_TX = STDIO_UART_TX,
169-
SERIAL_RX = STDIO_UART_RX,
170-
CONSOLE_TX = STDIO_UART_TX,
171-
CONSOLE_RX = STDIO_UART_RX,
172-
I2C_SCL = PB_8,
173-
I2C_SDA = PB_9,
174-
SPI_MOSI = PA_7,
175-
SPI_MISO = PA_6,
176-
SPI_SCK = PA_5,
177-
SPI_CS = PB_6,
178-
PWM_OUT = PB_3,
179-
180140
/**** USB FS pins ****/
181141
USB_OTG_FS_DM = PA_11,
182142
USB_OTG_FS_DP = PA_12,
@@ -202,6 +162,10 @@ typedef enum {
202162
NC = (int)0xFFFFFFFF
203163
} PinName;
204164

165+
// Standardized LED and button names
166+
#define LED1 PA_5 // LD2 [Green Led]
167+
#define BUTTON1 PC_13 // B1 [Blue PushButton]
168+
205169
#ifdef __cplusplus
206170
}
207171
#endif

targets/TARGET_STM/TARGET_STM32F4/TARGET_STM32F407xE/TARGET_ARCH_MAX/PinNames.h

Lines changed: 37 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -201,57 +201,45 @@ typedef enum {
201201
ADC_VREF = 0xF1,
202202
ADC_VBAT = 0xF2,
203203

204-
// Arduino connector namings
205-
A0 = PA_0,
206-
A1 = PA_3,
207-
A2 = PA_4,
208-
A3 = PA_5,
209-
A4 = PA_6,
210-
A5 = PB_0,
211-
A6 = PB_1,
212-
A7 = PC_0,
213-
D0 = PD_3,
214-
D1 = PD_6,
215-
D2 = PD_11,
216-
D3 = PD_12,
217-
D4 = PD_13,
218-
D5 = PA_8,
219-
D6 = PB_6,
220-
D7 = PB_7,
221-
D8 = PB_15,
222-
D9 = PB_14,
223-
D10 = PA_15,
224-
D11 = PB_5,
225-
D12 = PB_4,
226-
D13 = PB_3,
227-
D14 = PB_9,
228-
D15 = PB_8,
204+
#ifdef TARGET_FF_ARDUINO_UNO
205+
ARDUINO_UNO_A0 = PA_0,
206+
ARDUINO_UNO_A1 = PA_3,
207+
ARDUINO_UNO_A2 = PA_4,
208+
ARDUINO_UNO_A3 = PA_5,
209+
ARDUINO_UNO_A4 = PA_6,
210+
ARDUINO_UNO_A5 = PB_0,
211+
ARDUINO_UNO_A6 = PB_1,
212+
ARDUINO_UNO_A7 = PC_0,
213+
ARDUINO_UNO_D0 = PD_3,
214+
ARDUINO_UNO_D1 = PD_6,
215+
ARDUINO_UNO_D2 = PD_11,
216+
ARDUINO_UNO_D3 = PD_12,
217+
ARDUINO_UNO_D4 = PD_13,
218+
ARDUINO_UNO_D5 = PA_8,
219+
ARDUINO_UNO_D6 = PB_6,
220+
ARDUINO_UNO_D7 = PB_7,
221+
ARDUINO_UNO_D8 = PB_15,
222+
ARDUINO_UNO_D9 = PB_14,
223+
ARDUINO_UNO_D10 = PA_15,
224+
ARDUINO_UNO_D11 = PB_5,
225+
ARDUINO_UNO_D12 = PB_4,
226+
ARDUINO_UNO_D13 = PB_3,
227+
ARDUINO_UNO_D14 = PB_9,
228+
ARDUINO_UNO_D15 = PB_8,
229+
#endif
229230

230231
// STDIO for console print
231232
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
232-
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
233+
CONSOLE_TX = MBED_CONF_TARGET_STDIO_UART_TX,
233234
#else
234-
STDIO_UART_TX = PC_6,
235+
CONSOLE_TX = PC_6,
235236
#endif
236237
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
237-
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
238+
CONSOLE_RX = MBED_CONF_TARGET_STDIO_UART_RX,
238239
#else
239-
STDIO_UART_RX = PC_7,
240+
CONSOLE_RX = PC_7,
240241
#endif
241242

242-
// Generic signals namings
243-
LED1 = PB_3,
244-
LED2 = PD_8,
245-
LED3 = PD_9,
246-
LED4 = PD_10,
247-
CONSOLE_TX = STDIO_UART_TX, /* USART6 */
248-
CONSOLE_RX = STDIO_UART_RX,
249-
I2C_SCL = PB_8, /* I2C1 */
250-
I2C_SDA = PB_9,
251-
SPI_MOSI = PC_3,
252-
SPI_MISO = PC_2,
253-
SPI_SCK = PB_10,
254-
SPI_CS = PE_3,
255243
SD_MOSI = PC_3,
256244
SD_MISO = PC_2,
257245
SD_SCK = PB_10,
@@ -261,6 +249,13 @@ typedef enum {
261249
NC = (int)0xFFFFFFFF
262250
} PinName;
263251

252+
// Standardized LED and button names
253+
#define LED1 PB_3
254+
#define LED2 PD_8
255+
#define LED3 PD_9
256+
#define LED4 PD_10
257+
258+
264259
#ifdef __cplusplus
265260
}
266261
#endif

0 commit comments

Comments
 (0)