@@ -60,108 +60,161 @@ enum {
60
60
61
61
// Analog pins must be contiguous to be able to loop on each value
62
62
#define MAX_ANALOG_INPUTS 24
63
+
63
64
_Static_assert (NUM_ANALOG_INPUTS <= MAX_ANALOG_INPUTS ,
64
65
"Core NUM_ANALOG_INPUTS limited to MAX_ANALOG_INPUTS" );
66
+ #ifndef PIN_A0
65
67
_Static_assert (NUM_ANALOG_FIRST >= NUM_ANALOG_INPUTS ,
66
68
"First analog pin value (A0) must be greater than or equal to NUM_ANALOG_INPUTS" );
69
+ #endif
67
70
68
71
// Defined for backward compatibility with Firmata which unfortunately use it
72
+ #ifndef AEND
69
73
#define AEND (NUM_ANALOG_FIRST+NUM_ANALOG_INPUTS)
74
+ #endif
70
75
71
76
#if NUM_ANALOG_INPUTS > 0
77
+ #ifndef PIN_A0
72
78
#define PIN_A0 NUM_ANALOG_FIRST
79
+ #endif
73
80
static const uint8_t A0 = PIN_A0 ;
74
81
#endif
75
82
#if NUM_ANALOG_INPUTS > 1
83
+ #ifndef PIN_A1
76
84
#define PIN_A1 (PIN_A0 + 1)
85
+ #endif
77
86
static const uint8_t A1 = PIN_A1 ;
78
87
#endif
79
88
#if NUM_ANALOG_INPUTS > 2
89
+ #ifndef PIN_A2
80
90
#define PIN_A2 (PIN_A1 + 1)
91
+ #endif
81
92
static const uint8_t A2 = PIN_A2 ;
82
93
#endif
83
94
#if NUM_ANALOG_INPUTS > 3
95
+ #ifndef PIN_A3
84
96
#define PIN_A3 (PIN_A2 + 1)
97
+ #endif
85
98
static const uint8_t A3 = PIN_A3 ;
86
99
#endif
87
100
#if NUM_ANALOG_INPUTS > 4
101
+ #ifndef PIN_A4
88
102
#define PIN_A4 (PIN_A3 + 1)
103
+ #endif
89
104
static const uint8_t A4 = PIN_A4 ;
90
105
#endif
91
106
#if NUM_ANALOG_INPUTS > 5
107
+ #ifndef PIN_A5
92
108
#define PIN_A5 (PIN_A4 + 1)
109
+ #endif
93
110
static const uint8_t A5 = PIN_A5 ;
94
111
#endif
95
112
#if NUM_ANALOG_INPUTS > 6
113
+ #ifndef PIN_A6
96
114
#define PIN_A6 (PIN_A5 + 1)
115
+ #endif
97
116
static const uint8_t A6 = PIN_A6 ;
98
117
#endif
99
118
#if NUM_ANALOG_INPUTS > 7
119
+ #ifndef PIN_A7
100
120
#define PIN_A7 (PIN_A6 + 1)
121
+ #endif
101
122
static const uint8_t A7 = PIN_A7 ;
102
123
#endif
103
124
#if NUM_ANALOG_INPUTS > 8
125
+ #ifndef PIN_A8
104
126
#define PIN_A8 (PIN_A7 + 1)
127
+ #endif
105
128
static const uint8_t A8 = PIN_A8 ;
106
129
#endif
107
130
#if NUM_ANALOG_INPUTS > 9
131
+ #ifndef PIN_A9
108
132
#define PIN_A9 (PIN_A8 + 1)
133
+ #endif
109
134
static const uint8_t A9 = PIN_A9 ;
110
135
#endif
111
136
#if NUM_ANALOG_INPUTS > 10
137
+ #ifndef PIN_A10
112
138
#define PIN_A10 (PIN_A9 + 1)
139
+ #endif
113
140
static const uint8_t A10 = PIN_A10 ;
114
141
#endif
115
142
#if NUM_ANALOG_INPUTS > 11
143
+ #ifndef PIN_A11
116
144
#define PIN_A11 (PIN_A10 + 1)
145
+ #endif
117
146
static const uint8_t A11 = PIN_A11 ;
118
147
#endif
119
148
#if NUM_ANALOG_INPUTS > 12
149
+ #ifndef PIN_A12
120
150
#define PIN_A12 (PIN_A11 + 1)
151
+ #endif
121
152
static const uint8_t A12 = PIN_A12 ;
122
153
#endif
123
154
#if NUM_ANALOG_INPUTS > 13
155
+ #ifndef PIN_A13
124
156
#define PIN_A13 (PIN_A12 + 1)
157
+ #endif
125
158
static const uint8_t A13 = PIN_A13 ;
126
159
#endif
127
160
#if NUM_ANALOG_INPUTS > 14
161
+ #ifndef PIN_A14
128
162
#define PIN_A14 (PIN_A13 + 1)
163
+ #endif
129
164
static const uint8_t A14 = PIN_A14 ;
130
165
#endif
131
166
#if NUM_ANALOG_INPUTS > 15
167
+ #ifndef PIN_A15
132
168
#define PIN_A15 (PIN_A14 + 1)
169
+ #endif
133
170
static const uint8_t A15 = PIN_A15 ;
134
171
#endif
135
172
#if NUM_ANALOG_INPUTS > 16
173
+ #ifndef PIN_A16
136
174
#define PIN_A16 (PIN_A15 + 1)
175
+ #endif
137
176
static const uint8_t A16 = PIN_A16 ;
138
177
#endif
139
178
#if NUM_ANALOG_INPUTS > 17
179
+ #ifndef PIN_A17
140
180
#define PIN_A17 (PIN_A16 + 1)
181
+ #endif
141
182
static const uint8_t A17 = PIN_A17 ;
142
183
#endif
143
184
#if NUM_ANALOG_INPUTS > 18
185
+ #ifndef PIN_A18
144
186
#define PIN_A18 (PIN_A17 + 1)
187
+ #endif
145
188
static const uint8_t A18 = PIN_A18 ;
146
189
#endif
147
190
#if NUM_ANALOG_INPUTS > 19
191
+ #ifndef PIN_A19
148
192
#define PIN_A19 (PIN_A18 + 1)
193
+ #endif
149
194
static const uint8_t A19 = PIN_A19 ;
150
195
#endif
151
196
#if NUM_ANALOG_INPUTS > 20
197
+ #ifndef PIN_A20
152
198
#define PIN_A20 (PIN_A19 + 1)
199
+ #endif
153
200
static const uint8_t A20 = PIN_A20 ;
154
201
#endif
155
202
#if NUM_ANALOG_INPUTS > 21
203
+ #ifndef PIN_A21
156
204
#define PIN_A21 (PIN_A20 + 1)
205
+ #endif
157
206
static const uint8_t A21 = PIN_A21 ;
158
207
#endif
159
208
#if NUM_ANALOG_INPUTS > 22
209
+ #ifndef PIN_A22
160
210
#define PIN_A22 (PIN_A21 + 1)
211
+ #endif
161
212
static const uint8_t A22 = PIN_A22 ;
162
213
#endif
163
214
#if NUM_ANALOG_INPUTS > 23
215
+ #ifndef PIN_A23
164
216
#define PIN_A23 (PIN_A22 + 1)
217
+ #endif
165
218
static const uint8_t A23 = PIN_A23 ;
166
219
#endif
167
220
@@ -239,10 +292,14 @@ uint32_t pinNametoDigitalPin(PinName p);
239
292
// Convert an analog pin number to a digital pin number
240
293
#if defined(NUM_ANALOG_INPUTS ) && (NUM_ANALOG_INPUTS > 0 )
241
294
// Used by analogRead api to have A0 == 0
295
+ #ifndef analogInputToDigitalPin
242
296
#define analogInputToDigitalPin (p ) (((uint32_t)p < NUM_ANALOG_INPUTS) ? (p+A0) : p)
297
+ #endif
243
298
#else
299
+ #ifndef analogInputToDigitalPin
244
300
#define analogInputToDigitalPin (p ) (NUM_DIGITAL_PINS)
245
301
#endif
302
+ #endif
246
303
// Convert an analog pin number Axx to a PinName PX_n
247
304
PinName analogInputToPinName (uint32_t pin );
248
305
0 commit comments