ClearCore Library
Loading...
Searching...
No Matches
HardwareMapping.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 Teknic, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
28#ifndef __HARDWAREMAPPING_H__
29#define __HARDWAREMAPPING_H__
30
31#include <sam.h>
32#include "PeripheralRoute.h"
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38
39namespace ClearCore {
40
41// g++, please don't spit out pedantic warnings in this file
42// BK: structs and their initializers were generated by a script, so there's
43// no need to complain about missing initializers. We chose to represent the
44// peripheral routing structs to make it clear which fields have which values,
45// as opposed to a class with a constructor, and potentially ambiguous
46// numbers and letters strewn about.
47#pragma GCC diagnostic push
48#pragma GCC diagnostic ignored "-Wpedantic"
49#pragma GCC diagnostic ignored "-Wmissing-field-initializers"
50
51#ifndef HIDE_FROM_DOXYGEN
52const PeripheralRoute _5VOB_MON = {
53 .pin_raw = 9,
54 .gpioPort = PORTB,
55 .gpioPin = 4,
56 .extInt = 4,
57 .extIntAvail = false,
58 .adc0Channel = 255,
59 .adc1Channel = 6,
60 .dacChannel = 255,
61 .sercomNum = 255,
62 .sercomPadNum = 255,
63 .tcNum = 255,
64 .tcPadNum = 255,
65 .tccNum = 255,
66 .tccPadNum = 255,
67 .gclkNum = 255,
68};
69const PeripheralRoute Com0_CTS_MISO = {
70 .pin_raw = 67,
71 .gpioPort = PORTB,
72 .gpioPin = 19,
73 .extInt = 3,
74 .extIntAvail = false,
75 .adc0Channel = 255,
76 .adc1Channel = 255,
77 .dacChannel = 255,
78 .sercomNum = 7,
79 .sercomPadNum = 3,
80 .tcNum = 255,
81 .tcPadNum = 255,
82 .tccNum = 1,
83 .tccPadNum = 1,
84 .gclkNum = 5,
85};
86const PeripheralRoute Com0_RTS_SS = {
87 .pin_raw = 66,
88 .gpioPort = PORTB,
89 .gpioPin = 18,
90 .extInt = 2,
91 .extIntAvail = false,
92 .adc0Channel = 255,
93 .adc1Channel = 255,
94 .dacChannel = 255,
95 .sercomNum = 7,
96 .sercomPadNum = 2,
97 .tcNum = 255,
98 .tcPadNum = 255,
99 .tccNum = 1,
100 .tccPadNum = 0,
101 .gclkNum = 4,
102};
103const PeripheralRoute Com0_RX_SCK = {
104 .pin_raw = 68,
105 .gpioPort = PORTB,
106 .gpioPin = 20,
107 .extInt = 4,
108 .extIntAvail = false,
109 .adc0Channel = 255,
110 .adc1Channel = 255,
111 .dacChannel = 255,
112 .sercomNum = 7,
113 .sercomPadNum = 1,
114 .tcNum = 255,
115 .tcPadNum = 255,
116 .tccNum = 1,
117 .tccPadNum = 2,
118 .gclkNum = 6,
119};
120const PeripheralRoute Com0_TX_MOSI = {
121 .pin_raw = 69,
122 .gpioPort = PORTB,
123 .gpioPin = 21,
124 .extInt = 5,
125 .extIntAvail = false,
126 .adc0Channel = 255,
127 .adc1Channel = 255,
128 .dacChannel = 255,
129 .sercomNum = 7,
130 .sercomPadNum = 0,
131 .tcNum = 255,
132 .tcPadNum = 255,
133 .tccNum = 1,
134 .tccPadNum = 3,
135 .gclkNum = 7,
136};
137const PeripheralRoute Com1_CTS_MISO = {
138 .pin_raw = 29,
139 .gpioPort = PORTA,
140 .gpioPin = 11,
141 .extInt = 11,
142 .extIntAvail = false,
143 .adc0Channel = 255,
144 .adc1Channel = 255,
145 .dacChannel = 255,
146 .sercomNum = 0,
147 .sercomPadNum = 3,
148 .tcNum = 1,
149 .tcPadNum = 1,
150 .tccNum = 0,
151 .tccPadNum = 3,
152 .gclkNum = 5,
153};
154const PeripheralRoute Com1_RTS_SS = {
155 .pin_raw = 28,
156 .gpioPort = PORTA,
157 .gpioPin = 10,
158 .extInt = 10,
159 .extIntAvail = false,
160 .adc0Channel = 255,
161 .adc1Channel = 255,
162 .dacChannel = 255,
163 .sercomNum = 0,
164 .sercomPadNum = 2,
165 .tcNum = 1,
166 .tcPadNum = 0,
167 .tccNum = 0,
168 .tccPadNum = 2,
169 .gclkNum = 4,
170};
171const PeripheralRoute Com1_RX_SCK = {
172 .pin_raw = 27,
173 .gpioPort = PORTA,
174 .gpioPin = 9,
175 .extInt = 9,
176 .extIntAvail = false,
177 .adc0Channel = 255,
178 .adc1Channel = 3,
179 .dacChannel = 255,
180 .sercomNum = 0,
181 .sercomPadNum = 1,
182 .tcNum = 0,
183 .tcPadNum = 1,
184 .tccNum = 0,
185 .tccPadNum = 1,
186 .gclkNum = 255,
187};
188const PeripheralRoute Com1_TX_MOSI = {
189 .pin_raw = 26,
190 .gpioPort = PORTA,
191 .gpioPin = 8,
192 .extInt = 255,
193 .extIntAvail = false,
194 .adc0Channel = 255,
195 .adc1Channel = 2,
196 .dacChannel = 255,
197 .sercomNum = 0,
198 .sercomPadNum = 0,
199 .tcNum = 0,
200 .tcPadNum = 0,
201 .tccNum = 0,
202 .tccPadNum = 0,
203 .gclkNum = 255,
204};
205const PeripheralRoute Aout00 = {
206 .pin_raw = 7,
207 .gpioPort = PORTA,
208 .gpioPin = 2,
209 .extInt = 2,
210 .extIntAvail = false,
211 .adc0Channel = 255,
212 .adc1Channel = 255,
213 .dacChannel = 1,
214 .sercomNum = 255,
215 .sercomPadNum = 255,
216 .tcNum = 0,
217 .tcPadNum = 1,
218 .tccNum = 255,
219 .tccPadNum = 255,
220 .gclkNum = 255,
221};
222const PeripheralRoute IN00n_Aout00n = {
223 .pin_raw = 18,
224 .gpioPort = PORTA,
225 .gpioPin = 5,
226 .extInt = 5,
227 .extIntAvail = false,
228 .adc0Channel = 255,
229 .adc1Channel = 255,
230 .dacChannel = 1,
231 .sercomNum = 255,
232 .sercomPadNum = 255,
233 .tcNum = 0,
234 .tcPadNum = 1,
235 .tccNum = 255,
236 .tccPadNum = 255,
237 .gclkNum = 255,
238};
239const PeripheralRoute IN01n = {
240 .pin_raw = 7,
241 .gpioPort = PORTB,
242 .gpioPin = 17,
243 .extInt = 2,
244 .extIntAvail = false,
245 .adc0Channel = 255,
246 .adc1Channel = 255,
247 .dacChannel = 0,
248 .sercomNum = 255,
249 .sercomPadNum = 255,
250 .tcNum = 255,
251 .tcPadNum = 255,
252 .tccNum = 255,
253 .tccPadNum = 255,
254 .gclkNum = 255,
255};
256const PeripheralRoute IN02n = {
257 .pin_raw = 8,
258 .gpioPort = PORTA,
259 .gpioPin = 3,
260 .extInt = 3,
261 .extIntAvail = false,
262 .adc0Channel = 255,
263 .adc1Channel = 255,
264 .dacChannel = 255,
265 .sercomNum = 255,
266 .sercomPadNum = 255,
267 .tcNum = 255,
268 .tcPadNum = 255,
269 .tccNum = 255,
270 .tccPadNum = 255,
271 .gclkNum = 255,
272};
273const PeripheralRoute IN03n = {
274 .pin_raw = 17,
275 .gpioPort = PORTC,
276 .gpioPin = 21,
277 .extInt = 4,
278 .extIntAvail = false,
279 .adc0Channel = 255,
280 .adc1Channel = 255,
281 .dacChannel = 255,
282 .sercomNum = 255,
283 .sercomPadNum = 255,
284 .tcNum = 0,
285 .tcPadNum = 0,
286 .tccNum = 255,
287 .tccPadNum = 255,
288 .gclkNum = 255,
289};
290const PeripheralRoute IN04n = {
291 .pin_raw = 85,
292 .gpioPort = PORTC,
293 .gpioPin = 27,
294 .extInt = 11,
295 .extIntAvail = false,
296 .adc0Channel = 255,
297 .adc1Channel = 255,
298 .dacChannel = 255,
299 .sercomNum = 1,
300 .sercomPadNum = 0,
301 .tcNum = 255,
302 .tcPadNum = 255,
303 .tccNum = 255,
304 .tccPadNum = 255,
305 .gclkNum = 255,
306};
307const PeripheralRoute IN05n = {
308 .pin_raw = 59,
309 .gpioPort = PORTC,
310 .gpioPin = 19,
311 .extInt = 3,
312 .extIntAvail = false,
313 .adc0Channel = 255,
314 .adc1Channel = 255,
315 .dacChannel = 255,
316 .sercomNum = 6,
317 .sercomPadNum = 3,
318 .tcNum = 255,
319 .tcPadNum = 255,
320 .tccNum = 0,
321 .tccPadNum = 3,
322 .gclkNum = 255,
323};
324const PeripheralRoute IN06n_QuadA = {
325 .pin_raw = 56,
326 .gpioPort = PORTC,
327 .gpioPin = 16,
328 .extInt = 0,
329 .extIntAvail = true,
330 .adc0Channel = 255,
331 .adc1Channel = 255,
332 .dacChannel = 255,
333 .sercomNum = 6,
334 .sercomPadNum = 0,
335 .tcNum = 255,
336 .tcPadNum = 255,
337 .tccNum = 0,
338 .tccPadNum = 0,
339 .gclkNum = 255,
340};
341const PeripheralRoute IN07n_QuadB = {
342 .pin_raw = 57,
343 .gpioPort = PORTC,
344 .gpioPin = 17,
345 .extInt = 1,
346 .extIntAvail = true,
347 .adc0Channel = 255,
348 .adc1Channel = 255,
349 .dacChannel = 255,
350 .sercomNum = 6,
351 .sercomPadNum = 1,
352 .tcNum = 255,
353 .tcPadNum = 255,
354 .tccNum = 0,
355 .tccPadNum = 1,
356 .gclkNum = 255,
357};
358const PeripheralRoute IN08n_QuadI = {
359 .pin_raw = 58,
360 .gpioPort = PORTC,
361 .gpioPin = 18,
362 .extInt = 2,
363 .extIntAvail = true,
364 .adc0Channel = 255,
365 .adc1Channel = 255,
366 .dacChannel = 255,
367 .sercomNum = 6,
368 .sercomPadNum = 2,
369 .tcNum = 255,
370 .tcPadNum = 255,
371 .tccNum = 0,
372 .tccPadNum = 2,
373 .gclkNum = 255,
374};
375const PeripheralRoute IN09n_AIN09 = {
376 .pin_raw = 14,
377 .gpioPort = PORTB,
378 .gpioPin = 7,
379 .extInt = 7,
380 .extIntAvail = true,
381 .adc0Channel = 255,
382 .adc1Channel = 9,
383 .dacChannel = 255,
384 .sercomNum = 255,
385 .sercomPadNum = 255,
386 .tcNum = 255,
387 .tcPadNum = 255,
388 .tccNum = 255,
389 .tccPadNum = 255,
390 .gclkNum = 255,
391};
392const PeripheralRoute IN10n_AIN10 = {
393 .pin_raw = 13,
394 .gpioPort = PORTB,
395 .gpioPin = 6,
396 .extInt = 6,
397 .extIntAvail = true,
398 .adc0Channel = 255,
399 .adc1Channel = 8,
400 .dacChannel = 255,
401 .sercomNum = 255,
402 .sercomPadNum = 255,
403 .tcNum = 255,
404 .tcPadNum = 255,
405 .tccNum = 255,
406 .tccPadNum = 255,
407 .gclkNum = 255,
408};
409const PeripheralRoute IN11n_AIN11 = {
410 .pin_raw = 10,
411 .gpioPort = PORTB,
412 .gpioPin = 5,
413 .extInt = 5,
414 .extIntAvail = true,
415 .adc0Channel = 255,
416 .adc1Channel = 7,
417 .dacChannel = 255,
418 .sercomNum = 255,
419 .sercomPadNum = 255,
420 .tcNum = 255,
421 .tcPadNum = 255,
422 .tccNum = 255,
423 .tccPadNum = 255,
424 .gclkNum = 255,
425};
426const PeripheralRoute IN12n_AIN12 = {
427 .pin_raw = 6,
428 .gpioPort = PORTC,
429 .gpioPin = 3,
430 .extInt = 3,
431 .extIntAvail = true,
432 .adc0Channel = 255,
433 .adc1Channel = 5,
434 .dacChannel = 255,
435 .sercomNum = 255,
436 .sercomPadNum = 255,
437 .tcNum = 255,
438 .tcPadNum = 255,
439 .tccNum = 255,
440 .tccPadNum = 255,
441 .gclkNum = 255,
442};
443const PeripheralRoute MicroSD_MISO = {
444 .pin_raw = 32,
445 .gpioPort = PORTB,
446 .gpioPin = 10,
447 .extInt = 10,
448 .extIntAvail = false,
449 .adc0Channel = 255,
450 .adc1Channel = 255,
451 .dacChannel = 255,
452 .sercomNum = 4,
453 .sercomPadNum = 2,
454 .tcNum = 5,
455 .tcPadNum = 0,
456 .tccNum = 0,
457 .tccPadNum = 4,
458 .gclkNum = 4,
459};
460const PeripheralRoute MicroSD_MOSI = {
461 .pin_raw = 15,
462 .gpioPort = PORTB,
463 .gpioPin = 8,
464 .extInt = 8,
465 .extIntAvail = false,
466 .adc0Channel = 255,
467 .adc1Channel = 0,
468 .dacChannel = 255,
469 .sercomNum = 4,
470 .sercomPadNum = 0,
471 .tcNum = 4,
472 .tcPadNum = 0,
473 .tccNum = 255,
474 .tccPadNum = 255,
475 .gclkNum = 255,
476};
477const PeripheralRoute MicroSD_SCK = {
478 .pin_raw = 16,
479 .gpioPort = PORTB,
480 .gpioPin = 9,
481 .extInt = 9,
482 .extIntAvail = false,
483 .adc0Channel = 255,
484 .adc1Channel = 1,
485 .dacChannel = 255,
486 .sercomNum = 4,
487 .sercomPadNum = 1,
488 .tcNum = 4,
489 .tcPadNum = 1,
490 .tccNum = 255,
491 .tccPadNum = 255,
492 .gclkNum = 255,
493};
494const PeripheralRoute MicroSD_SS = {
495 .pin_raw = 61,
496 .gpioPort = PORTA,
497 .gpioPin = 4,
498 .extInt = 5,
499 .extIntAvail = false,
500 .adc0Channel = 255,
501 .adc1Channel = 255,
502 .dacChannel = 255,
503 .sercomNum = 255,
504 .sercomPadNum = 255,
505 .tcNum = 255,
506 .tcPadNum = 255,
507 .tccNum = 0,
508 .tccPadNum = 5,
509 .gclkNum = 255,
510};
511const PeripheralRoute Mtr_CLK_01 = {
512 .pin_raw = 87,
513 .gpioPort = PORTA,
514 .gpioPin = 27,
515 .extInt = 11,
516 .extIntAvail = false,
517 .adc0Channel = 255,
518 .adc1Channel = 255,
519 .dacChannel = 255,
520 .sercomNum = 255,
521 .sercomPadNum = 255,
522 .tcNum = 255,
523 .tcPadNum = 255,
524 .tccNum = 255,
525 .tccPadNum = 255,
526 .gclkNum = 1,
527};
528const PeripheralRoute Mtr_CLK_23 = {
529 .pin_raw = 79,
530 .gpioPort = PORTB,
531 .gpioPin = 23,
532 .extInt = 7,
533 .extIntAvail = false,
534 .adc0Channel = 255,
535 .adc1Channel = 255,
536 .dacChannel = 255,
537 .sercomNum = 1,
538 .sercomPadNum = 3,
539 .tcNum = 7,
540 .tcPadNum = 1,
541 .tccNum = 255,
542 .tccPadNum = 255,
543 .gclkNum = 1,
544};
545const PeripheralRoute Mtr0_An_SCTx = {
546 .pin_raw = 73,
547 .gpioPort = PORTA,
548 .gpioPin = 23,
549 .extInt = 7,
550 .extIntAvail = false,
551 .adc0Channel = 255,
552 .adc1Channel = 255,
553 .dacChannel = 255,
554 .sercomNum = 5,
555 .sercomPadNum = 0,
556 .tcNum = 4,
557 .tcPadNum = 1,
558 .tccNum = 1,
559 .tccPadNum = 7,
560 .gclkNum = 255,
561};
562const PeripheralRoute Mtr0_B = {
563 .pin_raw = 44,
564 .gpioPort = PORTC,
565 .gpioPin = 14,
566 .extInt = 14,
567 .extIntAvail = false,
568 .adc0Channel = 255,
569 .adc1Channel = 255,
570 .dacChannel = 255,
571 .sercomNum = 7,
572 .sercomPadNum = 2,
573 .tcNum = 255,
574 .tcPadNum = 255,
575 .tccNum = 0,
576 .tccPadNum = 4,
577 .gclkNum = 255,
578};
579const PeripheralRoute Mtr0_HLFB_SCRx = {
580 .pin_raw = 70,
581 .gpioPort = PORTA,
582 .gpioPin = 20,
583 .extInt = 4,
584 .extIntAvail = true,
585 .adc0Channel = 255,
586 .adc1Channel = 255,
587 .dacChannel = 255,
588 .sercomNum = 5,
589 .sercomPadNum = 2,
590 .tcNum = 7,
591 .tcPadNum = 0,
592 .tccNum = 1,
593 .tccPadNum = 4,
594 .gclkNum = 255,
595};
596const PeripheralRoute Mtr1_An = {
597 .pin_raw = 71,
598 .gpioPort = PORTA,
599 .gpioPin = 21,
600 .extInt = 5,
601 .extIntAvail = false,
602 .adc0Channel = 255,
603 .adc1Channel = 255,
604 .dacChannel = 255,
605 .sercomNum = 5,
606 .sercomPadNum = 3,
607 .tcNum = 7,
608 .tcPadNum = 1,
609 .tccNum = 1,
610 .tccPadNum = 5,
611 .gclkNum = 255,
612};
613const PeripheralRoute Mtr1_B = {
614 .pin_raw = 45,
615 .gpioPort = PORTC,
616 .gpioPin = 15,
617 .extInt = 15,
618 .extIntAvail = false,
619 .adc0Channel = 255,
620 .adc1Channel = 255,
621 .dacChannel = 255,
622 .sercomNum = 7,
623 .sercomPadNum = 3,
624 .tcNum = 255,
625 .tcPadNum = 255,
626 .tccNum = 0,
627 .tccPadNum = 5,
628 .gclkNum = 255,
629};
630const PeripheralRoute Mtr1_HLFB = {
631 .pin_raw = 33,
632 .gpioPort = PORTB,
633 .gpioPin = 11,
634 .extInt = 11,
635 .extIntAvail = true,
636 .adc0Channel = 255,
637 .adc1Channel = 255,
638 .dacChannel = 255,
639 .sercomNum = 255,
640 .sercomPadNum = 255,
641 .tcNum = 5,
642 .tcPadNum = 1,
643 .tccNum = 0,
644 .tccPadNum = 5,
645 .gclkNum = 5,
646};
647const PeripheralRoute Mtr2_An_Sdrvr2_PWMA = {
648 .pin_raw = 72,
649 .gpioPort = PORTA,
650 .gpioPin = 22,
651 .extInt = 6,
652 .extIntAvail = false,
653 .adc0Channel = 255,
654 .adc1Channel = 255,
655 .dacChannel = 255,
656 .sercomNum = 3,
657 .sercomPadNum = 0,
658 .tcNum = 4,
659 .tcPadNum = 0,
660 .tccNum = 1,
661 .tccPadNum = 6,
662 .gclkNum = 255,
663};
664const PeripheralRoute Mtr2_B_Sdrvr2_PWMB = {
665 .pin_raw = 43,
666 .gpioPort = PORTC,
667 .gpioPin = 13,
668 .extInt = 13,
669 .extIntAvail = false,
670 .adc0Channel = 255,
671 .adc1Channel = 255,
672 .dacChannel = 255,
673 .sercomNum = 7,
674 .sercomPadNum = 1,
675 .tcNum = 255,
676 .tcPadNum = 255,
677 .tccNum = 0,
678 .tccPadNum = 3,
679 .gclkNum = 255,
680};
681const PeripheralRoute Mtr2_HLFB_Sdrvr2_Trig = {
682 .pin_raw = 84,
683 .gpioPort = PORTC,
684 .gpioPin = 26,
685 .extInt = 10,
686 .extIntAvail = true,
687 .adc0Channel = 255,
688 .adc1Channel = 255,
689 .dacChannel = 255,
690 .sercomNum = 255,
691 .sercomPadNum = 255,
692 .tcNum = 255,
693 .tcPadNum = 255,
694 .tccNum = 255,
695 .tccPadNum = 255,
696 .gclkNum = 255,
697};
698const PeripheralRoute Mtr3_An_Sdrvr3_PWMA = {
699 .pin_raw = 52,
700 .gpioPort = PORTA,
701 .gpioPin = 16,
702 .extInt = 0,
703 .extIntAvail = false,
704 .adc0Channel = 255,
705 .adc1Channel = 255,
706 .dacChannel = 255,
707 .sercomNum = 1,
708 .sercomPadNum = 0,
709 .tcNum = 2,
710 .tcPadNum = 0,
711 .tccNum = 1,
712 .tccPadNum = 0,
713 .gclkNum = 2,
714};
715const PeripheralRoute Mtr3_B_Sdrvr3_PWMB = {
716 .pin_raw = 40,
717 .gpioPort = PORTC,
718 .gpioPin = 10,
719 .extInt = 10,
720 .extIntAvail = false,
721 .adc0Channel = 255,
722 .adc1Channel = 255,
723 .dacChannel = 255,
724 .sercomNum = 6,
725 .sercomPadNum = 2,
726 .tcNum = 255,
727 .tcPadNum = 255,
728 .tccNum = 0,
729 .tccPadNum = 0,
730 .gclkNum = 255,
731};
732const PeripheralRoute Mtr3_HLFB_Sdrvr3_Trig = {
733 .pin_raw = 96,
734 .gpioPort = PORTB,
735 .gpioPin = 31,
736 .extInt = 15,
737 .extIntAvail = true,
738 .adc0Channel = 255,
739 .adc1Channel = 255,
740 .dacChannel = 255,
741 .sercomNum = 255,
742 .sercomPadNum = 255,
743 .tcNum = 0,
744 .tcPadNum = 1,
745 .tccNum = 4,
746 .tccPadNum = 1,
747 .gclkNum = 255,
748};
749const PeripheralRoute OUT00 = {
750 .pin_raw = 1,
751 .gpioPort = PORTA,
752 .gpioPin = 0,
753 .extInt = 0,
754 .extIntAvail = false,
755 .adc0Channel = 255,
756 .adc1Channel = 255,
757 .dacChannel = 255,
758 .sercomNum = 255,
759 .sercomPadNum = 255,
760 .tcNum = 2,
761 .tcPadNum = 0,
762 .tccNum = 255,
763 .tccPadNum = 255,
764 .gclkNum = 255,
765};
766const PeripheralRoute OUT01 = {
767 .pin_raw = 2,
768 .gpioPort = PORTA,
769 .gpioPin = 1,
770 .extInt = 1,
771 .extIntAvail = false,
772 .adc0Channel = 255,
773 .adc1Channel = 255,
774 .dacChannel = 255,
775 .sercomNum = 255,
776 .sercomPadNum = 255,
777 .tcNum = 2,
778 .tcPadNum = 1,
779 .tccNum = 255,
780 .tccPadNum = 255,
781 .gclkNum = 255,
782};
783const PeripheralRoute OUT02 = {
784 .pin_raw = 19,
785 .gpioPort = PORTA,
786 .gpioPin = 6,
787 .extInt = 6,
788 .extIntAvail = false,
789 .adc0Channel = 255,
790 .adc1Channel = 255,
791 .dacChannel = 255,
792 .sercomNum = 255,
793 .sercomPadNum = 255,
794 .tcNum = 1,
795 .tcPadNum = 0,
796 .tccNum = 255,
797 .tccPadNum = 255,
798 .gclkNum = 255,
799};
800const PeripheralRoute OUT03 = {
801 .pin_raw = 20,
802 .gpioPort = PORTA,
803 .gpioPin = 7,
804 .extInt = 7,
805 .extIntAvail = false,
806 .adc0Channel = 255,
807 .adc1Channel = 255,
808 .dacChannel = 255,
809 .sercomNum = 255,
810 .sercomPadNum = 255,
811 .tcNum = 1,
812 .tcPadNum = 1,
813 .tccNum = 255,
814 .tccPadNum = 255,
815 .gclkNum = 255,
816};
817const PeripheralRoute OUT04_ENABLE04 = {
818 .pin_raw = 64,
819 .gpioPort = PORTB,
820 .gpioPin = 16,
821 .extInt = 0,
822 .extIntAvail = false,
823 .adc0Channel = 255,
824 .adc1Channel = 255,
825 .dacChannel = 255,
826 .sercomNum = 5,
827 .sercomPadNum = 0,
828 .tcNum = 6,
829 .tcPadNum = 0,
830 .tccNum = 3,
831 .tccPadNum = 0,
832 .gclkNum = 2,
833};
834const PeripheralRoute OUT05_ENABLE05 = {
835 .pin_raw = 100,
836 .gpioPort = PORTB,
837 .gpioPin = 3,
838 .extInt = 3,
839 .extIntAvail = false,
840 .adc0Channel = 255,
841 .adc1Channel = 255,
842 .dacChannel = 255,
843 .sercomNum = 255,
844 .sercomPadNum = 255,
845 .tcNum = 6,
846 .tcPadNum = 1,
847 .tccNum = 255,
848 .tccPadNum = 255,
849 .gclkNum = 255,
850};
851const PeripheralRoute OutFault_04or05 = {
852 .pin_raw = 97,
853 .gpioPort = PORTB,
854 .gpioPin = 0,
855 .extInt = 0,
856 .extIntAvail = false,
857 .adc0Channel = 255,
858 .adc1Channel = 255,
859 .dacChannel = 255,
860 .sercomNum = 255,
861 .sercomPadNum = 255,
862 .tcNum = 7,
863 .tcPadNum = 0,
864 .tccNum = 255,
865 .tccPadNum = 255,
866 .gclkNum = 255,
867};
868const PeripheralRoute PHY_INT = {
869 .pin_raw = 86,
870 .gpioPort = PORTC,
871 .gpioPin = 28,
872 .extInt = 12,
873 .extIntAvail = true,
874 .adc0Channel = 255,
875 .adc1Channel = 255,
876 .dacChannel = 255,
877 .sercomNum = 1,
878 .sercomPadNum = 1,
879 .tcNum = 255,
880 .tcPadNum = 255,
881 .tccNum = 255,
882 .tccPadNum = 255,
883 .gclkNum = 255,
884};
885const PeripheralRoute PHY_MDC = {
886 .pin_raw = 41,
887 .gpioPort = PORTC,
888 .gpioPin = 11,
889 .extInt = 11,
890 .extIntAvail = false,
891 .adc0Channel = 255,
892 .adc1Channel = 255,
893 .dacChannel = 255,
894 .sercomNum = 6,
895 .sercomPadNum = 3,
896 .tcNum = 255,
897 .tcPadNum = 255,
898 .tccNum = 0,
899 .tccPadNum = 1,
900 .gclkNum = 255,
901};
902const PeripheralRoute PHY_MDIO = {
903 .pin_raw = 42,
904 .gpioPort = PORTC,
905 .gpioPin = 12,
906 .extInt = 12,
907 .extIntAvail = false,
908 .adc0Channel = 255,
909 .adc1Channel = 255,
910 .dacChannel = 255,
911 .sercomNum = 7,
912 .sercomPadNum = 0,
913 .tcNum = 255,
914 .tcPadNum = 255,
915 .tccNum = 0,
916 .tccPadNum = 2,
917 .gclkNum = 255,
918};
919const PeripheralRoute PHY_RXD0 = {
920 .pin_raw = 47,
921 .gpioPort = PORTA,
922 .gpioPin = 13,
923 .extInt = 13,
924 .extIntAvail = false,
925 .adc0Channel = 255,
926 .adc1Channel = 255,
927 .dacChannel = 255,
928 .sercomNum = 2,
929 .sercomPadNum = 1,
930 .tcNum = 2,
931 .tcPadNum = 1,
932 .tccNum = 0,
933 .tccPadNum = 7,
934 .gclkNum = 255,
935};
936const PeripheralRoute PHY_RXD1 = {
937 .pin_raw = 46,
938 .gpioPort = PORTA,
939 .gpioPin = 12,
940 .extInt = 12,
941 .extIntAvail = false,
942 .adc0Channel = 255,
943 .adc1Channel = 255,
944 .dacChannel = 255,
945 .sercomNum = 2,
946 .sercomPadNum = 0,
947 .tcNum = 2,
948 .tcPadNum = 0,
949 .tccNum = 0,
950 .tccPadNum = 6,
951 .gclkNum = 255,
952};
953const PeripheralRoute PHY_RXDV = {
954 .pin_raw = 60,
955 .gpioPort = PORTC,
956 .gpioPin = 20,
957 .extInt = 4,
958 .extIntAvail = false,
959 .adc0Channel = 255,
960 .adc1Channel = 255,
961 .dacChannel = 255,
962 .sercomNum = 255,
963 .sercomPadNum = 255,
964 .tcNum = 255,
965 .tcPadNum = 255,
966 .tccNum = 0,
967 .tccPadNum = 4,
968 .gclkNum = 255,
969};
970const PeripheralRoute PHY_RXER = {
971 .pin_raw = 49,
972 .gpioPort = PORTA,
973 .gpioPin = 15,
974 .extInt = 15,
975 .extIntAvail = false,
976 .adc0Channel = 255,
977 .adc1Channel = 255,
978 .dacChannel = 255,
979 .sercomNum = 2,
980 .sercomPadNum = 3,
981 .tcNum = 3,
982 .tcPadNum = 1,
983 .tccNum = 2,
984 .tccPadNum = 1,
985 .gclkNum = 1,
986};
987const PeripheralRoute PHY_TXCLK = {
988 .pin_raw = 48,
989 .gpioPort = PORTA,
990 .gpioPin = 14,
991 .extInt = 14,
992 .extIntAvail = false,
993 .adc0Channel = 255,
994 .adc1Channel = 255,
995 .dacChannel = 255,
996 .sercomNum = 2,
997 .sercomPadNum = 2,
998 .tcNum = 3,
999 .tcPadNum = 0,
1000 .tccNum = 2,
1001 .tccPadNum = 0,
1002 .gclkNum = 0,
1003};
1004const PeripheralRoute PHY_TXD0 = {
1005 .pin_raw = 54,
1006 .gpioPort = PORTA,
1007 .gpioPin = 18,
1008 .extInt = 2,
1009 .extIntAvail = false,
1010 .adc0Channel = 255,
1011 .adc1Channel = 255,
1012 .dacChannel = 255,
1013 .sercomNum = 1,
1014 .sercomPadNum = 2,
1015 .tcNum = 3,
1016 .tcPadNum = 0,
1017 .tccNum = 1,
1018 .tccPadNum = 2,
1019 .gclkNum = 255,
1020};
1021const PeripheralRoute PHY_TXD1 = {
1022 .pin_raw = 55,
1023 .gpioPort = PORTA,
1024 .gpioPin = 19,
1025 .extInt = 3,
1026 .extIntAvail = false,
1027 .adc0Channel = 255,
1028 .adc1Channel = 255,
1029 .dacChannel = 255,
1030 .sercomNum = 1,
1031 .sercomPadNum = 3,
1032 .tcNum = 3,
1033 .tcPadNum = 1,
1034 .tccNum = 1,
1035 .tccPadNum = 3,
1036 .gclkNum = 255,
1037};
1038const PeripheralRoute PHY_TXEN = {
1039 .pin_raw = 53,
1040 .gpioPort = PORTA,
1041 .gpioPin = 17,
1042 .extInt = 1,
1043 .extIntAvail = false,
1044 .adc0Channel = 255,
1045 .adc1Channel = 255,
1046 .dacChannel = 255,
1047 .sercomNum = 1,
1048 .sercomPadNum = 1,
1049 .tcNum = 2,
1050 .tcPadNum = 1,
1051 .tccNum = 1,
1052 .tccPadNum = 1,
1053 .gclkNum = 3,
1054};
1055const PeripheralRoute Polarity04_PWM04A = {
1056 .pin_raw = 36,
1057 .gpioPort = PORTB,
1058 .gpioPin = 14,
1059 .extInt = 14,
1060 .extIntAvail = false,
1061 .adc0Channel = 255,
1062 .adc1Channel = 255,
1063 .dacChannel = 255,
1064 .sercomNum = 4,
1065 .sercomPadNum = 2,
1066 .tcNum = 5,
1067 .tcPadNum = 0,
1068 .tccNum = 4,
1069 .tccPadNum = 0,
1070 .gclkNum = 0,
1071};
1072const PeripheralRoute Polarity04S_PWM04B = {
1073 .pin_raw = 37,
1074 .gpioPort = PORTB,
1075 .gpioPin = 15,
1076 .extInt = 15,
1077 .extIntAvail = false,
1078 .adc0Channel = 255,
1079 .adc1Channel = 255,
1080 .dacChannel = 255,
1081 .sercomNum = 4,
1082 .sercomPadNum = 3,
1083 .tcNum = 5,
1084 .tcPadNum = 1,
1085 .tccNum = 4,
1086 .tccPadNum = 1,
1087 .gclkNum = 1,
1088};
1089const PeripheralRoute Polarity05_PWM05A = {
1090 .pin_raw = 34,
1091 .gpioPort = PORTB,
1092 .gpioPin = 12,
1093 .extInt = 12,
1094 .extIntAvail = false,
1095 .adc0Channel = 255,
1096 .adc1Channel = 255,
1097 .dacChannel = 255,
1098 .sercomNum = 4,
1099 .sercomPadNum = 0,
1100 .tcNum = 4,
1101 .tcPadNum = 0,
1102 .tccNum = 3,
1103 .tccPadNum = 0,
1104 .gclkNum = 6,
1105};
1106const PeripheralRoute Polarity05S_PWM05B = {
1107 .pin_raw = 35,
1108 .gpioPort = PORTB,
1109 .gpioPin = 13,
1110 .extInt = 13,
1111 .extIntAvail = false,
1112 .adc0Channel = 255,
1113 .adc1Channel = 255,
1114 .dacChannel = 255,
1115 .sercomNum = 4,
1116 .sercomPadNum = 1,
1117 .tcNum = 4,
1118 .tcPadNum = 1,
1119 .tccNum = 3,
1120 .tccPadNum = 1,
1121 .gclkNum = 7,
1122};
1123const PeripheralRoute RESETn = {
1124 .pin_raw = 88,
1125 .gpioPort = NOT_A_PORT,
1126 .gpioPin = 0,
1127 .extInt = 255,
1128 .extIntAvail = false,
1129 .adc0Channel = 255,
1130 .adc1Channel = 255,
1131 .dacChannel = 255,
1132 .sercomNum = 255,
1133 .sercomPadNum = 255,
1134 .tcNum = 255,
1135 .tcPadNum = 255,
1136 .tccNum = 255,
1137 .tccPadNum = 255,
1138 .gclkNum = 255,
1139};
1140const PeripheralRoute Sdrvr2_iMon = {
1141 .pin_raw = 4,
1142 .gpioPort = PORTC,
1143 .gpioPin = 1,
1144 .extInt = 1,
1145 .extIntAvail = false,
1146 .adc0Channel = 255,
1147 .adc1Channel = 11,
1148 .dacChannel = 255,
1149 .sercomNum = 255,
1150 .sercomPadNum = 255,
1151 .tcNum = 255,
1152 .tcPadNum = 255,
1153 .tccNum = 255,
1154 .tccPadNum = 255,
1155 .gclkNum = 255,
1156};
1157const PeripheralRoute Sdrvr3_iMon = {
1158 .pin_raw = 3,
1159 .gpioPort = PORTC,
1160 .gpioPin = 0,
1161 .extInt = 0,
1162 .extIntAvail = false,
1163 .adc0Channel = 255,
1164 .adc1Channel = 10,
1165 .dacChannel = 255,
1166 .sercomNum = 255,
1167 .sercomPadNum = 255,
1168 .tcNum = 255,
1169 .tcPadNum = 255,
1170 .tccNum = 255,
1171 .tccPadNum = 255,
1172 .gclkNum = 255,
1173};
1174const PeripheralRoute SR_CLK = {
1175 .pin_raw = 21,
1176 .gpioPort = PORTC,
1177 .gpioPin = 5,
1178 .extInt = 5,
1179 .extIntAvail = false,
1180 .adc0Channel = 255,
1181 .adc1Channel = 255,
1182 .dacChannel = 255,
1183 .sercomNum = 6,
1184 .sercomPadNum = 1,
1185 .tcNum = 255,
1186 .tcPadNum = 255,
1187 .tccNum = 255,
1188 .tccPadNum = 255,
1189 .gclkNum = 255,
1190};
1191const PeripheralRoute SR_DATA = {
1192 .pin_raw = 23,
1193 .gpioPort = PORTC,
1194 .gpioPin = 7,
1195 .extInt = 9,
1196 .extIntAvail = false,
1197 .adc0Channel = 255,
1198 .adc1Channel = 255,
1199 .dacChannel = 255,
1200 .sercomNum = 6,
1201 .sercomPadNum = 3,
1202 .tcNum = 255,
1203 .tcPadNum = 255,
1204 .tccNum = 255,
1205 .tccPadNum = 255,
1206 .gclkNum = 255,
1207};
1208const PeripheralRoute SR_DATA_RET = {
1209 .pin_raw = 22,
1210 .gpioPort = PORTC,
1211 .gpioPin = 6,
1212 .extInt = 6,
1213 .extIntAvail = false,
1214 .adc0Channel = 255,
1215 .adc1Channel = 255,
1216 .dacChannel = 255,
1217 .sercomNum = 6,
1218 .sercomPadNum = 2,
1219 .tcNum = 255,
1220 .tcPadNum = 255,
1221 .tccNum = 255,
1222 .tccPadNum = 255,
1223 .gclkNum = 255,
1224};
1225const PeripheralRoute SR_ENn = {
1226 .pin_raw = 98,
1227 .gpioPort = PORTB,
1228 .gpioPin = 1,
1229 .extInt = 1,
1230 .extIntAvail = false,
1231 .adc0Channel = 255,
1232 .adc1Channel = 255,
1233 .dacChannel = 255,
1234 .sercomNum = 255,
1235 .sercomPadNum = 255,
1236 .tcNum = 7,
1237 .tcPadNum = 1,
1238 .tccNum = 255,
1239 .tccPadNum = 255,
1240 .gclkNum = 255,
1241};
1242const PeripheralRoute SR_LOAD = {
1243 .pin_raw = 99,
1244 .gpioPort = PORTB,
1245 .gpioPin = 2,
1246 .extInt = 2,
1247 .extIntAvail = false,
1248 .adc0Channel = 255,
1249 .adc1Channel = 255,
1250 .dacChannel = 255,
1251 .sercomNum = 255,
1252 .sercomPadNum = 255,
1253 .tcNum = 6,
1254 .tcPadNum = 0,
1255 .tccNum = 2,
1256 .tccPadNum = 2,
1257 .gclkNum = 255,
1258};
1259const PeripheralRoute SWCLK = {
1260 .pin_raw = 93,
1261 .gpioPort = PORTA,
1262 .gpioPin = 30,
1263 .extInt = 14,
1264 .extIntAvail = false,
1265 .adc0Channel = 255,
1266 .adc1Channel = 255,
1267 .dacChannel = 255,
1268 .sercomNum = 1,
1269 .sercomPadNum = 2,
1270 .tcNum = 6,
1271 .tcPadNum = 0,
1272 .tccNum = 2,
1273 .tccPadNum = 0,
1274 .gclkNum = 0,
1275};
1276const PeripheralRoute SWDIO = {
1277 .pin_raw = 94,
1278 .gpioPort = PORTA,
1279 .gpioPin = 31,
1280 .extInt = 15,
1281 .extIntAvail = false,
1282 .adc0Channel = 255,
1283 .adc1Channel = 255,
1284 .dacChannel = 255,
1285 .sercomNum = 1,
1286 .sercomPadNum = 3,
1287 .tcNum = 6,
1288 .tcPadNum = 1,
1289 .tccNum = 2,
1290 .tccPadNum = 1,
1291 .gclkNum = 255,
1292};
1293const PeripheralRoute SWO = {
1294 .pin_raw = 95,
1295 .gpioPort = PORTB,
1296 .gpioPin = 30,
1297 .extInt = 14,
1298 .extIntAvail = false,
1299 .adc0Channel = 255,
1300 .adc1Channel = 255,
1301 .dacChannel = 255,
1302 .sercomNum = 5,
1303 .sercomPadNum = 1,
1304 .tcNum = 0,
1305 .tcPadNum = 0,
1306 .tccNum = 4,
1307 .tccPadNum = 0,
1308 .gclkNum = 255,
1309};
1310const PeripheralRoute SYS_CLK = {
1311 .pin_raw = 78,
1312 .gpioPort = PORTB,
1313 .gpioPin = 22,
1314 .extInt = 6,
1315 .extIntAvail = false,
1316 .adc0Channel = 255,
1317 .adc1Channel = 255,
1318 .dacChannel = 255,
1319 .sercomNum = 1,
1320 .sercomPadNum = 2,
1321 .tcNum = 7,
1322 .tcPadNum = 0,
1323 .tccNum = 255,
1324 .tccPadNum = 255,
1325 .gclkNum = 0,
1326};
1327const PeripheralRoute USB_DM = {
1328 .pin_raw = 74,
1329 .gpioPort = PORTA,
1330 .gpioPin = 24,
1331 .extInt = 8,
1332 .extIntAvail = false,
1333 .adc0Channel = 255,
1334 .adc1Channel = 255,
1335 .dacChannel = 255,
1336 .sercomNum = 3,
1337 .sercomPadNum = 2,
1338 .tcNum = 5,
1339 .tcPadNum = 0,
1340 .tccNum = 2,
1341 .tccPadNum = 2,
1342 .gclkNum = 255,
1343};
1344const PeripheralRoute USB_DP = {
1345 .pin_raw = 75,
1346 .gpioPort = PORTA,
1347 .gpioPin = 25,
1348 .extInt = 9,
1349 .extIntAvail = false,
1350 .adc0Channel = 255,
1351 .adc1Channel = 255,
1352 .dacChannel = 255,
1353 .sercomNum = 3,
1354 .sercomPadNum = 3,
1355 .tcNum = 5,
1356 .tcPadNum = 1,
1357 .tccNum = 255,
1358 .tccPadNum = 255,
1359 .gclkNum = 255,
1360};
1361const PeripheralRoute Vsupply_MON_IO_4and5_RST = {
1362 .pin_raw = 5,
1363 .gpioPort = PORTC,
1364 .gpioPin = 2,
1365 .extInt = 2,
1366 .extIntAvail = false,
1367 .adc0Channel = 255,
1368 .adc1Channel = 4,
1369 .dacChannel = 255,
1370 .sercomNum = 255,
1371 .sercomPadNum = 255,
1372 .tcNum = 255,
1373 .tcPadNum = 255,
1374 .tccNum = 255,
1375 .tccPadNum = 255,
1376 .gclkNum = 255,
1377};
1378const PeripheralRoute XBee_CTS_IN = {
1379 .pin_raw = 83,
1380 .gpioPort = PORTC,
1381 .gpioPin = 25,
1382 .extInt = 9,
1383 .extIntAvail = false,
1384 .adc0Channel = 255,
1385 .adc1Channel = 255,
1386 .dacChannel = 255,
1387 .sercomNum = 2,
1388 .sercomPadNum = 3,
1389 .tcNum = 255,
1390 .tcPadNum = 255,
1391 .tccNum = 255,
1392 .tccPadNum = 255,
1393 .gclkNum = 255,
1394};
1395const PeripheralRoute XBee_RTS_OUT = {
1396 .pin_raw = 82,
1397 .gpioPort = PORTC,
1398 .gpioPin = 24,
1399 .extInt = 8,
1400 .extIntAvail = false,
1401 .adc0Channel = 255,
1402 .adc1Channel = 255,
1403 .dacChannel = 255,
1404 .sercomNum = 2,
1405 .sercomPadNum = 2,
1406 .tcNum = 255,
1407 .tcPadNum = 255,
1408 .tccNum = 255,
1409 .tccPadNum = 255,
1410 .gclkNum = 255,
1411};
1412const PeripheralRoute XBee_Rx_IN = {
1413 .pin_raw = 80,
1414 .gpioPort = PORTB,
1415 .gpioPin = 24,
1416 .extInt = 8,
1417 .extIntAvail = false,
1418 .adc0Channel = 255,
1419 .adc1Channel = 255,
1420 .dacChannel = 255,
1421 .sercomNum = 2,
1422 .sercomPadNum = 1,
1423 .tcNum = 255,
1424 .tcPadNum = 255,
1425 .tccNum = 255,
1426 .tccPadNum = 255,
1427 .gclkNum = 255,
1428};
1429const PeripheralRoute XBee_Tx_OUT = {
1430 .pin_raw = 81,
1431 .gpioPort = PORTB,
1432 .gpioPin = 25,
1433 .extInt = 9,
1434 .extIntAvail = false,
1435 .adc0Channel = 255,
1436 .adc1Channel = 255,
1437 .dacChannel = 255,
1438 .sercomNum = 2,
1439 .sercomPadNum = 0,
1440 .tcNum = 255,
1441 .tcPadNum = 255,
1442 .tccNum = 255,
1443 .tccPadNum = 255,
1444 .gclkNum = 255,
1445};
1446#endif // HIDE_FROM_DOXYGEN
1447
1448// start complaining about -Wpedantic and -Wmissing-field-initializers again
1449#pragma GCC diagnostic pop
1450
1451} // ClearCore namespace
1452
1453#ifdef __cplusplus
1454#include "Connector.h"
1455}
1456#endif
1457
1458#endif // __HARDWAREMAPPING_H__
Base class for all connector classes.
Defines the Peripheral Route structure, used in HardwareMapping.
Namespace to encompass the ClearCore board API.
Definition AdcManager.h:36