Skip to content

Commit 002dc26

Browse files
committed
Let variant.h override definitions if needed
1 parent a6a8b1f commit 002dc26

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed

cores/arduino/pins_arduino.h

+57
Original file line numberDiff line numberDiff line change
@@ -60,108 +60,161 @@ enum {
6060

6161
// Analog pins must be contiguous to be able to loop on each value
6262
#define MAX_ANALOG_INPUTS 24
63+
6364
_Static_assert(NUM_ANALOG_INPUTS <= MAX_ANALOG_INPUTS,
6465
"Core NUM_ANALOG_INPUTS limited to MAX_ANALOG_INPUTS");
66+
#ifndef PIN_A0
6567
_Static_assert(NUM_ANALOG_FIRST >= NUM_ANALOG_INPUTS,
6668
"First analog pin value (A0) must be greater than or equal to NUM_ANALOG_INPUTS");
69+
#endif
6770

6871
// Defined for backward compatibility with Firmata which unfortunately use it
72+
#ifndef AEND
6973
#define AEND (NUM_ANALOG_FIRST+NUM_ANALOG_INPUTS)
74+
#endif
7075

7176
#if NUM_ANALOG_INPUTS > 0
77+
#ifndef PIN_A0
7278
#define PIN_A0 NUM_ANALOG_FIRST
79+
#endif
7380
static const uint8_t A0 = PIN_A0;
7481
#endif
7582
#if NUM_ANALOG_INPUTS > 1
83+
#ifndef PIN_A1
7684
#define PIN_A1 (PIN_A0 + 1)
85+
#endif
7786
static const uint8_t A1 = PIN_A1;
7887
#endif
7988
#if NUM_ANALOG_INPUTS > 2
89+
#ifndef PIN_A2
8090
#define PIN_A2 (PIN_A1 + 1)
91+
#endif
8192
static const uint8_t A2 = PIN_A2;
8293
#endif
8394
#if NUM_ANALOG_INPUTS > 3
95+
#ifndef PIN_A3
8496
#define PIN_A3 (PIN_A2 + 1)
97+
#endif
8598
static const uint8_t A3 = PIN_A3;
8699
#endif
87100
#if NUM_ANALOG_INPUTS > 4
101+
#ifndef PIN_A4
88102
#define PIN_A4 (PIN_A3 + 1)
103+
#endif
89104
static const uint8_t A4 = PIN_A4;
90105
#endif
91106
#if NUM_ANALOG_INPUTS > 5
107+
#ifndef PIN_A5
92108
#define PIN_A5 (PIN_A4 + 1)
109+
#endif
93110
static const uint8_t A5 = PIN_A5;
94111
#endif
95112
#if NUM_ANALOG_INPUTS > 6
113+
#ifndef PIN_A6
96114
#define PIN_A6 (PIN_A5 + 1)
115+
#endif
97116
static const uint8_t A6 = PIN_A6;
98117
#endif
99118
#if NUM_ANALOG_INPUTS > 7
119+
#ifndef PIN_A7
100120
#define PIN_A7 (PIN_A6 + 1)
121+
#endif
101122
static const uint8_t A7 = PIN_A7;
102123
#endif
103124
#if NUM_ANALOG_INPUTS > 8
125+
#ifndef PIN_A8
104126
#define PIN_A8 (PIN_A7 + 1)
127+
#endif
105128
static const uint8_t A8 = PIN_A8;
106129
#endif
107130
#if NUM_ANALOG_INPUTS > 9
131+
#ifndef PIN_A9
108132
#define PIN_A9 (PIN_A8 + 1)
133+
#endif
109134
static const uint8_t A9 = PIN_A9;
110135
#endif
111136
#if NUM_ANALOG_INPUTS > 10
137+
#ifndef PIN_A10
112138
#define PIN_A10 (PIN_A9 + 1)
139+
#endif
113140
static const uint8_t A10 = PIN_A10;
114141
#endif
115142
#if NUM_ANALOG_INPUTS > 11
143+
#ifndef PIN_A11
116144
#define PIN_A11 (PIN_A10 + 1)
145+
#endif
117146
static const uint8_t A11 = PIN_A11;
118147
#endif
119148
#if NUM_ANALOG_INPUTS > 12
149+
#ifndef PIN_A12
120150
#define PIN_A12 (PIN_A11 + 1)
151+
#endif
121152
static const uint8_t A12 = PIN_A12;
122153
#endif
123154
#if NUM_ANALOG_INPUTS > 13
155+
#ifndef PIN_A13
124156
#define PIN_A13 (PIN_A12 + 1)
157+
#endif
125158
static const uint8_t A13 = PIN_A13;
126159
#endif
127160
#if NUM_ANALOG_INPUTS > 14
161+
#ifndef PIN_A14
128162
#define PIN_A14 (PIN_A13 + 1)
163+
#endif
129164
static const uint8_t A14 = PIN_A14;
130165
#endif
131166
#if NUM_ANALOG_INPUTS > 15
167+
#ifndef PIN_A15
132168
#define PIN_A15 (PIN_A14 + 1)
169+
#endif
133170
static const uint8_t A15 = PIN_A15;
134171
#endif
135172
#if NUM_ANALOG_INPUTS > 16
173+
#ifndef PIN_A16
136174
#define PIN_A16 (PIN_A15 + 1)
175+
#endif
137176
static const uint8_t A16 = PIN_A16;
138177
#endif
139178
#if NUM_ANALOG_INPUTS > 17
179+
#ifndef PIN_A17
140180
#define PIN_A17 (PIN_A16 + 1)
181+
#endif
141182
static const uint8_t A17 = PIN_A17;
142183
#endif
143184
#if NUM_ANALOG_INPUTS > 18
185+
#ifndef PIN_A18
144186
#define PIN_A18 (PIN_A17 + 1)
187+
#endif
145188
static const uint8_t A18 = PIN_A18;
146189
#endif
147190
#if NUM_ANALOG_INPUTS > 19
191+
#ifndef PIN_A19
148192
#define PIN_A19 (PIN_A18 + 1)
193+
#endif
149194
static const uint8_t A19 = PIN_A19;
150195
#endif
151196
#if NUM_ANALOG_INPUTS > 20
197+
#ifndef PIN_A20
152198
#define PIN_A20 (PIN_A19 + 1)
199+
#endif
153200
static const uint8_t A20 = PIN_A20;
154201
#endif
155202
#if NUM_ANALOG_INPUTS > 21
203+
#ifndef PIN_A21
156204
#define PIN_A21 (PIN_A20 + 1)
205+
#endif
157206
static const uint8_t A21 = PIN_A21;
158207
#endif
159208
#if NUM_ANALOG_INPUTS > 22
209+
#ifndef PIN_A22
160210
#define PIN_A22 (PIN_A21 + 1)
211+
#endif
161212
static const uint8_t A22 = PIN_A22;
162213
#endif
163214
#if NUM_ANALOG_INPUTS > 23
215+
#ifndef PIN_A23
164216
#define PIN_A23 (PIN_A22 + 1)
217+
#endif
165218
static const uint8_t A23 = PIN_A23;
166219
#endif
167220

@@ -239,10 +292,14 @@ uint32_t pinNametoDigitalPin(PinName p);
239292
// Convert an analog pin number to a digital pin number
240293
#if defined(NUM_ANALOG_INPUTS) && (NUM_ANALOG_INPUTS>0)
241294
// Used by analogRead api to have A0 == 0
295+
#ifndef analogInputToDigitalPin
242296
#define analogInputToDigitalPin(p) (((uint32_t)p < NUM_ANALOG_INPUTS) ? (p+A0) : p)
297+
#endif
243298
#else
299+
#ifndef analogInputToDigitalPin
244300
#define analogInputToDigitalPin(p) (NUM_DIGITAL_PINS)
245301
#endif
302+
#endif
246303
// Convert an analog pin number Axx to a PinName PX_n
247304
PinName analogInputToPinName(uint32_t pin);
248305

0 commit comments

Comments
 (0)