JM9 XRCU Board
0.1.0
Libraries API Reference
Loading...
Searching...
No Matches
pins_arduino_analog.h
1
/*
2
*******************************************************************************
3
* Copyright (c) 2020, STMicroelectronics
4
* All rights reserved.
5
*
6
* This software component is licensed by ST under BSD 3-Clause license,
7
* the "License"; You may not use this file except in compliance with the
8
* License. You may obtain a copy of the License at:
9
* opensource.org/licenses/BSD-3-Clause
10
*
11
*******************************************************************************
12
*/
13
#ifndef _PINS_ARDUINO_ANALOG_H_
14
#define _PINS_ARDUINO_ANALOG_H_
15
#include "variant.h"
16
#include "PinNames.h"
17
18
/*
19
* Pin number Analog base
20
* To check if a pin number is an analog pin:
21
* ((p & PNUM_ANALOG_BASE) == PNUM_ANALOG_BASE)
22
* if true then p is an analog pin number
23
* else not
24
*/
25
#define PNUM_ANALOG_BASE 0xC0
26
/*
27
* Pin number Analog index
28
* allows to retrieve the pin number index of an analog pin
29
* in the analogInputPin[] array:
30
* analogInputPin[p & PNUM_ANALOG_INDEX]
31
*/
32
#define PNUM_ANALOG_INDEX 0x3F
33
34
/* Arduino analog pins */
35
#ifndef NUM_ANALOG_INPUTS
36
#define NUM_ANALOG_INPUTS 0
37
#endif
38
39
/* Analog internal pin numbers follow the analog pin number */
40
#define NUM_ANALOG_INTERNAL_FIRST (PNUM_ANALOG_BASE + NUM_ANALOG_INPUTS)
41
42
/* ADC internal channels (not a pins) */
43
/* Only used for analogRead() */
44
#if defined(ADC_CHANNEL_TEMPSENSOR) || defined(ADC_CHANNEL_TEMPSENSOR_ADC1)
45
#define ATEMP (NUM_ANALOG_INTERNAL_FIRST)
46
#endif
47
#ifdef ADC_CHANNEL_VREFINT
48
#define AVREF (NUM_ANALOG_INTERNAL_FIRST + 1)
49
#endif
50
#ifdef ADC_CHANNEL_VBAT
51
#define AVBAT (NUM_ANALOG_INTERNAL_FIRST + 2)
52
#endif
53
#if defined(ADC5) && defined(ADC_CHANNEL_TEMPSENSOR_ADC5)
54
#define ATEMP_ADC5 (NUM_ANALOG_INTERNAL_FIRST + 3)
55
#endif
56
57
/* If NUM_ANALOG_INPUTS is not defined there is no analog pins defined. */
58
/* Anyway ADC internal channels are always available. */
59
#if NUM_ANALOG_INPUTS > 0
60
#define PIN_A0 PNUM_ANALOG_BASE
61
#if NUM_ANALOG_INPUTS > 1
62
#define PIN_A1 (PIN_A0 + 1)
63
#endif
64
#if NUM_ANALOG_INPUTS > 2
65
#define PIN_A2 (PIN_A1 + 1)
66
#endif
67
#if NUM_ANALOG_INPUTS > 3
68
#define PIN_A3 (PIN_A2 + 1)
69
#endif
70
#if NUM_ANALOG_INPUTS > 4
71
#define PIN_A4 (PIN_A3 + 1)
72
#endif
73
#if NUM_ANALOG_INPUTS > 5
74
#define PIN_A5 (PIN_A4 + 1)
75
#endif
76
#if NUM_ANALOG_INPUTS > 6
77
#define PIN_A6 (PIN_A5 + 1)
78
#endif
79
#if NUM_ANALOG_INPUTS > 7
80
#define PIN_A7 (PIN_A6 + 1)
81
#endif
82
#if NUM_ANALOG_INPUTS > 8
83
#define PIN_A8 (PIN_A7 + 1)
84
#endif
85
#if NUM_ANALOG_INPUTS > 9
86
#define PIN_A9 (PIN_A8 + 1)
87
#endif
88
#if NUM_ANALOG_INPUTS > 10
89
#define PIN_A10 (PIN_A9 + 1)
90
#endif
91
#if NUM_ANALOG_INPUTS > 11
92
#define PIN_A11 (PIN_A10 + 1)
93
#endif
94
#if NUM_ANALOG_INPUTS > 12
95
#define PIN_A12 (PIN_A11 + 1)
96
#endif
97
#if NUM_ANALOG_INPUTS > 13
98
#define PIN_A13 (PIN_A12 + 1)
99
#endif
100
#if NUM_ANALOG_INPUTS > 14
101
#define PIN_A14 (PIN_A13 + 1)
102
#endif
103
#if NUM_ANALOG_INPUTS > 15
104
#define PIN_A15 (PIN_A14 + 1)
105
#endif
106
#if NUM_ANALOG_INPUTS > 16
107
#define PIN_A16 (PIN_A15 + 1)
108
#endif
109
#if NUM_ANALOG_INPUTS > 17
110
#define PIN_A17 (PIN_A16 + 1)
111
#endif
112
#if NUM_ANALOG_INPUTS > 18
113
#define PIN_A18 (PIN_A17 + 1)
114
#endif
115
#if NUM_ANALOG_INPUTS > 19
116
#define PIN_A19 (PIN_A18 + 1)
117
#endif
118
#if NUM_ANALOG_INPUTS > 20
119
#define PIN_A20 (PIN_A19 + 1)
120
#endif
121
#if NUM_ANALOG_INPUTS > 21
122
#define PIN_A21 (PIN_A20 + 1)
123
#endif
124
#if NUM_ANALOG_INPUTS > 22
125
#define PIN_A22 (PIN_A21 + 1)
126
#endif
127
#if NUM_ANALOG_INPUTS > 23
128
#define PIN_A23 (PIN_A22 + 1)
129
#endif
130
#if NUM_ANALOG_INPUTS > 24
131
#define PIN_A24 (PIN_A23 + 1)
132
#endif
133
#if NUM_ANALOG_INPUTS > 25
134
#define PIN_A25 (PIN_A24 + 1)
135
#endif
136
#if NUM_ANALOG_INPUTS > 26
137
#define PIN_A26 (PIN_A25 + 1)
138
#endif
139
#if NUM_ANALOG_INPUTS > 27
140
#define PIN_A27 (PIN_A26 + 1)
141
#endif
142
#if NUM_ANALOG_INPUTS > 28
143
#define PIN_A28 (PIN_A27 + 1)
144
#endif
145
#if NUM_ANALOG_INPUTS > 29
146
#define PIN_A29 (PIN_A28 + 1)
147
#endif
148
#if NUM_ANALOG_INPUTS > 30
149
#define PIN_A30 (PIN_A29 + 1)
150
#endif
151
#if NUM_ANALOG_INPUTS > 31
152
#define PIN_A31 (PIN_A30 + 1)
153
#endif
154
#if NUM_ANALOG_INPUTS > 32
155
#define PIN_A32 (PIN_A31 + 1)
156
#endif
157
#if NUM_ANALOG_INPUTS > 33
158
#define PIN_A33 (PIN_A32 + 1)
159
#endif
160
#if NUM_ANALOG_INPUTS > 34
161
#define PIN_A34 (PIN_A33 + 1)
162
#endif
163
#if NUM_ANALOG_INPUTS > 35
164
#define PIN_A35 (PIN_A34 + 1)
165
#endif
166
#if NUM_ANALOG_INPUTS > 36
167
#define PIN_A36 (PIN_A35 + 1)
168
#endif
169
#if NUM_ANALOG_INPUTS > 37
170
#define PIN_A37 (PIN_A36 + 1)
171
#endif
172
#if NUM_ANALOG_INPUTS > 38
173
#define PIN_A38 (PIN_A37 + 1)
174
#endif
175
#if NUM_ANALOG_INPUTS > 39
176
#define PIN_A39 (PIN_A38 + 1)
177
#endif
178
#if NUM_ANALOG_INPUTS > 40
179
#define PIN_A40 (PIN_A39 + 1)
180
#endif
181
#if NUM_ANALOG_INPUTS > 41
182
#define PIN_A41 (PIN_A40 + 1)
183
#endif
184
#if NUM_ANALOG_INPUTS > 42
185
#define PIN_A42 (PIN_A41 + 1)
186
#endif
187
#if NUM_ANALOG_INPUTS > 43
188
#define PIN_A43 (PIN_A42 + 1)
189
#endif
190
#if NUM_ANALOG_INPUTS > 44
191
#define PIN_A44 (PIN_A43 + 1)
192
#endif
193
#if NUM_ANALOG_INPUTS > 45
194
#define PIN_A45 (PIN_A44 + 1)
195
#endif
196
#if NUM_ANALOG_INPUTS > 46
197
#define PIN_A46 (PIN_A45 + 1)
198
#endif
199
#if NUM_ANALOG_INPUTS > 47
200
#define PIN_A47 (PIN_A46 + 1)
201
#endif
202
#if NUM_ANALOG_INPUTS > 48
203
#define PIN_A48 (PIN_A47 + 1)
204
#endif
205
#if NUM_ANALOG_INPUTS > 49
206
#define PIN_A49 (PIN_A48 + 1)
207
#endif
208
#if NUM_ANALOG_INPUTS > 50
209
#define PIN_A50 (PIN_A49 + 1)
210
#endif
211
#if NUM_ANALOG_INPUTS > 51
212
#define PIN_A51 (PIN_A50 + 1)
213
#endif
214
#if NUM_ANALOG_INPUTS > 52
215
#define PIN_A52 (PIN_A51 + 1)
216
#endif
217
#if NUM_ANALOG_INPUTS > 53
218
#define PIN_A53 (PIN_A52 + 1)
219
#endif
220
#if NUM_ANALOG_INPUTS > 54
221
#define PIN_A54 (PIN_A53 + 1)
222
#endif
223
#if NUM_ANALOG_INPUTS > 55
224
#define PIN_A55 (PIN_A54 + 1)
225
#endif
226
#if NUM_ANALOG_INPUTS > 56
227
#define PIN_A56 (PIN_A55 + 1)
228
#endif
229
#if NUM_ANALOG_INPUTS > 57
230
#define PIN_A57 (PIN_A56 + 1)
231
#endif
232
#if NUM_ANALOG_INPUTS > 58
233
#define PIN_A58 (PIN_A57 + 1)
234
#endif
235
#if NUM_ANALOG_INPUTS > 59
236
#define PIN_A59 (PIN_A58 + 1)
237
#endif
238
#if NUM_ANALOG_INPUTS > 60
239
#define PIN_A60 (PIN_A59 + 1)
240
#endif
241
#if NUM_ANALOG_INPUTS > 61
242
#define PIN_A61 (PIN_A60 + 1)
243
#endif
244
#if NUM_ANALOG_INPUTS > 62
245
#define PIN_A62 (PIN_A61 + 1)
246
#endif
247
#if NUM_ANALOG_INPUTS > 63
248
#define PIN_A63 (PIN_A62 + 1)
249
#endif
250
251
252
enum
{
253
A0 = PIN_A0
254
#if NUM_ANALOG_INPUTS > 1
255
, A1 = PIN_A1
256
#endif
257
#if NUM_ANALOG_INPUTS > 2
258
, A2 = PIN_A2
259
#endif
260
#if NUM_ANALOG_INPUTS > 3
261
, A3 = PIN_A3
262
#endif
263
#if NUM_ANALOG_INPUTS > 4
264
, A4 = PIN_A4
265
#endif
266
#if NUM_ANALOG_INPUTS > 5
267
, A5 = PIN_A5
268
#endif
269
#if NUM_ANALOG_INPUTS > 6
270
, A6 = PIN_A6
271
#endif
272
#if NUM_ANALOG_INPUTS > 7
273
, A7 = PIN_A7
274
#endif
275
#if NUM_ANALOG_INPUTS > 8
276
, A8 = PIN_A8
277
#endif
278
#if NUM_ANALOG_INPUTS > 9
279
, A9 = PIN_A9
280
#endif
281
#if NUM_ANALOG_INPUTS > 10
282
, A10 = PIN_A10
283
#endif
284
#if NUM_ANALOG_INPUTS > 11
285
, A11 = PIN_A11
286
#endif
287
#if NUM_ANALOG_INPUTS > 12
288
, A12 = PIN_A12
289
#endif
290
#if NUM_ANALOG_INPUTS > 13
291
, A13 = PIN_A13
292
#endif
293
#if NUM_ANALOG_INPUTS > 14
294
, A14 = PIN_A14
295
#endif
296
#if NUM_ANALOG_INPUTS > 15
297
, A15 = PIN_A15
298
#endif
299
#if NUM_ANALOG_INPUTS > 16
300
, A16 = PIN_A16
301
#endif
302
#if NUM_ANALOG_INPUTS > 17
303
, A17 = PIN_A17
304
#endif
305
#if NUM_ANALOG_INPUTS > 18
306
, A18 = PIN_A18
307
#endif
308
#if NUM_ANALOG_INPUTS > 19
309
, A19 = PIN_A19
310
#endif
311
#if NUM_ANALOG_INPUTS > 20
312
, A20 = PIN_A20
313
#endif
314
#if NUM_ANALOG_INPUTS > 21
315
, A21 = PIN_A21
316
#endif
317
#if NUM_ANALOG_INPUTS > 22
318
, A22 = PIN_A22
319
#endif
320
#if NUM_ANALOG_INPUTS > 23
321
, A23 = PIN_A23
322
#endif
323
#if NUM_ANALOG_INPUTS > 24
324
, A24 = PIN_A24
325
#endif
326
#if NUM_ANALOG_INPUTS > 25
327
, A25 = PIN_A25
328
#endif
329
#if NUM_ANALOG_INPUTS > 26
330
, A26 = PIN_A26
331
#endif
332
#if NUM_ANALOG_INPUTS > 27
333
, A27 = PIN_A27
334
#endif
335
#if NUM_ANALOG_INPUTS > 28
336
, A28 = PIN_A28
337
#endif
338
#if NUM_ANALOG_INPUTS > 29
339
, A29 = PIN_A29
340
#endif
341
#if NUM_ANALOG_INPUTS > 30
342
, A30 = PIN_A30
343
#endif
344
#if NUM_ANALOG_INPUTS > 31
345
, A31 = PIN_A31
346
#endif
347
#if NUM_ANALOG_INPUTS > 32
348
, A32 = PIN_A32
349
#endif
350
#if NUM_ANALOG_INPUTS > 33
351
, A33 = PIN_A33
352
#endif
353
#if NUM_ANALOG_INPUTS > 34
354
, A34 = PIN_A34
355
#endif
356
#if NUM_ANALOG_INPUTS > 35
357
, A35 = PIN_A35
358
#endif
359
#if NUM_ANALOG_INPUTS > 36
360
, A36 = PIN_A36
361
#endif
362
#if NUM_ANALOG_INPUTS > 37
363
, A37 = PIN_A37
364
#endif
365
#if NUM_ANALOG_INPUTS > 38
366
, A38 = PIN_A38
367
#endif
368
#if NUM_ANALOG_INPUTS > 39
369
, A39 = PIN_A39
370
#endif
371
#if NUM_ANALOG_INPUTS > 40
372
, A40 = PIN_A40
373
#endif
374
#if NUM_ANALOG_INPUTS > 41
375
, A41 = PIN_A41
376
#endif
377
#if NUM_ANALOG_INPUTS > 42
378
, A42 = PIN_A42
379
#endif
380
#if NUM_ANALOG_INPUTS > 43
381
, A43 = PIN_A43
382
#endif
383
#if NUM_ANALOG_INPUTS > 44
384
, A44 = PIN_A44
385
#endif
386
#if NUM_ANALOG_INPUTS > 45
387
, A45 = PIN_A45
388
#endif
389
#if NUM_ANALOG_INPUTS > 46
390
, A46 = PIN_A46
391
#endif
392
#if NUM_ANALOG_INPUTS > 47
393
, A47 = PIN_A47
394
#endif
395
#if NUM_ANALOG_INPUTS > 48
396
, A48 = PIN_A48
397
#endif
398
#if NUM_ANALOG_INPUTS > 49
399
, A49 = PIN_A49
400
#endif
401
#if NUM_ANALOG_INPUTS > 50
402
, A50 = PIN_A50
403
#endif
404
#if NUM_ANALOG_INPUTS > 51
405
, A51 = PIN_A51
406
#endif
407
#if NUM_ANALOG_INPUTS > 52
408
, A52 = PIN_A52
409
#endif
410
#if NUM_ANALOG_INPUTS > 53
411
, A53 = PIN_A53
412
#endif
413
#if NUM_ANALOG_INPUTS > 54
414
, A54 = PIN_A54
415
#endif
416
#if NUM_ANALOG_INPUTS > 55
417
, A55 = PIN_A55
418
#endif
419
#if NUM_ANALOG_INPUTS > 56
420
, A56 = PIN_A56
421
#endif
422
#if NUM_ANALOG_INPUTS > 57
423
, A57 = PIN_A57
424
#endif
425
#if NUM_ANALOG_INPUTS > 58
426
, A58 = PIN_A58
427
#endif
428
#if NUM_ANALOG_INPUTS > 59
429
, A59 = PIN_A59
430
#endif
431
#if NUM_ANALOG_INPUTS > 60
432
, A60 = PIN_A60
433
#endif
434
#if NUM_ANALOG_INPUTS > 61
435
, A61 = PIN_A61
436
#endif
437
#if NUM_ANALOG_INPUTS > 62
438
, A62 = PIN_A62
439
#endif
440
#if NUM_ANALOG_INPUTS > 63
441
, A63 = PIN_A63
442
#endif
443
};
444
#define MAX_ANALOG_INPUTS 64
445
#else
446
#define MAX_ANALOG_INPUTS 0
447
#endif
/* NUM_ANALOG_INPUTS > 0 */
448
449
#endif
/*_PINS_ARDUINO_ANALOG_H_*/
cores
arduino
pins_arduino_analog.h
Generated by
1.13.2