Skip to content

Commit 628273a

Browse files
committed
[Black F407] Update pin mapping
Allow to use pin Number Pxn with analogRead(). Re-order some pins to allow contiguous analogs pins to avoid to duplicate them. Signed-off-by: Frederic.Pillon <[email protected]> Fix pin mapping
1 parent 623d2a5 commit 628273a

File tree

2 files changed

+141
-175
lines changed

2 files changed

+141
-175
lines changed

variants/BLACK_F407VE/variant.cpp

Lines changed: 40 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -39,74 +39,60 @@ extern "C" {
3939
// This array allows to wrap Arduino pin number(Dx or x)
4040
// to STM32 PinName (PX_n)
4141
const PinName digitalPin[] = {
42-
// Left Side
43-
//Ext //Int
44-
//5V //5V
45-
//5V //5V
46-
//3V3 //3V3
47-
//3V3 //3V3
48-
//GND //GND
49-
PE_2, PE_3, // D0, D1
50-
PE_4, PE_5, // PE_4: BUT K0, PE_5: BUT K1
51-
PE_6, PC_13,
52-
PC_0, PC_1,
53-
PC_2, PC_3,
54-
//VREF- //VREF+
55-
PA_0, PA_1, // D10, D11 PA_0(WK_UP): BUT K_UP)
56-
PA_2, PA_3,
57-
PA_4, PA_5,
58-
PA_6, PA_7, // PA_6: LED D2, PA_7: LED D3 (active LOW)
59-
PC_4, PC_5,
60-
PB_0, PB_1, // D20, D21
61-
PE_7, PE_8,
62-
PE_9, PE_10,
63-
PE_11, PE_12,
64-
PE_13, PE_14,
65-
PE_15, PB_10, // D30, D31
66-
PB_11, PB_12,
67-
PB_13, PB_14,
6842
// Right Side
6943
//Int //Ext
7044
//3V3 //3V3
7145
//3V3 //3V3
7246
//BOOT0 //BOOT1
7347
//GND //GND
7448
//GND //GND
75-
PE_1, PE_0,
49+
PE_1, PE_0, // D0, D1
7650
PB_9, PB_8,
77-
PB_7, PB_6, // D40, D41
51+
PB_7, PB_6,
7852
PB_5, PB_3,
7953
PD_7, PD_6,
80-
PD_5, PD_4,
54+
PD_5, PD_4, // D10, D11
8155
PD_3, PD_2,
82-
PD_1, PD_0, // D50, D51
56+
PD_1, PD_0,
8357
PC_12, PC_11,
8458
PC_10, PA_15,
85-
PA_12, PA_11, // PA_11: USB_DM, PA_12: USB_DP
59+
PA_12, PA_11, // D20, D21 PA_11: USB_DM, PA_12: USB_DP
8660
PA_10, PA_9,
87-
PA_8, PC_9, // D60, D61
61+
PA_8, PC_9,
8862
PC_8, PC_7,
8963
PC_6, PD_15,
90-
PD_14, PD_13,
64+
PD_14, PD_13, // D30, D31
9165
PD_12, PD_11,
92-
PD_10, PD_9, // D70, D71
66+
PD_10, PD_9,
9367
PD_8, PB_15,
68+
// Left Side
69+
//Ext //Int
70+
//5V //5V
71+
//5V //5V
72+
//3V3 //3V3
73+
//3V3 //3V3
74+
//GND //GND
75+
PE_2, PE_3,
76+
PE_4, PE_5, // D40, D41 PE_4: BUT K0, PE_5: BUT K1
77+
PE_6, PC_13,
78+
PC_0, PC_1,
79+
PC_2, PC_3,
80+
//VREF- //VREF+
81+
PA_0, PA_1, // PA_0(WK_UP): BUT K_UP)
82+
PA_2, PA_3, // D50, D51
83+
PA_4, PA_5,
84+
/*PA_6, PA_7,*/ // PA_6, PA_7: Moved to allow contiguous analog pins
85+
PC_4, PC_5,
86+
PB_0, PB_1,
87+
PA_6, PA_7, // PA_6: LED D2, PA_7: LED D3 (active LOW)
88+
PE_7, PE_8, // D60, D61
89+
PE_9, PE_10,
90+
PE_11, PE_12,
91+
PE_13, PE_14,
92+
PE_15, PB_10,
93+
PB_11, PB_12, // D70, D71
94+
PB_13, PB_14,
9495
PB_4,
95-
// Analog pins
96-
PA_0, // D75
97-
PA_1,
98-
PA_2,
99-
PA_3,
100-
PA_4,
101-
PA_5, // D80
102-
PB_0,
103-
PB_1,
104-
PC_0,
105-
PC_1,
106-
PC_2,
107-
PC_3,
108-
PC_4,
109-
PC_5
11096
};
11197
#endif // ARDUINO_BLACK_F407VE
11298

@@ -160,45 +146,26 @@ const PinName digitalPin[] = {
160146
PF_15, PG_0,
161147
PF_13, PF_14,
162148
PF_11, PF_12,
163-
PB_1, PB_2,
149+
PB_2, // PB1 PB2 Inverted to allow contiguous analog pins
150+
PB_1,
164151
PC_5, PB_0,
165152
PA_7, PC_4,
166153
PA_5, PA_6,
167154
PA_3, PA_4,
168155
PA_1, PA_2,
169156
PC_3, PA_0, // PA_0(WK_UP): BUT K_UP)
170157
PC_1, PC_2,
171-
PF_10, PC_0, // PF_10: LED D2 (active low)
172-
PF_8, PF_9, // PF_9: LED D1 (active low)
158+
/*PF_10,*/PC_0, // PF_10: Moved to allow contiguous analog pins
159+
PF_8, /*PF_9,*/ // PF_9: Moved to allow contiguous analog pins
173160
PF_6, PF_7,
161+
PF_10, PF_9, // PF_10: LED D2, PF_9: LED D1 (active low)
174162
PF_4, PF_5,
175163
PF_2, PF_3,
176164
PF_0, PF_1,
177165
PE_6, PC_13,
178166
PE_4, PE_5, // PE_4: BUT K0, PE_5: BUT K1
179167
PE_2, PE_3,
180168
PE_0, PE_1,
181-
182-
// Analog pins
183-
PA_0,
184-
PA_1,
185-
PA_2,
186-
PA_3,
187-
PA_4,
188-
PA_5,
189-
PA_6,
190-
PA_7,
191-
PB_0,
192-
PB_1,
193-
PC_0,
194-
PC_1,
195-
PC_2,
196-
PC_3,
197-
PC_4,
198-
PC_5,
199-
PF_6,
200-
PF_7,
201-
PF_8
202169
};
203170
#endif // ARDUINO_BLACK_F407ZE || ARDUINO_BLACK_F407ZG
204171

variants/BLACK_F407VE/variant.h

Lines changed: 101 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -44,91 +44,90 @@ extern "C"{
4444
* Pins
4545
*----------------------------------------------------------------------------*/
4646
extern const PinName digitalPin[];
47-
// Left Side
4847
#ifdef ARDUINO_BLACK_F407VE
49-
50-
#define PE2 0
51-
#define PE3 1
52-
#define PE4 2 // BUT K0
53-
#define PE5 3 // BUT K1
54-
#define PE6 4
55-
#define PC13 5
56-
#define PC0 6 // A8
57-
#define PC1 7 // A9
58-
#define PC2 8 // A10
59-
#define PC3 9 // A11
60-
#define PA0 10 // A0/WK_UP: BUT K_UP
61-
#define PA1 11 // A1
62-
#define PA2 12 // A2
63-
#define PA3 13 // A3
64-
#define PA4 14 // A4
65-
#define PA5 15 // A5
66-
#define PA6 16 // LED D2
67-
#define PA7 17 // LED D3 (active LOW)
68-
#define PC4 18 // A12
69-
#define PC5 19 // A13
70-
#define PB0 20 // A6
71-
#define PB1 21 // A7
72-
#define PE7 22
73-
#define PE8 23
74-
#define PE9 24
75-
#define PE10 25
76-
#define PE11 26
77-
#define PE12 27
78-
#define PE13 28
79-
#define PE14 29
80-
#define PE15 30
81-
#define PB10 31
82-
#define PB11 32
83-
#define PB12 33
84-
#define PB13 34
85-
#define PB14 35
8648
// Right Side
87-
#define PE1 36
88-
#define PE0 37
89-
#define PB9 38
90-
#define PB8 39
91-
#define PB7 40
92-
#define PB6 41
93-
#define PB5 42
94-
#define PB3 43
95-
#define PD7 44
96-
#define PD6 45
97-
#define PD5 46
98-
#define PD4 47
99-
#define PD3 48
100-
#define PD2 49
101-
#define PD1 50
102-
#define PD0 51
103-
#define PC12 52
104-
#define PC11 53
105-
#define PC10 54
106-
#define PA15 55
107-
#define PA12 56 // USB_DP
108-
#define PA11 57 // USB_DM
109-
#define PA10 58
110-
#define PA9 59
111-
#define PA8 60
112-
#define PC9 61
113-
#define PC8 62
114-
#define PC7 63
115-
#define PC6 64
116-
#define PD15 65
117-
#define PD14 66
118-
#define PD13 67
119-
#define PD12 68
120-
#define PD11 69
121-
#define PD10 70
122-
#define PD9 71
123-
#define PD8 72
124-
#define PB15 73
49+
#define PE1 0
50+
#define PE0 1
51+
#define PB9 2
52+
#define PB8 3
53+
#define PB7 4
54+
#define PB6 5
55+
#define PB5 6
56+
#define PB3 7
57+
#define PD7 8
58+
#define PD6 9
59+
#define PD5 10
60+
#define PD4 11
61+
#define PD3 12
62+
#define PD2 13
63+
#define PD1 14
64+
#define PD0 15
65+
#define PC12 16
66+
#define PC11 17
67+
#define PC10 18
68+
#define PA15 19
69+
#define PA12 20 // USB_DP
70+
#define PA11 21 // USB_DM
71+
#define PA10 22
72+
#define PA9 23
73+
#define PA8 24
74+
#define PC9 25
75+
#define PC8 26
76+
#define PC7 27
77+
#define PC6 28
78+
#define PD15 29
79+
#define PD14 30
80+
#define PD13 31
81+
#define PD12 32
82+
#define PD11 33
83+
#define PD10 34
84+
#define PD9 35
85+
#define PD8 36
86+
#define PB15 37
87+
// Left Side
88+
#define PE2 38
89+
#define PE3 39
90+
#define PE4 40 // BUT K0
91+
#define PE5 41 // BUT K1
92+
#define PE6 42
93+
#define PC13 43
94+
#define PC0 44 // A0
95+
#define PC1 45 // A1
96+
#define PC2 46 // A2
97+
#define PC3 47 // A3
98+
#define PA0 48 // A4/WK_UP: BUT K_UP
99+
#define PA1 49 // A5
100+
#define PA2 50 // A6
101+
#define PA3 51 // A7
102+
#define PA4 52 // A8
103+
#define PA5 53 // A9
104+
#define PC4 54 // A10
105+
#define PC5 55 // A11
106+
#define PB0 56 // A12
107+
#define PB1 57 // A13
108+
#define PA6 58 // LED D2
109+
#define PA7 59 // LED D3 (active LOW)
110+
#define PE7 60
111+
#define PE8 61
112+
#define PE9 62
113+
#define PE10 63
114+
#define PE11 64
115+
#define PE12 65
116+
#define PE13 66
117+
#define PE14 67
118+
#define PE15 68
119+
#define PB10 69
120+
#define PB11 70
121+
#define PB12 71
122+
#define PB13 72
123+
#define PB14 73
125124
#define PB4 74
126125

127126
// This must be a literal
128-
#define NUM_DIGITAL_PINS 89
127+
#define NUM_DIGITAL_PINS 75
129128
// This must be a literal with a value less than or equal to MAX_ANALOG_INPUTS
130129
#define NUM_ANALOG_INPUTS 14
131-
#define NUM_ANALOG_FIRST 75
130+
#define NUM_ANALOG_FIRST 44
132131

133132
// Below ADC, DAC and PWM definitions already done in the core
134133
// Could be redefined here if needed
@@ -228,28 +227,28 @@ extern const PinName digitalPin[];
228227
#define PF14 71
229228
#define PF11 72
230229
#define PF12 73
231-
#define PB1 74
232-
#define PB2 75
233-
#define PC5 76
234-
#define PB0 77
235-
#define PA7 78
236-
#define PC4 79
237-
#define PA5 80
238-
#define PA6 81
239-
#define PA3 82
240-
#define PA4 83
241-
#define PA1 84
242-
#define PA2 85
243-
#define PC3 86
244-
#define PA0 87 // PA_0(WK_UP): BUT K_UP)
245-
#define PC1 88
246-
#define PC2 89
247-
#define PF10 90 // LED D2 (active low)
248-
#define PC0 91
249-
#define PF8 92
250-
#define PF9 93 // LED D1 (active low)
251-
#define PF6 94
252-
#define PF7 95
230+
#define PB2 74
231+
#define PB1 75 // A0
232+
#define PC5 76 // A1
233+
#define PB0 77 // A2
234+
#define PA7 78 // A3
235+
#define PC4 79 // A4
236+
#define PA5 80 // A5
237+
#define PA6 81 // A6
238+
#define PA3 82 // A7
239+
#define PA4 83 // A8
240+
#define PA1 84 // A9
241+
#define PA2 85 // A10
242+
#define PC3 86 // A11
243+
#define PA0 87 // A12/PA_0(WK_UP): BUT K_UP)
244+
#define PC1 88 // A13
245+
#define PC2 89 // A14
246+
#define PC0 90 // A15
247+
#define PF8 91 // A16
248+
#define PF6 92 // A17
249+
#define PF7 93 // A18
250+
#define PF9 94 // LED D1 (active low)
251+
#define PF10 95 // LED D2 (active low)
253252
#define PF4 96
254253
#define PF5 97
255254
#define PF2 98
@@ -266,10 +265,10 @@ extern const PinName digitalPin[];
266265
#define PE1 109
267266

268267
// This must be a literal
269-
#define NUM_DIGITAL_PINS 129
268+
#define NUM_DIGITAL_PINS 110
270269
// This must be a literal with a value less than or equal to MAX_ANALOG_INPUTS
271270
#define NUM_ANALOG_INPUTS 19
272-
#define NUM_ANALOG_FIRST 110
271+
#define NUM_ANALOG_FIRST 75
273272

274273
// On-board LED pin number
275274
#define LED_D2 PF10

0 commit comments

Comments
 (0)