pic32_hal/
pps_tables.rs

1//generated by edc2pps on 2023-06-18 09:59:08.655388+00:00
2
3#[cfg(feature = "pic32mx1xxfxxxb")]
4pps_tables! {
5    { // virtual input declarations
6        Int4, int4;   // PPS group #1
7        T2ck, t2ck;   // PPS group #1
8        Ic4, ic4;   // PPS group #1
9        Ss1, ss1;   // PPS group #1
10        Refclki, refclki;   // PPS group #1
11        Int3, int3;   // PPS group #2
12        T3ck, t3ck;   // PPS group #2
13        Ic3, ic3;   // PPS group #2
14        U1cts, u1cts;   // PPS group #2
15        U2rx, u2rx;   // PPS group #2
16        Sdi1, sdi1;   // PPS group #2
17        Int2, int2;   // PPS group #3
18        T4ck, t4ck;   // PPS group #3
19        Ic1, ic1;   // PPS group #3
20        Ic5, ic5;   // PPS group #3
21        U1rx, u1rx;   // PPS group #3
22        U2cts, u2cts;   // PPS group #3
23        Sdi2, sdi2;   // PPS group #3
24        Ocfb, ocfb;   // PPS group #3
25        Int1, int1;   // PPS group #4
26        T5ck, t5ck;   // PPS group #4
27        Ic2, ic2;   // PPS group #4
28        Ss2, ss2;   // PPS group #4
29        Ocfa, ocfa;   // PPS group #4
30    }{ // virtual output declarations
31        C1out, c1out;
32        C2out, c2out;
33        C3out, c3out;
34        Oc1, oc1;
35        Oc2, oc2;
36        Oc3, oc3;
37        Oc4, oc4;
38        Oc5, oc5;
39        Refclko, refclko;
40        Sdo1, sdo1;
41        Sdo2, sdo2;
42        Ss1, ss1;
43        Ss2, ss2;
44        U1rts, u1rts;
45        U1tx, u1tx;
46        U2rts, u2rts;
47        U2tx, u2tx;
48    }{ // virtual input mapping table
49        Int4, int4r { // PPS group #1
50            gpio::porta::RA0<MODE>, 0;
51            gpio::portb::RB3<MODE>, 1;
52            gpio::portb::RB4<MODE>, 2;
53            gpio::portb::RB15<MODE>, 3;
54            gpio::portb::RB7<MODE>, 4;
55        }
56        T2ck, t2ckr { // PPS group #1
57            gpio::porta::RA0<MODE>, 0;
58            gpio::portb::RB3<MODE>, 1;
59            gpio::portb::RB4<MODE>, 2;
60            gpio::portb::RB15<MODE>, 3;
61            gpio::portb::RB7<MODE>, 4;
62        }
63        Ic4, ic4r { // PPS group #1
64            gpio::porta::RA0<MODE>, 0;
65            gpio::portb::RB3<MODE>, 1;
66            gpio::portb::RB4<MODE>, 2;
67            gpio::portb::RB15<MODE>, 3;
68            gpio::portb::RB7<MODE>, 4;
69        }
70        Ss1, ss1r { // PPS group #1
71            gpio::porta::RA0<MODE>, 0;
72            gpio::portb::RB3<MODE>, 1;
73            gpio::portb::RB4<MODE>, 2;
74            gpio::portb::RB15<MODE>, 3;
75            gpio::portb::RB7<MODE>, 4;
76        }
77        Refclki, refclkir { // PPS group #1
78            gpio::porta::RA0<MODE>, 0;
79            gpio::portb::RB3<MODE>, 1;
80            gpio::portb::RB4<MODE>, 2;
81            gpio::portb::RB15<MODE>, 3;
82            gpio::portb::RB7<MODE>, 4;
83        }
84        Int3, int3r { // PPS group #2
85            gpio::porta::RA1<MODE>, 0;
86            gpio::portb::RB5<MODE>, 1;
87            gpio::portb::RB1<MODE>, 2;
88            gpio::portb::RB11<MODE>, 3;
89            gpio::portb::RB8<MODE>, 4;
90        }
91        T3ck, t3ckr { // PPS group #2
92            gpio::porta::RA1<MODE>, 0;
93            gpio::portb::RB5<MODE>, 1;
94            gpio::portb::RB1<MODE>, 2;
95            gpio::portb::RB11<MODE>, 3;
96            gpio::portb::RB8<MODE>, 4;
97        }
98        Ic3, ic3r { // PPS group #2
99            gpio::porta::RA1<MODE>, 0;
100            gpio::portb::RB5<MODE>, 1;
101            gpio::portb::RB1<MODE>, 2;
102            gpio::portb::RB11<MODE>, 3;
103            gpio::portb::RB8<MODE>, 4;
104        }
105        U1cts, u1ctsr { // PPS group #2
106            gpio::porta::RA1<MODE>, 0;
107            gpio::portb::RB5<MODE>, 1;
108            gpio::portb::RB1<MODE>, 2;
109            gpio::portb::RB11<MODE>, 3;
110            gpio::portb::RB8<MODE>, 4;
111        }
112        U2rx, u2rxr { // PPS group #2
113            gpio::porta::RA1<MODE>, 0;
114            gpio::portb::RB5<MODE>, 1;
115            gpio::portb::RB1<MODE>, 2;
116            gpio::portb::RB11<MODE>, 3;
117            gpio::portb::RB8<MODE>, 4;
118        }
119        Sdi1, sdi1r { // PPS group #2
120            gpio::porta::RA1<MODE>, 0;
121            gpio::portb::RB5<MODE>, 1;
122            gpio::portb::RB1<MODE>, 2;
123            gpio::portb::RB11<MODE>, 3;
124            gpio::portb::RB8<MODE>, 4;
125        }
126        Int2, int2r { // PPS group #3
127            gpio::porta::RA2<MODE>, 0;
128            gpio::portb::RB6<MODE>, 1;
129            gpio::porta::RA4<MODE>, 2;
130            gpio::portb::RB13<MODE>, 3;
131            gpio::portb::RB2<MODE>, 4;
132        }
133        T4ck, t4ckr { // PPS group #3
134            gpio::porta::RA2<MODE>, 0;
135            gpio::portb::RB6<MODE>, 1;
136            gpio::porta::RA4<MODE>, 2;
137            gpio::portb::RB13<MODE>, 3;
138            gpio::portb::RB2<MODE>, 4;
139        }
140        Ic1, ic1r { // PPS group #3
141            gpio::porta::RA2<MODE>, 0;
142            gpio::portb::RB6<MODE>, 1;
143            gpio::porta::RA4<MODE>, 2;
144            gpio::portb::RB13<MODE>, 3;
145            gpio::portb::RB2<MODE>, 4;
146        }
147        Ic5, ic5r { // PPS group #3
148            gpio::porta::RA2<MODE>, 0;
149            gpio::portb::RB6<MODE>, 1;
150            gpio::porta::RA4<MODE>, 2;
151            gpio::portb::RB13<MODE>, 3;
152            gpio::portb::RB2<MODE>, 4;
153        }
154        U1rx, u1rxr { // PPS group #3
155            gpio::porta::RA2<MODE>, 0;
156            gpio::portb::RB6<MODE>, 1;
157            gpio::porta::RA4<MODE>, 2;
158            gpio::portb::RB13<MODE>, 3;
159            gpio::portb::RB2<MODE>, 4;
160        }
161        U2cts, u2ctsr { // PPS group #3
162            gpio::porta::RA2<MODE>, 0;
163            gpio::portb::RB6<MODE>, 1;
164            gpio::porta::RA4<MODE>, 2;
165            gpio::portb::RB13<MODE>, 3;
166            gpio::portb::RB2<MODE>, 4;
167        }
168        Sdi2, sdi2r { // PPS group #3
169            gpio::porta::RA2<MODE>, 0;
170            gpio::portb::RB6<MODE>, 1;
171            gpio::porta::RA4<MODE>, 2;
172            gpio::portb::RB13<MODE>, 3;
173            gpio::portb::RB2<MODE>, 4;
174        }
175        Ocfb, ocfbr { // PPS group #3
176            gpio::porta::RA2<MODE>, 0;
177            gpio::portb::RB6<MODE>, 1;
178            gpio::porta::RA4<MODE>, 2;
179            gpio::portb::RB13<MODE>, 3;
180            gpio::portb::RB2<MODE>, 4;
181        }
182        Int1, int1r { // PPS group #4
183            gpio::porta::RA3<MODE>, 0;
184            gpio::portb::RB14<MODE>, 1;
185            gpio::portb::RB0<MODE>, 2;
186            gpio::portb::RB10<MODE>, 3;
187            gpio::portb::RB9<MODE>, 4;
188        }
189        T5ck, t5ckr { // PPS group #4
190            gpio::porta::RA3<MODE>, 0;
191            gpio::portb::RB14<MODE>, 1;
192            gpio::portb::RB0<MODE>, 2;
193            gpio::portb::RB10<MODE>, 3;
194            gpio::portb::RB9<MODE>, 4;
195        }
196        Ic2, ic2r { // PPS group #4
197            gpio::porta::RA3<MODE>, 0;
198            gpio::portb::RB14<MODE>, 1;
199            gpio::portb::RB0<MODE>, 2;
200            gpio::portb::RB10<MODE>, 3;
201            gpio::portb::RB9<MODE>, 4;
202        }
203        Ss2, ss2r { // PPS group #4
204            gpio::porta::RA3<MODE>, 0;
205            gpio::portb::RB14<MODE>, 1;
206            gpio::portb::RB0<MODE>, 2;
207            gpio::portb::RB10<MODE>, 3;
208            gpio::portb::RB9<MODE>, 4;
209        }
210        Ocfa, ocfar { // PPS group #4
211            gpio::porta::RA3<MODE>, 0;
212            gpio::portb::RB14<MODE>, 1;
213            gpio::portb::RB0<MODE>, 2;
214            gpio::portb::RB10<MODE>, 3;
215            gpio::portb::RB9<MODE>, 4;
216        }
217    }{ // virtual output mapping table
218        gpio::porta::RA0<MODE>, rpa0r {    // PPS group #1
219            U1tx, 1;
220            U2rts, 2;
221            Ss1, 3;
222            Oc1, 5;
223            C2out, 7;
224        }
225        gpio::portb::RB3<MODE>, rpb3r {    // PPS group #1
226            U1tx, 1;
227            U2rts, 2;
228            Ss1, 3;
229            Oc1, 5;
230            C2out, 7;
231        }
232        gpio::portb::RB4<MODE>, rpb4r {    // PPS group #1
233            U1tx, 1;
234            U2rts, 2;
235            Ss1, 3;
236            Oc1, 5;
237            C2out, 7;
238        }
239        gpio::portb::RB15<MODE>, rpb15r {    // PPS group #1
240            U1tx, 1;
241            U2rts, 2;
242            Ss1, 3;
243            Oc1, 5;
244            C2out, 7;
245        }
246        gpio::portb::RB7<MODE>, rpb7r {    // PPS group #1
247            U1tx, 1;
248            U2rts, 2;
249            Ss1, 3;
250            Oc1, 5;
251            C2out, 7;
252        }
253        gpio::porta::RA1<MODE>, rpa1r {    // PPS group #2
254            Sdo1, 3;
255            Sdo2, 4;
256            Oc2, 5;
257            C3out, 7;
258        }
259        gpio::portb::RB5<MODE>, rpb5r {    // PPS group #2
260            Sdo1, 3;
261            Sdo2, 4;
262            Oc2, 5;
263            C3out, 7;
264        }
265        gpio::portb::RB1<MODE>, rpb1r {    // PPS group #2
266            Sdo1, 3;
267            Sdo2, 4;
268            Oc2, 5;
269            C3out, 7;
270        }
271        gpio::portb::RB11<MODE>, rpb11r {    // PPS group #2
272            Sdo1, 3;
273            Sdo2, 4;
274            Oc2, 5;
275            C3out, 7;
276        }
277        gpio::portb::RB8<MODE>, rpb8r {    // PPS group #2
278            Sdo1, 3;
279            Sdo2, 4;
280            Oc2, 5;
281            C3out, 7;
282        }
283        gpio::porta::RA2<MODE>, rpa2r {    // PPS group #3
284            Sdo1, 3;
285            Sdo2, 4;
286            Oc4, 5;
287            Oc5, 6;
288            Refclko, 7;
289        }
290        gpio::portb::RB6<MODE>, rpb6r {    // PPS group #3
291            Sdo1, 3;
292            Sdo2, 4;
293            Oc4, 5;
294            Oc5, 6;
295            Refclko, 7;
296        }
297        gpio::porta::RA4<MODE>, rpa4r {    // PPS group #3
298            Sdo1, 3;
299            Sdo2, 4;
300            Oc4, 5;
301            Oc5, 6;
302            Refclko, 7;
303        }
304        gpio::portb::RB13<MODE>, rpb13r {    // PPS group #3
305            Sdo1, 3;
306            Sdo2, 4;
307            Oc4, 5;
308            Oc5, 6;
309            Refclko, 7;
310        }
311        gpio::portb::RB2<MODE>, rpb2r {    // PPS group #3
312            Sdo1, 3;
313            Sdo2, 4;
314            Oc4, 5;
315            Oc5, 6;
316            Refclko, 7;
317        }
318        gpio::porta::RA3<MODE>, rpa3r {    // PPS group #4
319            U1rts, 1;
320            U2tx, 2;
321            Ss2, 4;
322            Oc3, 5;
323            C1out, 7;
324        }
325        gpio::portb::RB14<MODE>, rpb14r {    // PPS group #4
326            U1rts, 1;
327            U2tx, 2;
328            Ss2, 4;
329            Oc3, 5;
330            C1out, 7;
331        }
332        gpio::portb::RB0<MODE>, rpb0r {    // PPS group #4
333            U1rts, 1;
334            U2tx, 2;
335            Ss2, 4;
336            Oc3, 5;
337            C1out, 7;
338        }
339        gpio::portb::RB10<MODE>, rpb10r {    // PPS group #4
340            U1rts, 1;
341            U2tx, 2;
342            Ss2, 4;
343            Oc3, 5;
344            C1out, 7;
345        }
346        gpio::portb::RB9<MODE>, rpb9r {    // PPS group #4
347            U1rts, 1;
348            U2tx, 2;
349            Ss2, 4;
350            Oc3, 5;
351            C1out, 7;
352        }
353    }
354}
355
356#[cfg(feature = "pic32mx2xxfxxxb")]
357pps_tables! {
358    { // virtual input declarations
359        Int4, int4;   // PPS group #1
360        T2ck, t2ck;   // PPS group #1
361        Ic4, ic4;   // PPS group #1
362        Ss1, ss1;   // PPS group #1
363        Refclki, refclki;   // PPS group #1
364        Int3, int3;   // PPS group #2
365        T3ck, t3ck;   // PPS group #2
366        Ic3, ic3;   // PPS group #2
367        U1cts, u1cts;   // PPS group #2
368        U2rx, u2rx;   // PPS group #2
369        Sdi1, sdi1;   // PPS group #2
370        Int2, int2;   // PPS group #3
371        T4ck, t4ck;   // PPS group #3
372        Ic1, ic1;   // PPS group #3
373        Ic5, ic5;   // PPS group #3
374        U1rx, u1rx;   // PPS group #3
375        U2cts, u2cts;   // PPS group #3
376        Sdi2, sdi2;   // PPS group #3
377        Ocfb, ocfb;   // PPS group #3
378        Int1, int1;   // PPS group #4
379        T5ck, t5ck;   // PPS group #4
380        Ic2, ic2;   // PPS group #4
381        Ss2, ss2;   // PPS group #4
382        Ocfa, ocfa;   // PPS group #4
383    }{ // virtual output declarations
384        C1out, c1out;
385        C2out, c2out;
386        C3out, c3out;
387        Oc1, oc1;
388        Oc2, oc2;
389        Oc3, oc3;
390        Oc4, oc4;
391        Oc5, oc5;
392        Refclko, refclko;
393        Sdo1, sdo1;
394        Sdo2, sdo2;
395        Ss1, ss1;
396        Ss2, ss2;
397        U1rts, u1rts;
398        U1tx, u1tx;
399        U2rts, u2rts;
400        U2tx, u2tx;
401    }{ // virtual input mapping table
402        Int4, int4r { // PPS group #1
403            gpio::porta::RA0<MODE>, 0;
404            gpio::portb::RB3<MODE>, 1;
405            gpio::portb::RB4<MODE>, 2;
406            gpio::portb::RB15<MODE>, 3;
407            gpio::portb::RB7<MODE>, 4;
408        }
409        T2ck, t2ckr { // PPS group #1
410            gpio::porta::RA0<MODE>, 0;
411            gpio::portb::RB3<MODE>, 1;
412            gpio::portb::RB4<MODE>, 2;
413            gpio::portb::RB15<MODE>, 3;
414            gpio::portb::RB7<MODE>, 4;
415        }
416        Ic4, ic4r { // PPS group #1
417            gpio::porta::RA0<MODE>, 0;
418            gpio::portb::RB3<MODE>, 1;
419            gpio::portb::RB4<MODE>, 2;
420            gpio::portb::RB15<MODE>, 3;
421            gpio::portb::RB7<MODE>, 4;
422        }
423        Ss1, ss1r { // PPS group #1
424            gpio::porta::RA0<MODE>, 0;
425            gpio::portb::RB3<MODE>, 1;
426            gpio::portb::RB4<MODE>, 2;
427            gpio::portb::RB15<MODE>, 3;
428            gpio::portb::RB7<MODE>, 4;
429        }
430        Refclki, refclkir { // PPS group #1
431            gpio::porta::RA0<MODE>, 0;
432            gpio::portb::RB3<MODE>, 1;
433            gpio::portb::RB4<MODE>, 2;
434            gpio::portb::RB15<MODE>, 3;
435            gpio::portb::RB7<MODE>, 4;
436        }
437        Int3, int3r { // PPS group #2
438            gpio::porta::RA1<MODE>, 0;
439            gpio::portb::RB5<MODE>, 1;
440            gpio::portb::RB1<MODE>, 2;
441            gpio::portb::RB11<MODE>, 3;
442            gpio::portb::RB8<MODE>, 4;
443        }
444        T3ck, t3ckr { // PPS group #2
445            gpio::porta::RA1<MODE>, 0;
446            gpio::portb::RB5<MODE>, 1;
447            gpio::portb::RB1<MODE>, 2;
448            gpio::portb::RB11<MODE>, 3;
449            gpio::portb::RB8<MODE>, 4;
450        }
451        Ic3, ic3r { // PPS group #2
452            gpio::porta::RA1<MODE>, 0;
453            gpio::portb::RB5<MODE>, 1;
454            gpio::portb::RB1<MODE>, 2;
455            gpio::portb::RB11<MODE>, 3;
456            gpio::portb::RB8<MODE>, 4;
457        }
458        U1cts, u1ctsr { // PPS group #2
459            gpio::porta::RA1<MODE>, 0;
460            gpio::portb::RB5<MODE>, 1;
461            gpio::portb::RB1<MODE>, 2;
462            gpio::portb::RB11<MODE>, 3;
463            gpio::portb::RB8<MODE>, 4;
464        }
465        U2rx, u2rxr { // PPS group #2
466            gpio::porta::RA1<MODE>, 0;
467            gpio::portb::RB5<MODE>, 1;
468            gpio::portb::RB1<MODE>, 2;
469            gpio::portb::RB11<MODE>, 3;
470            gpio::portb::RB8<MODE>, 4;
471        }
472        Sdi1, sdi1r { // PPS group #2
473            gpio::porta::RA1<MODE>, 0;
474            gpio::portb::RB5<MODE>, 1;
475            gpio::portb::RB1<MODE>, 2;
476            gpio::portb::RB11<MODE>, 3;
477            gpio::portb::RB8<MODE>, 4;
478        }
479        Int2, int2r { // PPS group #3
480            gpio::porta::RA2<MODE>, 0;
481            gpio::porta::RA4<MODE>, 2;
482            gpio::portb::RB13<MODE>, 3;
483            gpio::portb::RB2<MODE>, 4;
484        }
485        T4ck, t4ckr { // PPS group #3
486            gpio::porta::RA2<MODE>, 0;
487            gpio::porta::RA4<MODE>, 2;
488            gpio::portb::RB13<MODE>, 3;
489            gpio::portb::RB2<MODE>, 4;
490        }
491        Ic1, ic1r { // PPS group #3
492            gpio::porta::RA2<MODE>, 0;
493            gpio::porta::RA4<MODE>, 2;
494            gpio::portb::RB13<MODE>, 3;
495            gpio::portb::RB2<MODE>, 4;
496        }
497        Ic5, ic5r { // PPS group #3
498            gpio::porta::RA2<MODE>, 0;
499            gpio::porta::RA4<MODE>, 2;
500            gpio::portb::RB13<MODE>, 3;
501            gpio::portb::RB2<MODE>, 4;
502        }
503        U1rx, u1rxr { // PPS group #3
504            gpio::porta::RA2<MODE>, 0;
505            gpio::porta::RA4<MODE>, 2;
506            gpio::portb::RB13<MODE>, 3;
507            gpio::portb::RB2<MODE>, 4;
508        }
509        U2cts, u2ctsr { // PPS group #3
510            gpio::porta::RA2<MODE>, 0;
511            gpio::porta::RA4<MODE>, 2;
512            gpio::portb::RB13<MODE>, 3;
513            gpio::portb::RB2<MODE>, 4;
514        }
515        Sdi2, sdi2r { // PPS group #3
516            gpio::porta::RA2<MODE>, 0;
517            gpio::porta::RA4<MODE>, 2;
518            gpio::portb::RB13<MODE>, 3;
519            gpio::portb::RB2<MODE>, 4;
520        }
521        Ocfb, ocfbr { // PPS group #3
522            gpio::porta::RA2<MODE>, 0;
523            gpio::porta::RA4<MODE>, 2;
524            gpio::portb::RB13<MODE>, 3;
525            gpio::portb::RB2<MODE>, 4;
526        }
527        Int1, int1r { // PPS group #4
528            gpio::porta::RA3<MODE>, 0;
529            gpio::portb::RB14<MODE>, 1;
530            gpio::portb::RB0<MODE>, 2;
531            gpio::portb::RB10<MODE>, 3;
532            gpio::portb::RB9<MODE>, 4;
533        }
534        T5ck, t5ckr { // PPS group #4
535            gpio::porta::RA3<MODE>, 0;
536            gpio::portb::RB14<MODE>, 1;
537            gpio::portb::RB0<MODE>, 2;
538            gpio::portb::RB10<MODE>, 3;
539            gpio::portb::RB9<MODE>, 4;
540        }
541        Ic2, ic2r { // PPS group #4
542            gpio::porta::RA3<MODE>, 0;
543            gpio::portb::RB14<MODE>, 1;
544            gpio::portb::RB0<MODE>, 2;
545            gpio::portb::RB10<MODE>, 3;
546            gpio::portb::RB9<MODE>, 4;
547        }
548        Ss2, ss2r { // PPS group #4
549            gpio::porta::RA3<MODE>, 0;
550            gpio::portb::RB14<MODE>, 1;
551            gpio::portb::RB0<MODE>, 2;
552            gpio::portb::RB10<MODE>, 3;
553            gpio::portb::RB9<MODE>, 4;
554        }
555        Ocfa, ocfar { // PPS group #4
556            gpio::porta::RA3<MODE>, 0;
557            gpio::portb::RB14<MODE>, 1;
558            gpio::portb::RB0<MODE>, 2;
559            gpio::portb::RB10<MODE>, 3;
560            gpio::portb::RB9<MODE>, 4;
561        }
562    }{ // virtual output mapping table
563        gpio::porta::RA0<MODE>, rpa0r {    // PPS group #1
564            U1tx, 1;
565            U2rts, 2;
566            Ss1, 3;
567            Oc1, 5;
568            C2out, 7;
569        }
570        gpio::portb::RB3<MODE>, rpb3r {    // PPS group #1
571            U1tx, 1;
572            U2rts, 2;
573            Ss1, 3;
574            Oc1, 5;
575            C2out, 7;
576        }
577        gpio::portb::RB4<MODE>, rpb4r {    // PPS group #1
578            U1tx, 1;
579            U2rts, 2;
580            Ss1, 3;
581            Oc1, 5;
582            C2out, 7;
583        }
584        gpio::portb::RB15<MODE>, rpb15r {    // PPS group #1
585            U1tx, 1;
586            U2rts, 2;
587            Ss1, 3;
588            Oc1, 5;
589            C2out, 7;
590        }
591        gpio::portb::RB7<MODE>, rpb7r {    // PPS group #1
592            U1tx, 1;
593            U2rts, 2;
594            Ss1, 3;
595            Oc1, 5;
596            C2out, 7;
597        }
598        gpio::porta::RA1<MODE>, rpa1r {    // PPS group #2
599            Sdo1, 3;
600            Sdo2, 4;
601            Oc2, 5;
602            C3out, 7;
603        }
604        gpio::portb::RB5<MODE>, rpb5r {    // PPS group #2
605            Sdo1, 3;
606            Sdo2, 4;
607            Oc2, 5;
608            C3out, 7;
609        }
610        gpio::portb::RB1<MODE>, rpb1r {    // PPS group #2
611            Sdo1, 3;
612            Sdo2, 4;
613            Oc2, 5;
614            C3out, 7;
615        }
616        gpio::portb::RB11<MODE>, rpb11r {    // PPS group #2
617            Sdo1, 3;
618            Sdo2, 4;
619            Oc2, 5;
620            C3out, 7;
621        }
622        gpio::portb::RB8<MODE>, rpb8r {    // PPS group #2
623            Sdo1, 3;
624            Sdo2, 4;
625            Oc2, 5;
626            C3out, 7;
627        }
628        gpio::porta::RA2<MODE>, rpa2r {    // PPS group #3
629            Sdo1, 3;
630            Sdo2, 4;
631            Oc4, 5;
632            Oc5, 6;
633            Refclko, 7;
634        }
635        gpio::porta::RA4<MODE>, rpa4r {    // PPS group #3
636            Sdo1, 3;
637            Sdo2, 4;
638            Oc4, 5;
639            Oc5, 6;
640            Refclko, 7;
641        }
642        gpio::portb::RB13<MODE>, rpb13r {    // PPS group #3
643            Sdo1, 3;
644            Sdo2, 4;
645            Oc4, 5;
646            Oc5, 6;
647            Refclko, 7;
648        }
649        gpio::portb::RB2<MODE>, rpb2r {    // PPS group #3
650            Sdo1, 3;
651            Sdo2, 4;
652            Oc4, 5;
653            Oc5, 6;
654            Refclko, 7;
655        }
656        gpio::porta::RA3<MODE>, rpa3r {    // PPS group #4
657            U1rts, 1;
658            U2tx, 2;
659            Ss2, 4;
660            Oc3, 5;
661            C1out, 7;
662        }
663        gpio::portb::RB14<MODE>, rpb14r {    // PPS group #4
664            U1rts, 1;
665            U2tx, 2;
666            Ss2, 4;
667            Oc3, 5;
668            C1out, 7;
669        }
670        gpio::portb::RB0<MODE>, rpb0r {    // PPS group #4
671            U1rts, 1;
672            U2tx, 2;
673            Ss2, 4;
674            Oc3, 5;
675            C1out, 7;
676        }
677        gpio::portb::RB10<MODE>, rpb10r {    // PPS group #4
678            U1rts, 1;
679            U2tx, 2;
680            Ss2, 4;
681            Oc3, 5;
682            C1out, 7;
683        }
684        gpio::portb::RB9<MODE>, rpb9r {    // PPS group #4
685            U1rts, 1;
686            U2tx, 2;
687            Ss2, 4;
688            Oc3, 5;
689            C1out, 7;
690        }
691    }
692}
693
694#[cfg(feature = "pic32mx2x4fxxxb")]
695pps_tables! {
696    { // virtual input declarations
697        Int4, int4;   // PPS group #1
698        T2ck, t2ck;   // PPS group #1
699        Ic4, ic4;   // PPS group #1
700        Ss1, ss1;   // PPS group #1
701        Refclki, refclki;   // PPS group #1
702        Int3, int3;   // PPS group #2
703        T3ck, t3ck;   // PPS group #2
704        Ic3, ic3;   // PPS group #2
705        U1cts, u1cts;   // PPS group #2
706        U2rx, u2rx;   // PPS group #2
707        Sdi1, sdi1;   // PPS group #2
708        Int2, int2;   // PPS group #3
709        T4ck, t4ck;   // PPS group #3
710        Ic1, ic1;   // PPS group #3
711        Ic5, ic5;   // PPS group #3
712        U1rx, u1rx;   // PPS group #3
713        U2cts, u2cts;   // PPS group #3
714        Sdi2, sdi2;   // PPS group #3
715        Ocfb, ocfb;   // PPS group #3
716        Int1, int1;   // PPS group #4
717        T5ck, t5ck;   // PPS group #4
718        Ic2, ic2;   // PPS group #4
719        Ss2, ss2;   // PPS group #4
720        Ocfa, ocfa;   // PPS group #4
721    }{ // virtual output declarations
722        C1out, c1out;
723        C2out, c2out;
724        C3out, c3out;
725        Oc1, oc1;
726        Oc2, oc2;
727        Oc3, oc3;
728        Oc4, oc4;
729        Oc5, oc5;
730        Refclko, refclko;
731        Sdo1, sdo1;
732        Sdo2, sdo2;
733        Ss1, ss1;
734        Ss2, ss2;
735        U1rts, u1rts;
736        U1tx, u1tx;
737        U2rts, u2rts;
738        U2tx, u2tx;
739        Vbuson, vbuson;
740    }{ // virtual input mapping table
741        Int4, int4r { // PPS group #1
742            gpio::porta::RA0<MODE>, 0;
743            gpio::portb::RB3<MODE>, 1;
744            gpio::portb::RB4<MODE>, 2;
745            gpio::portb::RB15<MODE>, 3;
746            gpio::portb::RB7<MODE>, 4;
747        }
748        T2ck, t2ckr { // PPS group #1
749            gpio::porta::RA0<MODE>, 0;
750            gpio::portb::RB3<MODE>, 1;
751            gpio::portb::RB4<MODE>, 2;
752            gpio::portb::RB15<MODE>, 3;
753            gpio::portb::RB7<MODE>, 4;
754        }
755        Ic4, ic4r { // PPS group #1
756            gpio::porta::RA0<MODE>, 0;
757            gpio::portb::RB3<MODE>, 1;
758            gpio::portb::RB4<MODE>, 2;
759            gpio::portb::RB15<MODE>, 3;
760            gpio::portb::RB7<MODE>, 4;
761        }
762        Ss1, ss1r { // PPS group #1
763            gpio::porta::RA0<MODE>, 0;
764            gpio::portb::RB3<MODE>, 1;
765            gpio::portb::RB4<MODE>, 2;
766            gpio::portb::RB15<MODE>, 3;
767            gpio::portb::RB7<MODE>, 4;
768        }
769        Refclki, refclkir { // PPS group #1
770            gpio::porta::RA0<MODE>, 0;
771            gpio::portb::RB3<MODE>, 1;
772            gpio::portb::RB4<MODE>, 2;
773            gpio::portb::RB15<MODE>, 3;
774            gpio::portb::RB7<MODE>, 4;
775        }
776        Int3, int3r { // PPS group #2
777            gpio::porta::RA1<MODE>, 0;
778            gpio::portb::RB5<MODE>, 1;
779            gpio::portb::RB1<MODE>, 2;
780            gpio::portb::RB8<MODE>, 4;
781        }
782        T3ck, t3ckr { // PPS group #2
783            gpio::porta::RA1<MODE>, 0;
784            gpio::portb::RB5<MODE>, 1;
785            gpio::portb::RB1<MODE>, 2;
786            gpio::portb::RB8<MODE>, 4;
787        }
788        Ic3, ic3r { // PPS group #2
789            gpio::porta::RA1<MODE>, 0;
790            gpio::portb::RB5<MODE>, 1;
791            gpio::portb::RB1<MODE>, 2;
792            gpio::portb::RB8<MODE>, 4;
793        }
794        U1cts, u1ctsr { // PPS group #2
795            gpio::porta::RA1<MODE>, 0;
796            gpio::portb::RB5<MODE>, 1;
797            gpio::portb::RB1<MODE>, 2;
798            gpio::portb::RB8<MODE>, 4;
799        }
800        U2rx, u2rxr { // PPS group #2
801            gpio::porta::RA1<MODE>, 0;
802            gpio::portb::RB5<MODE>, 1;
803            gpio::portb::RB1<MODE>, 2;
804            gpio::portb::RB8<MODE>, 4;
805        }
806        Sdi1, sdi1r { // PPS group #2
807            gpio::porta::RA1<MODE>, 0;
808            gpio::portb::RB5<MODE>, 1;
809            gpio::portb::RB1<MODE>, 2;
810            gpio::portb::RB8<MODE>, 4;
811        }
812        Int2, int2r { // PPS group #3
813            gpio::porta::RA2<MODE>, 0;
814            gpio::porta::RA4<MODE>, 2;
815            gpio::portb::RB13<MODE>, 3;
816            gpio::portb::RB2<MODE>, 4;
817        }
818        T4ck, t4ckr { // PPS group #3
819            gpio::porta::RA2<MODE>, 0;
820            gpio::porta::RA4<MODE>, 2;
821            gpio::portb::RB13<MODE>, 3;
822            gpio::portb::RB2<MODE>, 4;
823        }
824        Ic1, ic1r { // PPS group #3
825            gpio::porta::RA2<MODE>, 0;
826            gpio::porta::RA4<MODE>, 2;
827            gpio::portb::RB13<MODE>, 3;
828            gpio::portb::RB2<MODE>, 4;
829        }
830        Ic5, ic5r { // PPS group #3
831            gpio::porta::RA2<MODE>, 0;
832            gpio::porta::RA4<MODE>, 2;
833            gpio::portb::RB13<MODE>, 3;
834            gpio::portb::RB2<MODE>, 4;
835        }
836        U1rx, u1rxr { // PPS group #3
837            gpio::porta::RA2<MODE>, 0;
838            gpio::porta::RA4<MODE>, 2;
839            gpio::portb::RB13<MODE>, 3;
840            gpio::portb::RB2<MODE>, 4;
841        }
842        U2cts, u2ctsr { // PPS group #3
843            gpio::porta::RA2<MODE>, 0;
844            gpio::porta::RA4<MODE>, 2;
845            gpio::portb::RB13<MODE>, 3;
846            gpio::portb::RB2<MODE>, 4;
847        }
848        Sdi2, sdi2r { // PPS group #3
849            gpio::porta::RA2<MODE>, 0;
850            gpio::porta::RA4<MODE>, 2;
851            gpio::portb::RB13<MODE>, 3;
852            gpio::portb::RB2<MODE>, 4;
853        }
854        Ocfb, ocfbr { // PPS group #3
855            gpio::porta::RA2<MODE>, 0;
856            gpio::porta::RA4<MODE>, 2;
857            gpio::portb::RB13<MODE>, 3;
858            gpio::portb::RB2<MODE>, 4;
859        }
860        Int1, int1r { // PPS group #4
861            gpio::porta::RA3<MODE>, 0;
862            gpio::portb::RB14<MODE>, 1;
863            gpio::portb::RB0<MODE>, 2;
864            gpio::portb::RB9<MODE>, 4;
865        }
866        T5ck, t5ckr { // PPS group #4
867            gpio::porta::RA3<MODE>, 0;
868            gpio::portb::RB14<MODE>, 1;
869            gpio::portb::RB0<MODE>, 2;
870            gpio::portb::RB9<MODE>, 4;
871        }
872        Ic2, ic2r { // PPS group #4
873            gpio::porta::RA3<MODE>, 0;
874            gpio::portb::RB14<MODE>, 1;
875            gpio::portb::RB0<MODE>, 2;
876            gpio::portb::RB9<MODE>, 4;
877        }
878        Ss2, ss2r { // PPS group #4
879            gpio::porta::RA3<MODE>, 0;
880            gpio::portb::RB14<MODE>, 1;
881            gpio::portb::RB0<MODE>, 2;
882            gpio::portb::RB9<MODE>, 4;
883        }
884        Ocfa, ocfar { // PPS group #4
885            gpio::porta::RA3<MODE>, 0;
886            gpio::portb::RB14<MODE>, 1;
887            gpio::portb::RB0<MODE>, 2;
888            gpio::portb::RB9<MODE>, 4;
889        }
890    }{ // virtual output mapping table
891        gpio::porta::RA0<MODE>, rpa0r {    // PPS group #1
892            U1tx, 1;
893            U2rts, 2;
894            Vbuson, 2;
895            Ss1, 3;
896            Oc1, 5;
897            C2out, 7;
898        }
899        gpio::portb::RB3<MODE>, rpb3r {    // PPS group #1
900            U1tx, 1;
901            U2rts, 2;
902            Vbuson, 2;
903            Ss1, 3;
904            Oc1, 5;
905            C2out, 7;
906        }
907        gpio::portb::RB4<MODE>, rpb4r {    // PPS group #1
908            U1tx, 1;
909            U2rts, 2;
910            Vbuson, 2;
911            Ss1, 3;
912            Oc1, 5;
913            C2out, 7;
914        }
915        gpio::portb::RB15<MODE>, rpb15r {    // PPS group #1
916            U1tx, 1;
917            U2rts, 2;
918            Vbuson, 2;
919            Ss1, 3;
920            Oc1, 5;
921            C2out, 7;
922        }
923        gpio::portb::RB7<MODE>, rpb7r {    // PPS group #1
924            U1tx, 1;
925            U2rts, 2;
926            Vbuson, 2;
927            Ss1, 3;
928            Oc1, 5;
929            C2out, 7;
930        }
931        gpio::porta::RA1<MODE>, rpa1r {    // PPS group #2
932            Sdo1, 3;
933            Sdo2, 4;
934            Oc2, 5;
935            C3out, 7;
936        }
937        gpio::portb::RB5<MODE>, rpb5r {    // PPS group #2
938            Sdo1, 3;
939            Sdo2, 4;
940            Oc2, 5;
941            C3out, 7;
942        }
943        gpio::portb::RB1<MODE>, rpb1r {    // PPS group #2
944            Sdo1, 3;
945            Sdo2, 4;
946            Oc2, 5;
947            C3out, 7;
948        }
949        gpio::portb::RB8<MODE>, rpb8r {    // PPS group #2
950            Sdo1, 3;
951            Sdo2, 4;
952            Oc2, 5;
953            C3out, 7;
954        }
955        gpio::porta::RA2<MODE>, rpa2r {    // PPS group #3
956            Sdo1, 3;
957            Sdo2, 4;
958            Oc4, 5;
959            Oc5, 6;
960            Refclko, 7;
961        }
962        gpio::porta::RA4<MODE>, rpa4r {    // PPS group #3
963            Sdo1, 3;
964            Sdo2, 4;
965            Oc4, 5;
966            Oc5, 6;
967            Refclko, 7;
968        }
969        gpio::portb::RB13<MODE>, rpb13r {    // PPS group #3
970            Sdo1, 3;
971            Sdo2, 4;
972            Oc4, 5;
973            Oc5, 6;
974            Refclko, 7;
975        }
976        gpio::portb::RB2<MODE>, rpb2r {    // PPS group #3
977            Sdo1, 3;
978            Sdo2, 4;
979            Oc4, 5;
980            Oc5, 6;
981            Refclko, 7;
982        }
983        gpio::porta::RA3<MODE>, rpa3r {    // PPS group #4
984            U1rts, 1;
985            U2tx, 2;
986            Ss2, 4;
987            Oc3, 5;
988            C1out, 7;
989        }
990        gpio::portb::RB14<MODE>, rpb14r {    // PPS group #4
991            U1rts, 1;
992            U2tx, 2;
993            Ss2, 4;
994            Oc3, 5;
995            C1out, 7;
996        }
997        gpio::portb::RB0<MODE>, rpb0r {    // PPS group #4
998            U1rts, 1;
999            U2tx, 2;
1000            Ss2, 4;
1001            Oc3, 5;
1002            C1out, 7;
1003        }
1004        gpio::portb::RB9<MODE>, rpb9r {    // PPS group #4
1005            U1rts, 1;
1006            U2tx, 2;
1007            Ss2, 4;
1008            Oc3, 5;
1009            C1out, 7;
1010        }
1011    }
1012}
1013
1014#[cfg(feature = "pic32mx37x")]
1015pps_tables! {
1016    { // virtual input declarations
1017        Int3, int3;   // PPS group #1
1018        T2ck, t2ck;   // PPS group #1
1019        Ic3, ic3;   // PPS group #1
1020        U1rx, u1rx;   // PPS group #1
1021        U2rx, u2rx;   // PPS group #1
1022        U5cts, u5cts;   // PPS group #1
1023        Refclki, refclki;   // PPS group #1
1024        Int4, int4;   // PPS group #2
1025        T5ck, t5ck;   // PPS group #2
1026        Ic4, ic4;   // PPS group #2
1027        U3rx, u3rx;   // PPS group #2
1028        U4cts, u4cts;   // PPS group #2
1029        Sdi1, sdi1;   // PPS group #2
1030        Sdi2, sdi2;   // PPS group #2
1031        Int2, int2;   // PPS group #3
1032        T4ck, t4ck;   // PPS group #3
1033        Ic2, ic2;   // PPS group #3
1034        Ic5, ic5;   // PPS group #3
1035        U1cts, u1cts;   // PPS group #3
1036        U2cts, u2cts;   // PPS group #3
1037        Ss1, ss1;   // PPS group #3
1038        Int1, int1;   // PPS group #4
1039        T3ck, t3ck;   // PPS group #4
1040        Ic1, ic1;   // PPS group #4
1041        U3cts, u3cts;   // PPS group #4
1042        U4rx, u4rx;   // PPS group #4
1043        U5rx, u5rx;   // PPS group #4
1044        Ss2, ss2;   // PPS group #4
1045        Ocfa, ocfa;   // PPS group #4
1046    }{ // virtual output declarations
1047        C1out, c1out;
1048        C2out, c2out;
1049        Oc1, oc1;
1050        Oc2, oc2;
1051        Oc3, oc3;
1052        Oc4, oc4;
1053        Oc5, oc5;
1054        Refclko, refclko;
1055        Sdo1, sdo1;
1056        Sdo2, sdo2;
1057        Ss1, ss1;
1058        Ss2, ss2;
1059        U1rts, u1rts;
1060        U1tx, u1tx;
1061        U2rts, u2rts;
1062        U2tx, u2tx;
1063        U3rts, u3rts;
1064        U3tx, u3tx;
1065        U4rts, u4rts;
1066        U4tx, u4tx;
1067        U5rts, u5rts;
1068        U5tx, u5tx;
1069    }{ // virtual input mapping table
1070        Int3, int3r { // PPS group #1
1071            gpio::portd::RD2<MODE>, 0;
1072            gpio::portg::RG8<MODE>, 1;
1073            gpio::portc::RC1<MODE>, 10;
1074            gpio::portd::RD14<MODE>, 11;
1075            gpio::portg::RG1<MODE>, 12;
1076            gpio::porta::RA14<MODE>, 13;
1077            gpio::portf::RF2<MODE>, 15;
1078            gpio::portf::RF4<MODE>, 2;
1079            gpio::portd::RD10<MODE>, 3;
1080            gpio::portf::RF1<MODE>, 4;
1081            gpio::portb::RB9<MODE>, 5;
1082            gpio::portb::RB10<MODE>, 6;
1083            gpio::portc::RC14<MODE>, 7;
1084            gpio::portb::RB5<MODE>, 8;
1085        }
1086        T2ck, t2ckr { // PPS group #1
1087            gpio::portd::RD2<MODE>, 0;
1088            gpio::portg::RG8<MODE>, 1;
1089            gpio::portc::RC1<MODE>, 10;
1090            gpio::portd::RD14<MODE>, 11;
1091            gpio::portg::RG1<MODE>, 12;
1092            gpio::porta::RA14<MODE>, 13;
1093            gpio::portf::RF2<MODE>, 15;
1094            gpio::portf::RF4<MODE>, 2;
1095            gpio::portd::RD10<MODE>, 3;
1096            gpio::portf::RF1<MODE>, 4;
1097            gpio::portb::RB9<MODE>, 5;
1098            gpio::portb::RB10<MODE>, 6;
1099            gpio::portc::RC14<MODE>, 7;
1100            gpio::portb::RB5<MODE>, 8;
1101        }
1102        Ic3, ic3r { // PPS group #1
1103            gpio::portd::RD2<MODE>, 0;
1104            gpio::portg::RG8<MODE>, 1;
1105            gpio::portc::RC1<MODE>, 10;
1106            gpio::portd::RD14<MODE>, 11;
1107            gpio::portg::RG1<MODE>, 12;
1108            gpio::porta::RA14<MODE>, 13;
1109            gpio::portf::RF2<MODE>, 15;
1110            gpio::portf::RF4<MODE>, 2;
1111            gpio::portd::RD10<MODE>, 3;
1112            gpio::portf::RF1<MODE>, 4;
1113            gpio::portb::RB9<MODE>, 5;
1114            gpio::portb::RB10<MODE>, 6;
1115            gpio::portc::RC14<MODE>, 7;
1116            gpio::portb::RB5<MODE>, 8;
1117        }
1118        U1rx, u1rxr { // PPS group #1
1119            gpio::portd::RD2<MODE>, 0;
1120            gpio::portg::RG8<MODE>, 1;
1121            gpio::portc::RC1<MODE>, 10;
1122            gpio::portd::RD14<MODE>, 11;
1123            gpio::portg::RG1<MODE>, 12;
1124            gpio::porta::RA14<MODE>, 13;
1125            gpio::portf::RF2<MODE>, 15;
1126            gpio::portf::RF4<MODE>, 2;
1127            gpio::portd::RD10<MODE>, 3;
1128            gpio::portf::RF1<MODE>, 4;
1129            gpio::portb::RB9<MODE>, 5;
1130            gpio::portb::RB10<MODE>, 6;
1131            gpio::portc::RC14<MODE>, 7;
1132            gpio::portb::RB5<MODE>, 8;
1133        }
1134        U2rx, u2rxr { // PPS group #1
1135            gpio::portd::RD2<MODE>, 0;
1136            gpio::portg::RG8<MODE>, 1;
1137            gpio::portc::RC1<MODE>, 10;
1138            gpio::portd::RD14<MODE>, 11;
1139            gpio::portg::RG1<MODE>, 12;
1140            gpio::porta::RA14<MODE>, 13;
1141            gpio::portf::RF2<MODE>, 15;
1142            gpio::portf::RF4<MODE>, 2;
1143            gpio::portd::RD10<MODE>, 3;
1144            gpio::portf::RF1<MODE>, 4;
1145            gpio::portb::RB9<MODE>, 5;
1146            gpio::portb::RB10<MODE>, 6;
1147            gpio::portc::RC14<MODE>, 7;
1148            gpio::portb::RB5<MODE>, 8;
1149        }
1150        U5cts, u5ctsr { // PPS group #1
1151            gpio::portd::RD2<MODE>, 0;
1152            gpio::portg::RG8<MODE>, 1;
1153            gpio::portc::RC1<MODE>, 10;
1154            gpio::portd::RD14<MODE>, 11;
1155            gpio::portg::RG1<MODE>, 12;
1156            gpio::porta::RA14<MODE>, 13;
1157            gpio::portf::RF2<MODE>, 15;
1158            gpio::portf::RF4<MODE>, 2;
1159            gpio::portd::RD10<MODE>, 3;
1160            gpio::portf::RF1<MODE>, 4;
1161            gpio::portb::RB9<MODE>, 5;
1162            gpio::portb::RB10<MODE>, 6;
1163            gpio::portc::RC14<MODE>, 7;
1164            gpio::portb::RB5<MODE>, 8;
1165        }
1166        Refclki, refclkir { // PPS group #1
1167            gpio::portd::RD2<MODE>, 0;
1168            gpio::portg::RG8<MODE>, 1;
1169            gpio::portc::RC1<MODE>, 10;
1170            gpio::portd::RD14<MODE>, 11;
1171            gpio::portg::RG1<MODE>, 12;
1172            gpio::porta::RA14<MODE>, 13;
1173            gpio::portf::RF2<MODE>, 15;
1174            gpio::portf::RF4<MODE>, 2;
1175            gpio::portd::RD10<MODE>, 3;
1176            gpio::portf::RF1<MODE>, 4;
1177            gpio::portb::RB9<MODE>, 5;
1178            gpio::portb::RB10<MODE>, 6;
1179            gpio::portc::RC14<MODE>, 7;
1180            gpio::portb::RB5<MODE>, 8;
1181        }
1182        Int4, int4r { // PPS group #2
1183            gpio::portd::RD3<MODE>, 0;
1184            gpio::portg::RG7<MODE>, 1;
1185            gpio::portc::RC4<MODE>, 10;
1186            gpio::portd::RD15<MODE>, 11;
1187            gpio::portg::RG0<MODE>, 12;
1188            gpio::porta::RA15<MODE>, 13;
1189            gpio::portf::RF7<MODE>, 15;
1190            gpio::portf::RF5<MODE>, 2;
1191            gpio::portd::RD11<MODE>, 3;
1192            gpio::portf::RF0<MODE>, 4;
1193            gpio::portb::RB1<MODE>, 5;
1194            gpio::porte::RE5<MODE>, 6;
1195            gpio::portc::RC13<MODE>, 7;
1196            gpio::portb::RB3<MODE>, 8;
1197        }
1198        T5ck, t5ckr { // PPS group #2
1199            gpio::portd::RD3<MODE>, 0;
1200            gpio::portg::RG7<MODE>, 1;
1201            gpio::portc::RC4<MODE>, 10;
1202            gpio::portd::RD15<MODE>, 11;
1203            gpio::portg::RG0<MODE>, 12;
1204            gpio::porta::RA15<MODE>, 13;
1205            gpio::portf::RF7<MODE>, 15;
1206            gpio::portf::RF5<MODE>, 2;
1207            gpio::portd::RD11<MODE>, 3;
1208            gpio::portf::RF0<MODE>, 4;
1209            gpio::portb::RB1<MODE>, 5;
1210            gpio::porte::RE5<MODE>, 6;
1211            gpio::portc::RC13<MODE>, 7;
1212            gpio::portb::RB3<MODE>, 8;
1213        }
1214        Ic4, ic4r { // PPS group #2
1215            gpio::portd::RD3<MODE>, 0;
1216            gpio::portg::RG7<MODE>, 1;
1217            gpio::portc::RC4<MODE>, 10;
1218            gpio::portd::RD15<MODE>, 11;
1219            gpio::portg::RG0<MODE>, 12;
1220            gpio::porta::RA15<MODE>, 13;
1221            gpio::portf::RF7<MODE>, 15;
1222            gpio::portf::RF5<MODE>, 2;
1223            gpio::portd::RD11<MODE>, 3;
1224            gpio::portf::RF0<MODE>, 4;
1225            gpio::portb::RB1<MODE>, 5;
1226            gpio::porte::RE5<MODE>, 6;
1227            gpio::portc::RC13<MODE>, 7;
1228            gpio::portb::RB3<MODE>, 8;
1229        }
1230        U3rx, u3rxr { // PPS group #2
1231            gpio::portd::RD3<MODE>, 0;
1232            gpio::portg::RG7<MODE>, 1;
1233            gpio::portc::RC4<MODE>, 10;
1234            gpio::portd::RD15<MODE>, 11;
1235            gpio::portg::RG0<MODE>, 12;
1236            gpio::porta::RA15<MODE>, 13;
1237            gpio::portf::RF7<MODE>, 15;
1238            gpio::portf::RF5<MODE>, 2;
1239            gpio::portd::RD11<MODE>, 3;
1240            gpio::portf::RF0<MODE>, 4;
1241            gpio::portb::RB1<MODE>, 5;
1242            gpio::porte::RE5<MODE>, 6;
1243            gpio::portc::RC13<MODE>, 7;
1244            gpio::portb::RB3<MODE>, 8;
1245        }
1246        U4cts, u4ctsr { // PPS group #2
1247            gpio::portd::RD3<MODE>, 0;
1248            gpio::portg::RG7<MODE>, 1;
1249            gpio::portc::RC4<MODE>, 10;
1250            gpio::portd::RD15<MODE>, 11;
1251            gpio::portg::RG0<MODE>, 12;
1252            gpio::porta::RA15<MODE>, 13;
1253            gpio::portf::RF7<MODE>, 15;
1254            gpio::portf::RF5<MODE>, 2;
1255            gpio::portd::RD11<MODE>, 3;
1256            gpio::portf::RF0<MODE>, 4;
1257            gpio::portb::RB1<MODE>, 5;
1258            gpio::porte::RE5<MODE>, 6;
1259            gpio::portc::RC13<MODE>, 7;
1260            gpio::portb::RB3<MODE>, 8;
1261        }
1262        Sdi1, sdi1r { // PPS group #2
1263            gpio::portd::RD3<MODE>, 0;
1264            gpio::portg::RG7<MODE>, 1;
1265            gpio::portc::RC4<MODE>, 10;
1266            gpio::portd::RD15<MODE>, 11;
1267            gpio::portg::RG0<MODE>, 12;
1268            gpio::porta::RA15<MODE>, 13;
1269            gpio::portf::RF7<MODE>, 15;
1270            gpio::portf::RF5<MODE>, 2;
1271            gpio::portd::RD11<MODE>, 3;
1272            gpio::portf::RF0<MODE>, 4;
1273            gpio::portb::RB1<MODE>, 5;
1274            gpio::porte::RE5<MODE>, 6;
1275            gpio::portc::RC13<MODE>, 7;
1276            gpio::portb::RB3<MODE>, 8;
1277        }
1278        Sdi2, sdi2r { // PPS group #2
1279            gpio::portd::RD3<MODE>, 0;
1280            gpio::portg::RG7<MODE>, 1;
1281            gpio::portc::RC4<MODE>, 10;
1282            gpio::portd::RD15<MODE>, 11;
1283            gpio::portg::RG0<MODE>, 12;
1284            gpio::porta::RA15<MODE>, 13;
1285            gpio::portf::RF7<MODE>, 15;
1286            gpio::portf::RF5<MODE>, 2;
1287            gpio::portd::RD11<MODE>, 3;
1288            gpio::portf::RF0<MODE>, 4;
1289            gpio::portb::RB1<MODE>, 5;
1290            gpio::porte::RE5<MODE>, 6;
1291            gpio::portc::RC13<MODE>, 7;
1292            gpio::portb::RB3<MODE>, 8;
1293        }
1294        Int2, int2r { // PPS group #3
1295            gpio::portd::RD9<MODE>, 0;
1296            gpio::portg::RG6<MODE>, 1;
1297            gpio::portd::RD12<MODE>, 10;
1298            gpio::portf::RF8<MODE>, 11;
1299            gpio::portc::RC3<MODE>, 12;
1300            gpio::porte::RE9<MODE>, 13;
1301            gpio::portb::RB2<MODE>, 15;
1302            gpio::portb::RB8<MODE>, 2;
1303            gpio::portb::RB15<MODE>, 3;
1304            gpio::portd::RD4<MODE>, 4;
1305            gpio::portb::RB0<MODE>, 5;
1306            gpio::porte::RE3<MODE>, 6;
1307            gpio::portb::RB7<MODE>, 7;
1308            gpio::portf::RF12<MODE>, 9;
1309        }
1310        T4ck, t4ckr { // PPS group #3
1311            gpio::portd::RD9<MODE>, 0;
1312            gpio::portg::RG6<MODE>, 1;
1313            gpio::portd::RD12<MODE>, 10;
1314            gpio::portf::RF8<MODE>, 11;
1315            gpio::portc::RC3<MODE>, 12;
1316            gpio::porte::RE9<MODE>, 13;
1317            gpio::portb::RB2<MODE>, 15;
1318            gpio::portb::RB8<MODE>, 2;
1319            gpio::portb::RB15<MODE>, 3;
1320            gpio::portd::RD4<MODE>, 4;
1321            gpio::portb::RB0<MODE>, 5;
1322            gpio::porte::RE3<MODE>, 6;
1323            gpio::portb::RB7<MODE>, 7;
1324            gpio::portf::RF12<MODE>, 9;
1325        }
1326        Ic2, ic2r { // PPS group #3
1327            gpio::portd::RD9<MODE>, 0;
1328            gpio::portg::RG6<MODE>, 1;
1329            gpio::portd::RD12<MODE>, 10;
1330            gpio::portf::RF8<MODE>, 11;
1331            gpio::portc::RC3<MODE>, 12;
1332            gpio::porte::RE9<MODE>, 13;
1333            gpio::portb::RB2<MODE>, 15;
1334            gpio::portb::RB8<MODE>, 2;
1335            gpio::portb::RB15<MODE>, 3;
1336            gpio::portd::RD4<MODE>, 4;
1337            gpio::portb::RB0<MODE>, 5;
1338            gpio::porte::RE3<MODE>, 6;
1339            gpio::portb::RB7<MODE>, 7;
1340            gpio::portf::RF12<MODE>, 9;
1341        }
1342        Ic5, ic5r { // PPS group #3
1343            gpio::portd::RD9<MODE>, 0;
1344            gpio::portg::RG6<MODE>, 1;
1345            gpio::portd::RD12<MODE>, 10;
1346            gpio::portf::RF8<MODE>, 11;
1347            gpio::portc::RC3<MODE>, 12;
1348            gpio::porte::RE9<MODE>, 13;
1349            gpio::portb::RB2<MODE>, 15;
1350            gpio::portb::RB8<MODE>, 2;
1351            gpio::portb::RB15<MODE>, 3;
1352            gpio::portd::RD4<MODE>, 4;
1353            gpio::portb::RB0<MODE>, 5;
1354            gpio::porte::RE3<MODE>, 6;
1355            gpio::portb::RB7<MODE>, 7;
1356            gpio::portf::RF12<MODE>, 9;
1357        }
1358        U1cts, u1ctsr { // PPS group #3
1359            gpio::portd::RD9<MODE>, 0;
1360            gpio::portg::RG6<MODE>, 1;
1361            gpio::portd::RD12<MODE>, 10;
1362            gpio::portf::RF8<MODE>, 11;
1363            gpio::portc::RC3<MODE>, 12;
1364            gpio::porte::RE9<MODE>, 13;
1365            gpio::portb::RB2<MODE>, 15;
1366            gpio::portb::RB8<MODE>, 2;
1367            gpio::portb::RB15<MODE>, 3;
1368            gpio::portd::RD4<MODE>, 4;
1369            gpio::portb::RB0<MODE>, 5;
1370            gpio::porte::RE3<MODE>, 6;
1371            gpio::portb::RB7<MODE>, 7;
1372            gpio::portf::RF12<MODE>, 9;
1373        }
1374        U2cts, u2ctsr { // PPS group #3
1375            gpio::portd::RD9<MODE>, 0;
1376            gpio::portg::RG6<MODE>, 1;
1377            gpio::portd::RD12<MODE>, 10;
1378            gpio::portf::RF8<MODE>, 11;
1379            gpio::portc::RC3<MODE>, 12;
1380            gpio::porte::RE9<MODE>, 13;
1381            gpio::portb::RB2<MODE>, 15;
1382            gpio::portb::RB8<MODE>, 2;
1383            gpio::portb::RB15<MODE>, 3;
1384            gpio::portd::RD4<MODE>, 4;
1385            gpio::portb::RB0<MODE>, 5;
1386            gpio::porte::RE3<MODE>, 6;
1387            gpio::portb::RB7<MODE>, 7;
1388            gpio::portf::RF12<MODE>, 9;
1389        }
1390        Ss1, ss1r { // PPS group #3
1391            gpio::portd::RD9<MODE>, 0;
1392            gpio::portg::RG6<MODE>, 1;
1393            gpio::portd::RD12<MODE>, 10;
1394            gpio::portf::RF8<MODE>, 11;
1395            gpio::portc::RC3<MODE>, 12;
1396            gpio::porte::RE9<MODE>, 13;
1397            gpio::portb::RB2<MODE>, 15;
1398            gpio::portb::RB8<MODE>, 2;
1399            gpio::portb::RB15<MODE>, 3;
1400            gpio::portd::RD4<MODE>, 4;
1401            gpio::portb::RB0<MODE>, 5;
1402            gpio::porte::RE3<MODE>, 6;
1403            gpio::portb::RB7<MODE>, 7;
1404            gpio::portf::RF12<MODE>, 9;
1405        }
1406        Int1, int1r { // PPS group #4
1407            gpio::portd::RD1<MODE>, 0;
1408            gpio::portg::RG9<MODE>, 1;
1409            gpio::portc::RC2<MODE>, 12;
1410            gpio::porte::RE8<MODE>, 13;
1411            gpio::portb::RB14<MODE>, 2;
1412            gpio::portd::RD0<MODE>, 3;
1413            gpio::portd::RD8<MODE>, 4;
1414            gpio::portb::RB6<MODE>, 5;
1415            gpio::portd::RD5<MODE>, 6;
1416            gpio::portf::RF3<MODE>, 8;
1417            gpio::portf::RF13<MODE>, 9;
1418        }
1419        T3ck, t3ckr { // PPS group #4
1420            gpio::portd::RD1<MODE>, 0;
1421            gpio::portg::RG9<MODE>, 1;
1422            gpio::portc::RC2<MODE>, 12;
1423            gpio::porte::RE8<MODE>, 13;
1424            gpio::portb::RB14<MODE>, 2;
1425            gpio::portd::RD0<MODE>, 3;
1426            gpio::portd::RD8<MODE>, 4;
1427            gpio::portb::RB6<MODE>, 5;
1428            gpio::portd::RD5<MODE>, 6;
1429            gpio::portf::RF3<MODE>, 8;
1430            gpio::portf::RF13<MODE>, 9;
1431        }
1432        Ic1, ic1r { // PPS group #4
1433            gpio::portd::RD1<MODE>, 0;
1434            gpio::portg::RG9<MODE>, 1;
1435            gpio::portc::RC2<MODE>, 12;
1436            gpio::porte::RE8<MODE>, 13;
1437            gpio::portb::RB14<MODE>, 2;
1438            gpio::portd::RD0<MODE>, 3;
1439            gpio::portd::RD8<MODE>, 4;
1440            gpio::portb::RB6<MODE>, 5;
1441            gpio::portd::RD5<MODE>, 6;
1442            gpio::portf::RF3<MODE>, 8;
1443            gpio::portf::RF13<MODE>, 9;
1444        }
1445        U3cts, u3ctsr { // PPS group #4
1446            gpio::portd::RD1<MODE>, 0;
1447            gpio::portg::RG9<MODE>, 1;
1448            gpio::portc::RC2<MODE>, 12;
1449            gpio::porte::RE8<MODE>, 13;
1450            gpio::portb::RB14<MODE>, 2;
1451            gpio::portd::RD0<MODE>, 3;
1452            gpio::portd::RD8<MODE>, 4;
1453            gpio::portb::RB6<MODE>, 5;
1454            gpio::portd::RD5<MODE>, 6;
1455            gpio::portf::RF3<MODE>, 8;
1456            gpio::portf::RF13<MODE>, 9;
1457        }
1458        U4rx, u4rxr { // PPS group #4
1459            gpio::portd::RD1<MODE>, 0;
1460            gpio::portg::RG9<MODE>, 1;
1461            gpio::portc::RC2<MODE>, 12;
1462            gpio::porte::RE8<MODE>, 13;
1463            gpio::portb::RB14<MODE>, 2;
1464            gpio::portd::RD0<MODE>, 3;
1465            gpio::portd::RD8<MODE>, 4;
1466            gpio::portb::RB6<MODE>, 5;
1467            gpio::portd::RD5<MODE>, 6;
1468            gpio::portf::RF3<MODE>, 8;
1469            gpio::portf::RF13<MODE>, 9;
1470        }
1471        U5rx, u5rxr { // PPS group #4
1472            gpio::portd::RD1<MODE>, 0;
1473            gpio::portg::RG9<MODE>, 1;
1474            gpio::portc::RC2<MODE>, 12;
1475            gpio::porte::RE8<MODE>, 13;
1476            gpio::portb::RB14<MODE>, 2;
1477            gpio::portd::RD0<MODE>, 3;
1478            gpio::portd::RD8<MODE>, 4;
1479            gpio::portb::RB6<MODE>, 5;
1480            gpio::portd::RD5<MODE>, 6;
1481            gpio::portf::RF3<MODE>, 8;
1482            gpio::portf::RF13<MODE>, 9;
1483        }
1484        Ss2, ss2r { // PPS group #4
1485            gpio::portd::RD1<MODE>, 0;
1486            gpio::portg::RG9<MODE>, 1;
1487            gpio::portc::RC2<MODE>, 12;
1488            gpio::porte::RE8<MODE>, 13;
1489            gpio::portb::RB14<MODE>, 2;
1490            gpio::portd::RD0<MODE>, 3;
1491            gpio::portd::RD8<MODE>, 4;
1492            gpio::portb::RB6<MODE>, 5;
1493            gpio::portd::RD5<MODE>, 6;
1494            gpio::portf::RF3<MODE>, 8;
1495            gpio::portf::RF13<MODE>, 9;
1496        }
1497        Ocfa, ocfar { // PPS group #4
1498            gpio::portd::RD1<MODE>, 0;
1499            gpio::portg::RG9<MODE>, 1;
1500            gpio::portc::RC2<MODE>, 12;
1501            gpio::porte::RE8<MODE>, 13;
1502            gpio::portb::RB14<MODE>, 2;
1503            gpio::portd::RD0<MODE>, 3;
1504            gpio::portd::RD8<MODE>, 4;
1505            gpio::portb::RB6<MODE>, 5;
1506            gpio::portd::RD5<MODE>, 6;
1507            gpio::portf::RF3<MODE>, 8;
1508            gpio::portf::RF13<MODE>, 9;
1509        }
1510    }{ // virtual output mapping table
1511        gpio::portd::RD2<MODE>, rpd2r {    // PPS group #1
1512            U3tx, 1;
1513            Oc3, 11;
1514            C2out, 13;
1515            U4rts, 2;
1516            Sdo2, 6;
1517        }
1518        gpio::portg::RG8<MODE>, rpg8r {    // PPS group #1
1519            U3tx, 1;
1520            Oc3, 11;
1521            C2out, 13;
1522            U4rts, 2;
1523            Sdo2, 6;
1524        }
1525        gpio::portc::RC1<MODE>, rpc1r {    // PPS group #1
1526            U3tx, 1;
1527            Oc3, 11;
1528            C2out, 13;
1529            U4rts, 2;
1530            Sdo2, 6;
1531        }
1532        gpio::portd::RD14<MODE>, rpd14r {    // PPS group #1
1533            U3tx, 1;
1534            Oc3, 11;
1535            C2out, 13;
1536            U4rts, 2;
1537            Sdo2, 6;
1538        }
1539        gpio::portg::RG1<MODE>, rpg1r {    // PPS group #1
1540            U3tx, 1;
1541            Oc3, 11;
1542            C2out, 13;
1543            U4rts, 2;
1544            Sdo2, 6;
1545        }
1546        gpio::porta::RA14<MODE>, rpa14r {    // PPS group #1
1547            U3tx, 1;
1548            Oc3, 11;
1549            C2out, 13;
1550            U4rts, 2;
1551            Sdo2, 6;
1552        }
1553        gpio::portf::RF2<MODE>, rpf2r {    // PPS group #1
1554            U3tx, 1;
1555            Oc3, 11;
1556            C2out, 13;
1557            U4rts, 2;
1558            Sdo2, 6;
1559        }
1560        gpio::portf::RF4<MODE>, rpf4r {    // PPS group #1
1561            U3tx, 1;
1562            Oc3, 11;
1563            C2out, 13;
1564            U4rts, 2;
1565            Sdo2, 6;
1566        }
1567        gpio::portd::RD10<MODE>, rpd10r {    // PPS group #1
1568            U3tx, 1;
1569            Oc3, 11;
1570            C2out, 13;
1571            U4rts, 2;
1572            Sdo2, 6;
1573        }
1574        gpio::portf::RF1<MODE>, rpf1r {    // PPS group #1
1575            U3tx, 1;
1576            Oc3, 11;
1577            C2out, 13;
1578            U4rts, 2;
1579            Sdo2, 6;
1580        }
1581        gpio::portb::RB9<MODE>, rpb9r {    // PPS group #1
1582            U3tx, 1;
1583            Oc3, 11;
1584            C2out, 13;
1585            U4rts, 2;
1586            Sdo2, 6;
1587        }
1588        gpio::portb::RB10<MODE>, rpb10r {    // PPS group #1
1589            U3tx, 1;
1590            Oc3, 11;
1591            C2out, 13;
1592            U4rts, 2;
1593            Sdo2, 6;
1594        }
1595        gpio::portc::RC14<MODE>, rpc14r {    // PPS group #1
1596            U3tx, 1;
1597            Oc3, 11;
1598            C2out, 13;
1599            U4rts, 2;
1600            Sdo2, 6;
1601        }
1602        gpio::portb::RB5<MODE>, rpb5r {    // PPS group #1
1603            U3tx, 1;
1604            Oc3, 11;
1605            C2out, 13;
1606            U4rts, 2;
1607            Sdo2, 6;
1608        }
1609        gpio::portd::RD3<MODE>, rpd3r {    // PPS group #2
1610            U2tx, 1;
1611            Oc4, 11;
1612            U1tx, 3;
1613            U5rts, 4;
1614            Sdo2, 6;
1615            Sdo1, 8;
1616        }
1617        gpio::portg::RG7<MODE>, rpg7r {    // PPS group #2
1618            U2tx, 1;
1619            Oc4, 11;
1620            U1tx, 3;
1621            U5rts, 4;
1622            Sdo2, 6;
1623            Sdo1, 8;
1624        }
1625        gpio::portc::RC4<MODE>, rpc4r {    // PPS group #2
1626            U2tx, 1;
1627            Oc4, 11;
1628            U1tx, 3;
1629            U5rts, 4;
1630            Sdo2, 6;
1631            Sdo1, 8;
1632        }
1633        gpio::portd::RD15<MODE>, rpd15r {    // PPS group #2
1634            U2tx, 1;
1635            Oc4, 11;
1636            U1tx, 3;
1637            U5rts, 4;
1638            Sdo2, 6;
1639            Sdo1, 8;
1640        }
1641        gpio::portg::RG0<MODE>, rpg0r {    // PPS group #2
1642            U2tx, 1;
1643            Oc4, 11;
1644            U1tx, 3;
1645            U5rts, 4;
1646            Sdo2, 6;
1647            Sdo1, 8;
1648        }
1649        gpio::porta::RA15<MODE>, rpa15r {    // PPS group #2
1650            U2tx, 1;
1651            Oc4, 11;
1652            U1tx, 3;
1653            U5rts, 4;
1654            Sdo2, 6;
1655            Sdo1, 8;
1656        }
1657        gpio::portf::RF5<MODE>, rpf5r {    // PPS group #2
1658            U2tx, 1;
1659            Oc4, 11;
1660            U1tx, 3;
1661            U5rts, 4;
1662            Sdo2, 6;
1663            Sdo1, 8;
1664        }
1665        gpio::portd::RD11<MODE>, rpd11r {    // PPS group #2
1666            U2tx, 1;
1667            Oc4, 11;
1668            U1tx, 3;
1669            U5rts, 4;
1670            Sdo2, 6;
1671            Sdo1, 8;
1672        }
1673        gpio::portf::RF0<MODE>, rpf0r {    // PPS group #2
1674            U2tx, 1;
1675            Oc4, 11;
1676            U1tx, 3;
1677            U5rts, 4;
1678            Sdo2, 6;
1679            Sdo1, 8;
1680        }
1681        gpio::portb::RB1<MODE>, rpb1r {    // PPS group #2
1682            U2tx, 1;
1683            Oc4, 11;
1684            U1tx, 3;
1685            U5rts, 4;
1686            Sdo2, 6;
1687            Sdo1, 8;
1688        }
1689        gpio::porte::RE5<MODE>, rpe5r {    // PPS group #2
1690            U2tx, 1;
1691            Oc4, 11;
1692            U1tx, 3;
1693            U5rts, 4;
1694            Sdo2, 6;
1695            Sdo1, 8;
1696        }
1697        gpio::portc::RC13<MODE>, rpc13r {    // PPS group #2
1698            U2tx, 1;
1699            Oc4, 11;
1700            U1tx, 3;
1701            U5rts, 4;
1702            Sdo2, 6;
1703            Sdo1, 8;
1704        }
1705        gpio::portb::RB3<MODE>, rpb3r {    // PPS group #2
1706            U2tx, 1;
1707            Oc4, 11;
1708            U1tx, 3;
1709            U5rts, 4;
1710            Sdo2, 6;
1711            Sdo1, 8;
1712        }
1713        gpio::portd::RD9<MODE>, rpd9r {    // PPS group #3
1714            U3rts, 1;
1715            Oc5, 11;
1716            C1out, 13;
1717            U4tx, 2;
1718            Refclko, 3;
1719            U5tx, 4;
1720            Ss1, 7;
1721            Sdo1, 8;
1722        }
1723        gpio::portg::RG6<MODE>, rpg6r {    // PPS group #3
1724            U3rts, 1;
1725            Oc5, 11;
1726            C1out, 13;
1727            U4tx, 2;
1728            Refclko, 3;
1729            U5tx, 4;
1730            Ss1, 7;
1731            Sdo1, 8;
1732        }
1733        gpio::portd::RD12<MODE>, rpd12r {    // PPS group #3
1734            U3rts, 1;
1735            Oc5, 11;
1736            C1out, 13;
1737            U4tx, 2;
1738            Refclko, 3;
1739            U5tx, 4;
1740            Ss1, 7;
1741            Sdo1, 8;
1742        }
1743        gpio::portf::RF8<MODE>, rpf8r {    // PPS group #3
1744            U3rts, 1;
1745            Oc5, 11;
1746            C1out, 13;
1747            U4tx, 2;
1748            Refclko, 3;
1749            U5tx, 4;
1750            Ss1, 7;
1751            Sdo1, 8;
1752        }
1753        gpio::portc::RC3<MODE>, rpc3r {    // PPS group #3
1754            U3rts, 1;
1755            Oc5, 11;
1756            C1out, 13;
1757            U4tx, 2;
1758            Refclko, 3;
1759            U5tx, 4;
1760            Ss1, 7;
1761            Sdo1, 8;
1762        }
1763        gpio::porte::RE9<MODE>, rpe9r {    // PPS group #3
1764            U3rts, 1;
1765            Oc5, 11;
1766            C1out, 13;
1767            U4tx, 2;
1768            Refclko, 3;
1769            U5tx, 4;
1770            Ss1, 7;
1771            Sdo1, 8;
1772        }
1773        gpio::portb::RB2<MODE>, rpb2r {    // PPS group #3
1774            U3rts, 1;
1775            Oc5, 11;
1776            C1out, 13;
1777            U4tx, 2;
1778            Refclko, 3;
1779            U5tx, 4;
1780            Ss1, 7;
1781            Sdo1, 8;
1782        }
1783        gpio::portb::RB8<MODE>, rpb8r {    // PPS group #3
1784            U3rts, 1;
1785            Oc5, 11;
1786            C1out, 13;
1787            U4tx, 2;
1788            Refclko, 3;
1789            U5tx, 4;
1790            Ss1, 7;
1791            Sdo1, 8;
1792        }
1793        gpio::portb::RB15<MODE>, rpb15r {    // PPS group #3
1794            U3rts, 1;
1795            Oc5, 11;
1796            C1out, 13;
1797            U4tx, 2;
1798            Refclko, 3;
1799            U5tx, 4;
1800            Ss1, 7;
1801            Sdo1, 8;
1802        }
1803        gpio::portd::RD4<MODE>, rpd4r {    // PPS group #3
1804            U3rts, 1;
1805            Oc5, 11;
1806            C1out, 13;
1807            U4tx, 2;
1808            Refclko, 3;
1809            U5tx, 4;
1810            Ss1, 7;
1811            Sdo1, 8;
1812        }
1813        gpio::portb::RB0<MODE>, rpb0r {    // PPS group #3
1814            U3rts, 1;
1815            Oc5, 11;
1816            C1out, 13;
1817            U4tx, 2;
1818            Refclko, 3;
1819            U5tx, 4;
1820            Ss1, 7;
1821            Sdo1, 8;
1822        }
1823        gpio::porte::RE3<MODE>, rpe3r {    // PPS group #3
1824            U3rts, 1;
1825            Oc5, 11;
1826            C1out, 13;
1827            U4tx, 2;
1828            Refclko, 3;
1829            U5tx, 4;
1830            Ss1, 7;
1831            Sdo1, 8;
1832        }
1833        gpio::portb::RB7<MODE>, rpb7r {    // PPS group #3
1834            U3rts, 1;
1835            Oc5, 11;
1836            C1out, 13;
1837            U4tx, 2;
1838            Refclko, 3;
1839            U5tx, 4;
1840            Ss1, 7;
1841            Sdo1, 8;
1842        }
1843        gpio::portf::RF12<MODE>, rpf12r {    // PPS group #3
1844            U3rts, 1;
1845            Oc5, 11;
1846            C1out, 13;
1847            U4tx, 2;
1848            Refclko, 3;
1849            U5tx, 4;
1850            Ss1, 7;
1851            Sdo1, 8;
1852        }
1853        gpio::portd::RD1<MODE>, rpd1r {    // PPS group #4
1854            U2rts, 1;
1855            Oc2, 11;
1856            Oc1, 12;
1857            U1rts, 3;
1858            U5tx, 4;
1859            Ss2, 6;
1860            Sdo1, 8;
1861        }
1862        gpio::portg::RG9<MODE>, rpg9r {    // PPS group #4
1863            U2rts, 1;
1864            Oc2, 11;
1865            Oc1, 12;
1866            U1rts, 3;
1867            U5tx, 4;
1868            Ss2, 6;
1869            Sdo1, 8;
1870        }
1871        gpio::portc::RC2<MODE>, rpc2r {    // PPS group #4
1872            U2rts, 1;
1873            Oc2, 11;
1874            Oc1, 12;
1875            U1rts, 3;
1876            U5tx, 4;
1877            Ss2, 6;
1878            Sdo1, 8;
1879        }
1880        gpio::porte::RE8<MODE>, rpe8r {    // PPS group #4
1881            U2rts, 1;
1882            Oc2, 11;
1883            Oc1, 12;
1884            U1rts, 3;
1885            U5tx, 4;
1886            Ss2, 6;
1887            Sdo1, 8;
1888        }
1889        gpio::portb::RB14<MODE>, rpb14r {    // PPS group #4
1890            U2rts, 1;
1891            Oc2, 11;
1892            Oc1, 12;
1893            U1rts, 3;
1894            U5tx, 4;
1895            Ss2, 6;
1896            Sdo1, 8;
1897        }
1898        gpio::portd::RD0<MODE>, rpd0r {    // PPS group #4
1899            U2rts, 1;
1900            Oc2, 11;
1901            Oc1, 12;
1902            U1rts, 3;
1903            U5tx, 4;
1904            Ss2, 6;
1905            Sdo1, 8;
1906        }
1907        gpio::portd::RD8<MODE>, rpd8r {    // PPS group #4
1908            U2rts, 1;
1909            Oc2, 11;
1910            Oc1, 12;
1911            U1rts, 3;
1912            U5tx, 4;
1913            Ss2, 6;
1914            Sdo1, 8;
1915        }
1916        gpio::portb::RB6<MODE>, rpb6r {    // PPS group #4
1917            U2rts, 1;
1918            Oc2, 11;
1919            Oc1, 12;
1920            U1rts, 3;
1921            U5tx, 4;
1922            Ss2, 6;
1923            Sdo1, 8;
1924        }
1925        gpio::portd::RD5<MODE>, rpd5r {    // PPS group #4
1926            U2rts, 1;
1927            Oc2, 11;
1928            Oc1, 12;
1929            U1rts, 3;
1930            U5tx, 4;
1931            Ss2, 6;
1932            Sdo1, 8;
1933        }
1934        gpio::portf::RF3<MODE>, rpf3r {    // PPS group #4
1935            U2rts, 1;
1936            Oc2, 11;
1937            Oc1, 12;
1938            U1rts, 3;
1939            U5tx, 4;
1940            Ss2, 6;
1941            Sdo1, 8;
1942        }
1943        gpio::portf::RF13<MODE>, rpf13r {    // PPS group #4
1944            U2rts, 1;
1945            Oc2, 11;
1946            Oc1, 12;
1947            U1rts, 3;
1948            U5tx, 4;
1949            Ss2, 6;
1950            Sdo1, 8;
1951        }
1952    }
1953}
1954
1955#[cfg(feature = "pic32mx47x")]
1956pps_tables! {
1957    { // virtual input declarations
1958        Int3, int3;   // PPS group #1
1959        T2ck, t2ck;   // PPS group #1
1960        Ic3, ic3;   // PPS group #1
1961        U1rx, u1rx;   // PPS group #1
1962        U2rx, u2rx;   // PPS group #1
1963        U5cts, u5cts;   // PPS group #1
1964        Refclki, refclki;   // PPS group #1
1965        Int4, int4;   // PPS group #2
1966        T5ck, t5ck;   // PPS group #2
1967        Ic4, ic4;   // PPS group #2
1968        U3rx, u3rx;   // PPS group #2
1969        U4cts, u4cts;   // PPS group #2
1970        Sdi1, sdi1;   // PPS group #2
1971        Sdi2, sdi2;   // PPS group #2
1972        Int2, int2;   // PPS group #3
1973        T4ck, t4ck;   // PPS group #3
1974        Ic2, ic2;   // PPS group #3
1975        Ic5, ic5;   // PPS group #3
1976        U1cts, u1cts;   // PPS group #3
1977        U2cts, u2cts;   // PPS group #3
1978        Ss1, ss1;   // PPS group #3
1979        Int1, int1;   // PPS group #4
1980        T3ck, t3ck;   // PPS group #4
1981        Ic1, ic1;   // PPS group #4
1982        U3cts, u3cts;   // PPS group #4
1983        U4rx, u4rx;   // PPS group #4
1984        U5rx, u5rx;   // PPS group #4
1985        Ss2, ss2;   // PPS group #4
1986        Ocfa, ocfa;   // PPS group #4
1987    }{ // virtual output declarations
1988        C1out, c1out;
1989        C2out, c2out;
1990        Oc1, oc1;
1991        Oc2, oc2;
1992        Oc3, oc3;
1993        Oc4, oc4;
1994        Oc5, oc5;
1995        Refclko, refclko;
1996        Sdo1, sdo1;
1997        Sdo2, sdo2;
1998        Ss1, ss1;
1999        Ss2, ss2;
2000        U1rts, u1rts;
2001        U1tx, u1tx;
2002        U2rts, u2rts;
2003        U2tx, u2tx;
2004        U3rts, u3rts;
2005        U3tx, u3tx;
2006        U4rts, u4rts;
2007        U4tx, u4tx;
2008        U5rts, u5rts;
2009        U5tx, u5tx;
2010    }{ // virtual input mapping table
2011        Int3, int3r { // PPS group #1
2012            gpio::portd::RD2<MODE>, 0;
2013            gpio::portg::RG8<MODE>, 1;
2014            gpio::portc::RC1<MODE>, 10;
2015            gpio::portd::RD14<MODE>, 11;
2016            gpio::portg::RG1<MODE>, 12;
2017            gpio::porta::RA14<MODE>, 13;
2018            gpio::portf::RF2<MODE>, 15;
2019            gpio::portf::RF4<MODE>, 2;
2020            gpio::portd::RD10<MODE>, 3;
2021            gpio::portf::RF1<MODE>, 4;
2022            gpio::portb::RB9<MODE>, 5;
2023            gpio::portb::RB10<MODE>, 6;
2024            gpio::portc::RC14<MODE>, 7;
2025            gpio::portb::RB5<MODE>, 8;
2026        }
2027        T2ck, t2ckr { // PPS group #1
2028            gpio::portd::RD2<MODE>, 0;
2029            gpio::portg::RG8<MODE>, 1;
2030            gpio::portc::RC1<MODE>, 10;
2031            gpio::portd::RD14<MODE>, 11;
2032            gpio::portg::RG1<MODE>, 12;
2033            gpio::porta::RA14<MODE>, 13;
2034            gpio::portf::RF2<MODE>, 15;
2035            gpio::portf::RF4<MODE>, 2;
2036            gpio::portd::RD10<MODE>, 3;
2037            gpio::portf::RF1<MODE>, 4;
2038            gpio::portb::RB9<MODE>, 5;
2039            gpio::portb::RB10<MODE>, 6;
2040            gpio::portc::RC14<MODE>, 7;
2041            gpio::portb::RB5<MODE>, 8;
2042        }
2043        Ic3, ic3r { // PPS group #1
2044            gpio::portd::RD2<MODE>, 0;
2045            gpio::portg::RG8<MODE>, 1;
2046            gpio::portc::RC1<MODE>, 10;
2047            gpio::portd::RD14<MODE>, 11;
2048            gpio::portg::RG1<MODE>, 12;
2049            gpio::porta::RA14<MODE>, 13;
2050            gpio::portf::RF2<MODE>, 15;
2051            gpio::portf::RF4<MODE>, 2;
2052            gpio::portd::RD10<MODE>, 3;
2053            gpio::portf::RF1<MODE>, 4;
2054            gpio::portb::RB9<MODE>, 5;
2055            gpio::portb::RB10<MODE>, 6;
2056            gpio::portc::RC14<MODE>, 7;
2057            gpio::portb::RB5<MODE>, 8;
2058        }
2059        U1rx, u1rxr { // PPS group #1
2060            gpio::portd::RD2<MODE>, 0;
2061            gpio::portg::RG8<MODE>, 1;
2062            gpio::portc::RC1<MODE>, 10;
2063            gpio::portd::RD14<MODE>, 11;
2064            gpio::portg::RG1<MODE>, 12;
2065            gpio::porta::RA14<MODE>, 13;
2066            gpio::portf::RF2<MODE>, 15;
2067            gpio::portf::RF4<MODE>, 2;
2068            gpio::portd::RD10<MODE>, 3;
2069            gpio::portf::RF1<MODE>, 4;
2070            gpio::portb::RB9<MODE>, 5;
2071            gpio::portb::RB10<MODE>, 6;
2072            gpio::portc::RC14<MODE>, 7;
2073            gpio::portb::RB5<MODE>, 8;
2074        }
2075        U2rx, u2rxr { // PPS group #1
2076            gpio::portd::RD2<MODE>, 0;
2077            gpio::portg::RG8<MODE>, 1;
2078            gpio::portc::RC1<MODE>, 10;
2079            gpio::portd::RD14<MODE>, 11;
2080            gpio::portg::RG1<MODE>, 12;
2081            gpio::porta::RA14<MODE>, 13;
2082            gpio::portf::RF2<MODE>, 15;
2083            gpio::portf::RF4<MODE>, 2;
2084            gpio::portd::RD10<MODE>, 3;
2085            gpio::portf::RF1<MODE>, 4;
2086            gpio::portb::RB9<MODE>, 5;
2087            gpio::portb::RB10<MODE>, 6;
2088            gpio::portc::RC14<MODE>, 7;
2089            gpio::portb::RB5<MODE>, 8;
2090        }
2091        U5cts, u5ctsr { // PPS group #1
2092            gpio::portd::RD2<MODE>, 0;
2093            gpio::portg::RG8<MODE>, 1;
2094            gpio::portc::RC1<MODE>, 10;
2095            gpio::portd::RD14<MODE>, 11;
2096            gpio::portg::RG1<MODE>, 12;
2097            gpio::porta::RA14<MODE>, 13;
2098            gpio::portf::RF2<MODE>, 15;
2099            gpio::portf::RF4<MODE>, 2;
2100            gpio::portd::RD10<MODE>, 3;
2101            gpio::portf::RF1<MODE>, 4;
2102            gpio::portb::RB9<MODE>, 5;
2103            gpio::portb::RB10<MODE>, 6;
2104            gpio::portc::RC14<MODE>, 7;
2105            gpio::portb::RB5<MODE>, 8;
2106        }
2107        Refclki, refclkir { // PPS group #1
2108            gpio::portd::RD2<MODE>, 0;
2109            gpio::portg::RG8<MODE>, 1;
2110            gpio::portc::RC1<MODE>, 10;
2111            gpio::portd::RD14<MODE>, 11;
2112            gpio::portg::RG1<MODE>, 12;
2113            gpio::porta::RA14<MODE>, 13;
2114            gpio::portf::RF2<MODE>, 15;
2115            gpio::portf::RF4<MODE>, 2;
2116            gpio::portd::RD10<MODE>, 3;
2117            gpio::portf::RF1<MODE>, 4;
2118            gpio::portb::RB9<MODE>, 5;
2119            gpio::portb::RB10<MODE>, 6;
2120            gpio::portc::RC14<MODE>, 7;
2121            gpio::portb::RB5<MODE>, 8;
2122        }
2123        Int4, int4r { // PPS group #2
2124            gpio::portd::RD3<MODE>, 0;
2125            gpio::portg::RG7<MODE>, 1;
2126            gpio::portc::RC4<MODE>, 10;
2127            gpio::portd::RD15<MODE>, 11;
2128            gpio::portg::RG0<MODE>, 12;
2129            gpio::porta::RA15<MODE>, 13;
2130            gpio::portf::RF5<MODE>, 2;
2131            gpio::portd::RD11<MODE>, 3;
2132            gpio::portf::RF0<MODE>, 4;
2133            gpio::portb::RB1<MODE>, 5;
2134            gpio::porte::RE5<MODE>, 6;
2135            gpio::portc::RC13<MODE>, 7;
2136            gpio::portb::RB3<MODE>, 8;
2137        }
2138        T5ck, t5ckr { // PPS group #2
2139            gpio::portd::RD3<MODE>, 0;
2140            gpio::portg::RG7<MODE>, 1;
2141            gpio::portc::RC4<MODE>, 10;
2142            gpio::portd::RD15<MODE>, 11;
2143            gpio::portg::RG0<MODE>, 12;
2144            gpio::porta::RA15<MODE>, 13;
2145            gpio::portf::RF5<MODE>, 2;
2146            gpio::portd::RD11<MODE>, 3;
2147            gpio::portf::RF0<MODE>, 4;
2148            gpio::portb::RB1<MODE>, 5;
2149            gpio::porte::RE5<MODE>, 6;
2150            gpio::portc::RC13<MODE>, 7;
2151            gpio::portb::RB3<MODE>, 8;
2152        }
2153        Ic4, ic4r { // PPS group #2
2154            gpio::portd::RD3<MODE>, 0;
2155            gpio::portg::RG7<MODE>, 1;
2156            gpio::portc::RC4<MODE>, 10;
2157            gpio::portd::RD15<MODE>, 11;
2158            gpio::portg::RG0<MODE>, 12;
2159            gpio::porta::RA15<MODE>, 13;
2160            gpio::portf::RF5<MODE>, 2;
2161            gpio::portd::RD11<MODE>, 3;
2162            gpio::portf::RF0<MODE>, 4;
2163            gpio::portb::RB1<MODE>, 5;
2164            gpio::porte::RE5<MODE>, 6;
2165            gpio::portc::RC13<MODE>, 7;
2166            gpio::portb::RB3<MODE>, 8;
2167        }
2168        U3rx, u3rxr { // PPS group #2
2169            gpio::portd::RD3<MODE>, 0;
2170            gpio::portg::RG7<MODE>, 1;
2171            gpio::portc::RC4<MODE>, 10;
2172            gpio::portd::RD15<MODE>, 11;
2173            gpio::portg::RG0<MODE>, 12;
2174            gpio::porta::RA15<MODE>, 13;
2175            gpio::portf::RF5<MODE>, 2;
2176            gpio::portd::RD11<MODE>, 3;
2177            gpio::portf::RF0<MODE>, 4;
2178            gpio::portb::RB1<MODE>, 5;
2179            gpio::porte::RE5<MODE>, 6;
2180            gpio::portc::RC13<MODE>, 7;
2181            gpio::portb::RB3<MODE>, 8;
2182        }
2183        U4cts, u4ctsr { // PPS group #2
2184            gpio::portd::RD3<MODE>, 0;
2185            gpio::portg::RG7<MODE>, 1;
2186            gpio::portc::RC4<MODE>, 10;
2187            gpio::portd::RD15<MODE>, 11;
2188            gpio::portg::RG0<MODE>, 12;
2189            gpio::porta::RA15<MODE>, 13;
2190            gpio::portf::RF5<MODE>, 2;
2191            gpio::portd::RD11<MODE>, 3;
2192            gpio::portf::RF0<MODE>, 4;
2193            gpio::portb::RB1<MODE>, 5;
2194            gpio::porte::RE5<MODE>, 6;
2195            gpio::portc::RC13<MODE>, 7;
2196            gpio::portb::RB3<MODE>, 8;
2197        }
2198        Sdi1, sdi1r { // PPS group #2
2199            gpio::portd::RD3<MODE>, 0;
2200            gpio::portg::RG7<MODE>, 1;
2201            gpio::portc::RC4<MODE>, 10;
2202            gpio::portd::RD15<MODE>, 11;
2203            gpio::portg::RG0<MODE>, 12;
2204            gpio::porta::RA15<MODE>, 13;
2205            gpio::portf::RF5<MODE>, 2;
2206            gpio::portd::RD11<MODE>, 3;
2207            gpio::portf::RF0<MODE>, 4;
2208            gpio::portb::RB1<MODE>, 5;
2209            gpio::porte::RE5<MODE>, 6;
2210            gpio::portc::RC13<MODE>, 7;
2211            gpio::portb::RB3<MODE>, 8;
2212        }
2213        Sdi2, sdi2r { // PPS group #2
2214            gpio::portd::RD3<MODE>, 0;
2215            gpio::portg::RG7<MODE>, 1;
2216            gpio::portc::RC4<MODE>, 10;
2217            gpio::portd::RD15<MODE>, 11;
2218            gpio::portg::RG0<MODE>, 12;
2219            gpio::porta::RA15<MODE>, 13;
2220            gpio::portf::RF5<MODE>, 2;
2221            gpio::portd::RD11<MODE>, 3;
2222            gpio::portf::RF0<MODE>, 4;
2223            gpio::portb::RB1<MODE>, 5;
2224            gpio::porte::RE5<MODE>, 6;
2225            gpio::portc::RC13<MODE>, 7;
2226            gpio::portb::RB3<MODE>, 8;
2227        }
2228        Int2, int2r { // PPS group #3
2229            gpio::portd::RD9<MODE>, 0;
2230            gpio::portg::RG6<MODE>, 1;
2231            gpio::portd::RD12<MODE>, 10;
2232            gpio::portf::RF8<MODE>, 11;
2233            gpio::portc::RC3<MODE>, 12;
2234            gpio::porte::RE9<MODE>, 13;
2235            gpio::portb::RB2<MODE>, 15;
2236            gpio::portb::RB8<MODE>, 2;
2237            gpio::portb::RB15<MODE>, 3;
2238            gpio::portd::RD4<MODE>, 4;
2239            gpio::portb::RB0<MODE>, 5;
2240            gpio::porte::RE3<MODE>, 6;
2241            gpio::portb::RB7<MODE>, 7;
2242            gpio::portf::RF12<MODE>, 9;
2243        }
2244        T4ck, t4ckr { // PPS group #3
2245            gpio::portd::RD9<MODE>, 0;
2246            gpio::portg::RG6<MODE>, 1;
2247            gpio::portd::RD12<MODE>, 10;
2248            gpio::portf::RF8<MODE>, 11;
2249            gpio::portc::RC3<MODE>, 12;
2250            gpio::porte::RE9<MODE>, 13;
2251            gpio::portb::RB2<MODE>, 15;
2252            gpio::portb::RB8<MODE>, 2;
2253            gpio::portb::RB15<MODE>, 3;
2254            gpio::portd::RD4<MODE>, 4;
2255            gpio::portb::RB0<MODE>, 5;
2256            gpio::porte::RE3<MODE>, 6;
2257            gpio::portb::RB7<MODE>, 7;
2258            gpio::portf::RF12<MODE>, 9;
2259        }
2260        Ic2, ic2r { // PPS group #3
2261            gpio::portd::RD9<MODE>, 0;
2262            gpio::portg::RG6<MODE>, 1;
2263            gpio::portd::RD12<MODE>, 10;
2264            gpio::portf::RF8<MODE>, 11;
2265            gpio::portc::RC3<MODE>, 12;
2266            gpio::porte::RE9<MODE>, 13;
2267            gpio::portb::RB2<MODE>, 15;
2268            gpio::portb::RB8<MODE>, 2;
2269            gpio::portb::RB15<MODE>, 3;
2270            gpio::portd::RD4<MODE>, 4;
2271            gpio::portb::RB0<MODE>, 5;
2272            gpio::porte::RE3<MODE>, 6;
2273            gpio::portb::RB7<MODE>, 7;
2274            gpio::portf::RF12<MODE>, 9;
2275        }
2276        Ic5, ic5r { // PPS group #3
2277            gpio::portd::RD9<MODE>, 0;
2278            gpio::portg::RG6<MODE>, 1;
2279            gpio::portd::RD12<MODE>, 10;
2280            gpio::portf::RF8<MODE>, 11;
2281            gpio::portc::RC3<MODE>, 12;
2282            gpio::porte::RE9<MODE>, 13;
2283            gpio::portb::RB2<MODE>, 15;
2284            gpio::portb::RB8<MODE>, 2;
2285            gpio::portb::RB15<MODE>, 3;
2286            gpio::portd::RD4<MODE>, 4;
2287            gpio::portb::RB0<MODE>, 5;
2288            gpio::porte::RE3<MODE>, 6;
2289            gpio::portb::RB7<MODE>, 7;
2290            gpio::portf::RF12<MODE>, 9;
2291        }
2292        U1cts, u1ctsr { // PPS group #3
2293            gpio::portd::RD9<MODE>, 0;
2294            gpio::portg::RG6<MODE>, 1;
2295            gpio::portd::RD12<MODE>, 10;
2296            gpio::portf::RF8<MODE>, 11;
2297            gpio::portc::RC3<MODE>, 12;
2298            gpio::porte::RE9<MODE>, 13;
2299            gpio::portb::RB2<MODE>, 15;
2300            gpio::portb::RB8<MODE>, 2;
2301            gpio::portb::RB15<MODE>, 3;
2302            gpio::portd::RD4<MODE>, 4;
2303            gpio::portb::RB0<MODE>, 5;
2304            gpio::porte::RE3<MODE>, 6;
2305            gpio::portb::RB7<MODE>, 7;
2306            gpio::portf::RF12<MODE>, 9;
2307        }
2308        U2cts, u2ctsr { // PPS group #3
2309            gpio::portd::RD9<MODE>, 0;
2310            gpio::portg::RG6<MODE>, 1;
2311            gpio::portd::RD12<MODE>, 10;
2312            gpio::portf::RF8<MODE>, 11;
2313            gpio::portc::RC3<MODE>, 12;
2314            gpio::porte::RE9<MODE>, 13;
2315            gpio::portb::RB2<MODE>, 15;
2316            gpio::portb::RB8<MODE>, 2;
2317            gpio::portb::RB15<MODE>, 3;
2318            gpio::portd::RD4<MODE>, 4;
2319            gpio::portb::RB0<MODE>, 5;
2320            gpio::porte::RE3<MODE>, 6;
2321            gpio::portb::RB7<MODE>, 7;
2322            gpio::portf::RF12<MODE>, 9;
2323        }
2324        Ss1, ss1r { // PPS group #3
2325            gpio::portd::RD9<MODE>, 0;
2326            gpio::portg::RG6<MODE>, 1;
2327            gpio::portd::RD12<MODE>, 10;
2328            gpio::portf::RF8<MODE>, 11;
2329            gpio::portc::RC3<MODE>, 12;
2330            gpio::porte::RE9<MODE>, 13;
2331            gpio::portb::RB2<MODE>, 15;
2332            gpio::portb::RB8<MODE>, 2;
2333            gpio::portb::RB15<MODE>, 3;
2334            gpio::portd::RD4<MODE>, 4;
2335            gpio::portb::RB0<MODE>, 5;
2336            gpio::porte::RE3<MODE>, 6;
2337            gpio::portb::RB7<MODE>, 7;
2338            gpio::portf::RF12<MODE>, 9;
2339        }
2340        Int1, int1r { // PPS group #4
2341            gpio::portd::RD1<MODE>, 0;
2342            gpio::portg::RG9<MODE>, 1;
2343            gpio::portc::RC2<MODE>, 12;
2344            gpio::porte::RE8<MODE>, 13;
2345            gpio::portb::RB14<MODE>, 2;
2346            gpio::portd::RD0<MODE>, 3;
2347            gpio::portd::RD8<MODE>, 4;
2348            gpio::portb::RB6<MODE>, 5;
2349            gpio::portd::RD5<MODE>, 6;
2350            gpio::portf::RF3<MODE>, 8;
2351            gpio::portf::RF13<MODE>, 9;
2352        }
2353        T3ck, t3ckr { // PPS group #4
2354            gpio::portd::RD1<MODE>, 0;
2355            gpio::portg::RG9<MODE>, 1;
2356            gpio::portc::RC2<MODE>, 12;
2357            gpio::porte::RE8<MODE>, 13;
2358            gpio::portb::RB14<MODE>, 2;
2359            gpio::portd::RD0<MODE>, 3;
2360            gpio::portd::RD8<MODE>, 4;
2361            gpio::portb::RB6<MODE>, 5;
2362            gpio::portd::RD5<MODE>, 6;
2363            gpio::portf::RF3<MODE>, 8;
2364            gpio::portf::RF13<MODE>, 9;
2365        }
2366        Ic1, ic1r { // PPS group #4
2367            gpio::portd::RD1<MODE>, 0;
2368            gpio::portg::RG9<MODE>, 1;
2369            gpio::portc::RC2<MODE>, 12;
2370            gpio::porte::RE8<MODE>, 13;
2371            gpio::portb::RB14<MODE>, 2;
2372            gpio::portd::RD0<MODE>, 3;
2373            gpio::portd::RD8<MODE>, 4;
2374            gpio::portb::RB6<MODE>, 5;
2375            gpio::portd::RD5<MODE>, 6;
2376            gpio::portf::RF3<MODE>, 8;
2377            gpio::portf::RF13<MODE>, 9;
2378        }
2379        U3cts, u3ctsr { // PPS group #4
2380            gpio::portd::RD1<MODE>, 0;
2381            gpio::portg::RG9<MODE>, 1;
2382            gpio::portc::RC2<MODE>, 12;
2383            gpio::porte::RE8<MODE>, 13;
2384            gpio::portb::RB14<MODE>, 2;
2385            gpio::portd::RD0<MODE>, 3;
2386            gpio::portd::RD8<MODE>, 4;
2387            gpio::portb::RB6<MODE>, 5;
2388            gpio::portd::RD5<MODE>, 6;
2389            gpio::portf::RF3<MODE>, 8;
2390            gpio::portf::RF13<MODE>, 9;
2391        }
2392        U4rx, u4rxr { // PPS group #4
2393            gpio::portd::RD1<MODE>, 0;
2394            gpio::portg::RG9<MODE>, 1;
2395            gpio::portc::RC2<MODE>, 12;
2396            gpio::porte::RE8<MODE>, 13;
2397            gpio::portb::RB14<MODE>, 2;
2398            gpio::portd::RD0<MODE>, 3;
2399            gpio::portd::RD8<MODE>, 4;
2400            gpio::portb::RB6<MODE>, 5;
2401            gpio::portd::RD5<MODE>, 6;
2402            gpio::portf::RF3<MODE>, 8;
2403            gpio::portf::RF13<MODE>, 9;
2404        }
2405        U5rx, u5rxr { // PPS group #4
2406            gpio::portd::RD1<MODE>, 0;
2407            gpio::portg::RG9<MODE>, 1;
2408            gpio::portc::RC2<MODE>, 12;
2409            gpio::porte::RE8<MODE>, 13;
2410            gpio::portb::RB14<MODE>, 2;
2411            gpio::portd::RD0<MODE>, 3;
2412            gpio::portd::RD8<MODE>, 4;
2413            gpio::portb::RB6<MODE>, 5;
2414            gpio::portd::RD5<MODE>, 6;
2415            gpio::portf::RF3<MODE>, 8;
2416            gpio::portf::RF13<MODE>, 9;
2417        }
2418        Ss2, ss2r { // PPS group #4
2419            gpio::portd::RD1<MODE>, 0;
2420            gpio::portg::RG9<MODE>, 1;
2421            gpio::portc::RC2<MODE>, 12;
2422            gpio::porte::RE8<MODE>, 13;
2423            gpio::portb::RB14<MODE>, 2;
2424            gpio::portd::RD0<MODE>, 3;
2425            gpio::portd::RD8<MODE>, 4;
2426            gpio::portb::RB6<MODE>, 5;
2427            gpio::portd::RD5<MODE>, 6;
2428            gpio::portf::RF3<MODE>, 8;
2429            gpio::portf::RF13<MODE>, 9;
2430        }
2431        Ocfa, ocfar { // PPS group #4
2432            gpio::portd::RD1<MODE>, 0;
2433            gpio::portg::RG9<MODE>, 1;
2434            gpio::portc::RC2<MODE>, 12;
2435            gpio::porte::RE8<MODE>, 13;
2436            gpio::portb::RB14<MODE>, 2;
2437            gpio::portd::RD0<MODE>, 3;
2438            gpio::portd::RD8<MODE>, 4;
2439            gpio::portb::RB6<MODE>, 5;
2440            gpio::portd::RD5<MODE>, 6;
2441            gpio::portf::RF3<MODE>, 8;
2442            gpio::portf::RF13<MODE>, 9;
2443        }
2444    }{ // virtual output mapping table
2445        gpio::portd::RD2<MODE>, rpd2r {    // PPS group #1
2446            U3tx, 1;
2447            Oc3, 11;
2448            C2out, 13;
2449            U4rts, 2;
2450            Sdo2, 6;
2451        }
2452        gpio::portg::RG8<MODE>, rpg8r {    // PPS group #1
2453            U3tx, 1;
2454            Oc3, 11;
2455            C2out, 13;
2456            U4rts, 2;
2457            Sdo2, 6;
2458        }
2459        gpio::portc::RC1<MODE>, rpc1r {    // PPS group #1
2460            U3tx, 1;
2461            Oc3, 11;
2462            C2out, 13;
2463            U4rts, 2;
2464            Sdo2, 6;
2465        }
2466        gpio::portd::RD14<MODE>, rpd14r {    // PPS group #1
2467            U3tx, 1;
2468            Oc3, 11;
2469            C2out, 13;
2470            U4rts, 2;
2471            Sdo2, 6;
2472        }
2473        gpio::portg::RG1<MODE>, rpg1r {    // PPS group #1
2474            U3tx, 1;
2475            Oc3, 11;
2476            C2out, 13;
2477            U4rts, 2;
2478            Sdo2, 6;
2479        }
2480        gpio::porta::RA14<MODE>, rpa14r {    // PPS group #1
2481            U3tx, 1;
2482            Oc3, 11;
2483            C2out, 13;
2484            U4rts, 2;
2485            Sdo2, 6;
2486        }
2487        gpio::portf::RF2<MODE>, rpf2r {    // PPS group #1
2488            U3tx, 1;
2489            Oc3, 11;
2490            C2out, 13;
2491            U4rts, 2;
2492            Sdo2, 6;
2493        }
2494        gpio::portf::RF4<MODE>, rpf4r {    // PPS group #1
2495            U3tx, 1;
2496            Oc3, 11;
2497            C2out, 13;
2498            U4rts, 2;
2499            Sdo2, 6;
2500        }
2501        gpio::portd::RD10<MODE>, rpd10r {    // PPS group #1
2502            U3tx, 1;
2503            Oc3, 11;
2504            C2out, 13;
2505            U4rts, 2;
2506            Sdo2, 6;
2507        }
2508        gpio::portf::RF1<MODE>, rpf1r {    // PPS group #1
2509            U3tx, 1;
2510            Oc3, 11;
2511            C2out, 13;
2512            U4rts, 2;
2513            Sdo2, 6;
2514        }
2515        gpio::portb::RB9<MODE>, rpb9r {    // PPS group #1
2516            U3tx, 1;
2517            Oc3, 11;
2518            C2out, 13;
2519            U4rts, 2;
2520            Sdo2, 6;
2521        }
2522        gpio::portb::RB10<MODE>, rpb10r {    // PPS group #1
2523            U3tx, 1;
2524            Oc3, 11;
2525            C2out, 13;
2526            U4rts, 2;
2527            Sdo2, 6;
2528        }
2529        gpio::portc::RC14<MODE>, rpc14r {    // PPS group #1
2530            U3tx, 1;
2531            Oc3, 11;
2532            C2out, 13;
2533            U4rts, 2;
2534            Sdo2, 6;
2535        }
2536        gpio::portb::RB5<MODE>, rpb5r {    // PPS group #1
2537            U3tx, 1;
2538            Oc3, 11;
2539            C2out, 13;
2540            U4rts, 2;
2541            Sdo2, 6;
2542        }
2543        gpio::portd::RD3<MODE>, rpd3r {    // PPS group #2
2544            U2tx, 1;
2545            Oc4, 11;
2546            U1tx, 3;
2547            U5rts, 4;
2548            Sdo2, 6;
2549            Sdo1, 8;
2550        }
2551        gpio::portg::RG7<MODE>, rpg7r {    // PPS group #2
2552            U2tx, 1;
2553            Oc4, 11;
2554            U1tx, 3;
2555            U5rts, 4;
2556            Sdo2, 6;
2557            Sdo1, 8;
2558        }
2559        gpio::portc::RC4<MODE>, rpc4r {    // PPS group #2
2560            U2tx, 1;
2561            Oc4, 11;
2562            U1tx, 3;
2563            U5rts, 4;
2564            Sdo2, 6;
2565            Sdo1, 8;
2566        }
2567        gpio::portd::RD15<MODE>, rpd15r {    // PPS group #2
2568            U2tx, 1;
2569            Oc4, 11;
2570            U1tx, 3;
2571            U5rts, 4;
2572            Sdo2, 6;
2573            Sdo1, 8;
2574        }
2575        gpio::portg::RG0<MODE>, rpg0r {    // PPS group #2
2576            U2tx, 1;
2577            Oc4, 11;
2578            U1tx, 3;
2579            U5rts, 4;
2580            Sdo2, 6;
2581            Sdo1, 8;
2582        }
2583        gpio::porta::RA15<MODE>, rpa15r {    // PPS group #2
2584            U2tx, 1;
2585            Oc4, 11;
2586            U1tx, 3;
2587            U5rts, 4;
2588            Sdo2, 6;
2589            Sdo1, 8;
2590        }
2591        gpio::portf::RF5<MODE>, rpf5r {    // PPS group #2
2592            U2tx, 1;
2593            Oc4, 11;
2594            U1tx, 3;
2595            U5rts, 4;
2596            Sdo2, 6;
2597            Sdo1, 8;
2598        }
2599        gpio::portd::RD11<MODE>, rpd11r {    // PPS group #2
2600            U2tx, 1;
2601            Oc4, 11;
2602            U1tx, 3;
2603            U5rts, 4;
2604            Sdo2, 6;
2605            Sdo1, 8;
2606        }
2607        gpio::portf::RF0<MODE>, rpf0r {    // PPS group #2
2608            U2tx, 1;
2609            Oc4, 11;
2610            U1tx, 3;
2611            U5rts, 4;
2612            Sdo2, 6;
2613            Sdo1, 8;
2614        }
2615        gpio::portb::RB1<MODE>, rpb1r {    // PPS group #2
2616            U2tx, 1;
2617            Oc4, 11;
2618            U1tx, 3;
2619            U5rts, 4;
2620            Sdo2, 6;
2621            Sdo1, 8;
2622        }
2623        gpio::porte::RE5<MODE>, rpe5r {    // PPS group #2
2624            U2tx, 1;
2625            Oc4, 11;
2626            U1tx, 3;
2627            U5rts, 4;
2628            Sdo2, 6;
2629            Sdo1, 8;
2630        }
2631        gpio::portc::RC13<MODE>, rpc13r {    // PPS group #2
2632            U2tx, 1;
2633            Oc4, 11;
2634            U1tx, 3;
2635            U5rts, 4;
2636            Sdo2, 6;
2637            Sdo1, 8;
2638        }
2639        gpio::portb::RB3<MODE>, rpb3r {    // PPS group #2
2640            U2tx, 1;
2641            Oc4, 11;
2642            U1tx, 3;
2643            U5rts, 4;
2644            Sdo2, 6;
2645            Sdo1, 8;
2646        }
2647        gpio::portd::RD9<MODE>, rpd9r {    // PPS group #3
2648            U3rts, 1;
2649            Oc5, 11;
2650            C1out, 13;
2651            U4tx, 2;
2652            Refclko, 3;
2653            U5tx, 4;
2654            Ss1, 7;
2655            Sdo1, 8;
2656        }
2657        gpio::portg::RG6<MODE>, rpg6r {    // PPS group #3
2658            U3rts, 1;
2659            Oc5, 11;
2660            C1out, 13;
2661            U4tx, 2;
2662            Refclko, 3;
2663            U5tx, 4;
2664            Ss1, 7;
2665            Sdo1, 8;
2666        }
2667        gpio::portd::RD12<MODE>, rpd12r {    // PPS group #3
2668            U3rts, 1;
2669            Oc5, 11;
2670            C1out, 13;
2671            U4tx, 2;
2672            Refclko, 3;
2673            U5tx, 4;
2674            Ss1, 7;
2675            Sdo1, 8;
2676        }
2677        gpio::portf::RF8<MODE>, rpf8r {    // PPS group #3
2678            U3rts, 1;
2679            Oc5, 11;
2680            C1out, 13;
2681            U4tx, 2;
2682            Refclko, 3;
2683            U5tx, 4;
2684            Ss1, 7;
2685            Sdo1, 8;
2686        }
2687        gpio::portc::RC3<MODE>, rpc3r {    // PPS group #3
2688            U3rts, 1;
2689            Oc5, 11;
2690            C1out, 13;
2691            U4tx, 2;
2692            Refclko, 3;
2693            U5tx, 4;
2694            Ss1, 7;
2695            Sdo1, 8;
2696        }
2697        gpio::porte::RE9<MODE>, rpe9r {    // PPS group #3
2698            U3rts, 1;
2699            Oc5, 11;
2700            C1out, 13;
2701            U4tx, 2;
2702            Refclko, 3;
2703            U5tx, 4;
2704            Ss1, 7;
2705            Sdo1, 8;
2706        }
2707        gpio::portb::RB2<MODE>, rpb2r {    // PPS group #3
2708            U3rts, 1;
2709            Oc5, 11;
2710            C1out, 13;
2711            U4tx, 2;
2712            Refclko, 3;
2713            U5tx, 4;
2714            Ss1, 7;
2715            Sdo1, 8;
2716        }
2717        gpio::portb::RB8<MODE>, rpb8r {    // PPS group #3
2718            U3rts, 1;
2719            Oc5, 11;
2720            C1out, 13;
2721            U4tx, 2;
2722            Refclko, 3;
2723            U5tx, 4;
2724            Ss1, 7;
2725            Sdo1, 8;
2726        }
2727        gpio::portb::RB15<MODE>, rpb15r {    // PPS group #3
2728            U3rts, 1;
2729            Oc5, 11;
2730            C1out, 13;
2731            U4tx, 2;
2732            Refclko, 3;
2733            U5tx, 4;
2734            Ss1, 7;
2735            Sdo1, 8;
2736        }
2737        gpio::portd::RD4<MODE>, rpd4r {    // PPS group #3
2738            U3rts, 1;
2739            Oc5, 11;
2740            C1out, 13;
2741            U4tx, 2;
2742            Refclko, 3;
2743            U5tx, 4;
2744            Ss1, 7;
2745            Sdo1, 8;
2746        }
2747        gpio::portb::RB0<MODE>, rpb0r {    // PPS group #3
2748            U3rts, 1;
2749            Oc5, 11;
2750            C1out, 13;
2751            U4tx, 2;
2752            Refclko, 3;
2753            U5tx, 4;
2754            Ss1, 7;
2755            Sdo1, 8;
2756        }
2757        gpio::porte::RE3<MODE>, rpe3r {    // PPS group #3
2758            U3rts, 1;
2759            Oc5, 11;
2760            C1out, 13;
2761            U4tx, 2;
2762            Refclko, 3;
2763            U5tx, 4;
2764            Ss1, 7;
2765            Sdo1, 8;
2766        }
2767        gpio::portb::RB7<MODE>, rpb7r {    // PPS group #3
2768            U3rts, 1;
2769            Oc5, 11;
2770            C1out, 13;
2771            U4tx, 2;
2772            Refclko, 3;
2773            U5tx, 4;
2774            Ss1, 7;
2775            Sdo1, 8;
2776        }
2777        gpio::portf::RF12<MODE>, rpf12r {    // PPS group #3
2778            U3rts, 1;
2779            Oc5, 11;
2780            C1out, 13;
2781            U4tx, 2;
2782            Refclko, 3;
2783            U5tx, 4;
2784            Ss1, 7;
2785            Sdo1, 8;
2786        }
2787        gpio::portd::RD1<MODE>, rpd1r {    // PPS group #4
2788            U2rts, 1;
2789            Oc2, 11;
2790            Oc1, 12;
2791            U1rts, 3;
2792            U5tx, 4;
2793            Ss2, 6;
2794            Sdo1, 8;
2795        }
2796        gpio::portg::RG9<MODE>, rpg9r {    // PPS group #4
2797            U2rts, 1;
2798            Oc2, 11;
2799            Oc1, 12;
2800            U1rts, 3;
2801            U5tx, 4;
2802            Ss2, 6;
2803            Sdo1, 8;
2804        }
2805        gpio::portc::RC2<MODE>, rpc2r {    // PPS group #4
2806            U2rts, 1;
2807            Oc2, 11;
2808            Oc1, 12;
2809            U1rts, 3;
2810            U5tx, 4;
2811            Ss2, 6;
2812            Sdo1, 8;
2813        }
2814        gpio::porte::RE8<MODE>, rpe8r {    // PPS group #4
2815            U2rts, 1;
2816            Oc2, 11;
2817            Oc1, 12;
2818            U1rts, 3;
2819            U5tx, 4;
2820            Ss2, 6;
2821            Sdo1, 8;
2822        }
2823        gpio::portb::RB14<MODE>, rpb14r {    // PPS group #4
2824            U2rts, 1;
2825            Oc2, 11;
2826            Oc1, 12;
2827            U1rts, 3;
2828            U5tx, 4;
2829            Ss2, 6;
2830            Sdo1, 8;
2831        }
2832        gpio::portd::RD0<MODE>, rpd0r {    // PPS group #4
2833            U2rts, 1;
2834            Oc2, 11;
2835            Oc1, 12;
2836            U1rts, 3;
2837            U5tx, 4;
2838            Ss2, 6;
2839            Sdo1, 8;
2840        }
2841        gpio::portd::RD8<MODE>, rpd8r {    // PPS group #4
2842            U2rts, 1;
2843            Oc2, 11;
2844            Oc1, 12;
2845            U1rts, 3;
2846            U5tx, 4;
2847            Ss2, 6;
2848            Sdo1, 8;
2849        }
2850        gpio::portb::RB6<MODE>, rpb6r {    // PPS group #4
2851            U2rts, 1;
2852            Oc2, 11;
2853            Oc1, 12;
2854            U1rts, 3;
2855            U5tx, 4;
2856            Ss2, 6;
2857            Sdo1, 8;
2858        }
2859        gpio::portd::RD5<MODE>, rpd5r {    // PPS group #4
2860            U2rts, 1;
2861            Oc2, 11;
2862            Oc1, 12;
2863            U1rts, 3;
2864            U5tx, 4;
2865            Ss2, 6;
2866            Sdo1, 8;
2867        }
2868        gpio::portf::RF13<MODE>, rpf13r {    // PPS group #4
2869            U2rts, 1;
2870            Oc2, 11;
2871            Oc1, 12;
2872            U1rts, 3;
2873            U5tx, 4;
2874            Ss2, 6;
2875            Sdo1, 8;
2876        }
2877    }
2878}
2879