Prusa MINI Firmware overview
fastio_1280.h
Go to the documentation of this file.
1 /**
2  * Marlin 3D Printer Firmware
3  * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4  *
5  * Based on Sprinter and grbl.
6  * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 #pragma once
23 
24 /**
25  * Pin mapping for the 1280 and 2560
26  *
27  * Hardware Pin : 02 03 06 07 01 05 15 16 17 18 23 24 25 26 64 63 13 12 46 45 44 43 78 77 76 75 74 73 72 71 60 59 58 57 56 55 54 53 50 70 52 51 42 41 40 39 38 37 36 35 22 21 20 19 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 | 04 08 09 10 11 14 27 28 29 30 31 32 33 34 47 48 49 61 62 65 66 67 68 69 79 80 81 98 99 100
28  * Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
29  * Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 72 75 76 77 74 xx xx xx xx xx
30  */
31 
32 #include "../fastio.h"
33 
34 // change for your board
35 #define DEBUG_LED DIO21
36 
37 // UART
38 #define RXD DIO0
39 #define TXD DIO1
40 
41 // SPI
42 #define SCK DIO52
43 #define MISO DIO50
44 #define MOSI DIO51
45 #define SS DIO53
46 
47 // TWI (I2C)
48 #define SCL DIO21
49 #define SDA DIO20
50 
51 // Timers and PWM
52 #define OC0A DIO13
53 #define OC0B DIO4
54 #define OC1A DIO11
55 #define OC1B DIO12
56 #define OC2A DIO10
57 #define OC2B DIO9
58 #define OC3A DIO5
59 #define OC3B DIO2
60 #define OC3C DIO3
61 #define OC4A DIO6
62 #define OC4B DIO7
63 #define OC4C DIO8
64 #define OC5A DIO46
65 #define OC5B DIO45
66 #define OC5C DIO44
67 
68 // Digital I/O
69 
70 #define DIO0_PIN PINE0
71 #define DIO0_RPORT PINE
72 #define DIO0_WPORT PORTE
73 #define DIO0_DDR DDRE
74 #define DIO0_PWM nullptr
75 
76 #define DIO1_PIN PINE1
77 #define DIO1_RPORT PINE
78 #define DIO1_WPORT PORTE
79 #define DIO1_DDR DDRE
80 #define DIO1_PWM nullptr
81 
82 #define DIO2_PIN PINE4
83 #define DIO2_RPORT PINE
84 #define DIO2_WPORT PORTE
85 #define DIO2_DDR DDRE
86 #define DIO2_PWM &OCR3BL
87 
88 #define DIO3_PIN PINE5
89 #define DIO3_RPORT PINE
90 #define DIO3_WPORT PORTE
91 #define DIO3_DDR DDRE
92 #define DIO3_PWM &OCR3CL
93 
94 #define DIO4_PIN PING5
95 #define DIO4_RPORT PING
96 #define DIO4_WPORT PORTG
97 #define DIO4_DDR DDRG
98 #define DIO4_PWM &OCR0B
99 
100 #define DIO5_PIN PINE3
101 #define DIO5_RPORT PINE
102 #define DIO5_WPORT PORTE
103 #define DIO5_DDR DDRE
104 #define DIO5_PWM &OCR3AL
105 
106 #define DIO6_PIN PINH3
107 #define DIO6_RPORT PINH
108 #define DIO6_WPORT PORTH
109 #define DIO6_DDR DDRH
110 #define DIO6_PWM &OCR4AL
111 
112 #define DIO7_PIN PINH4
113 #define DIO7_RPORT PINH
114 #define DIO7_WPORT PORTH
115 #define DIO7_DDR DDRH
116 #define DIO7_PWM &OCR4BL
117 
118 #define DIO8_PIN PINH5
119 #define DIO8_RPORT PINH
120 #define DIO8_WPORT PORTH
121 #define DIO8_DDR DDRH
122 #define DIO8_PWM &OCR4CL
123 
124 #define DIO9_PIN PINH6
125 #define DIO9_RPORT PINH
126 #define DIO9_WPORT PORTH
127 #define DIO9_DDR DDRH
128 #define DIO9_PWM &OCR2B
129 
130 #define DIO10_PIN PINB4
131 #define DIO10_RPORT PINB
132 #define DIO10_WPORT PORTB
133 #define DIO10_DDR DDRB
134 #define DIO10_PWM &OCR2A
135 
136 #define DIO11_PIN PINB5
137 #define DIO11_RPORT PINB
138 #define DIO11_WPORT PORTB
139 #define DIO11_DDR DDRB
140 #define DIO11_PWM nullptr
141 
142 #define DIO12_PIN PINB6
143 #define DIO12_RPORT PINB
144 #define DIO12_WPORT PORTB
145 #define DIO12_DDR DDRB
146 #define DIO12_PWM nullptr
147 
148 #define DIO13_PIN PINB7
149 #define DIO13_RPORT PINB
150 #define DIO13_WPORT PORTB
151 #define DIO13_DDR DDRB
152 #define DIO13_PWM &OCR0A
153 
154 #define DIO14_PIN PINJ1
155 #define DIO14_RPORT PINJ
156 #define DIO14_WPORT PORTJ
157 #define DIO14_DDR DDRJ
158 #define DIO14_PWM nullptr
159 
160 #define DIO15_PIN PINJ0
161 #define DIO15_RPORT PINJ
162 #define DIO15_WPORT PORTJ
163 #define DIO15_DDR DDRJ
164 #define DIO15_PWM nullptr
165 
166 #define DIO16_PIN PINH1
167 #define DIO16_RPORT PINH
168 #define DIO16_WPORT PORTH
169 #define DIO16_DDR DDRH
170 #define DIO16_PWM nullptr
171 
172 #define DIO17_PIN PINH0
173 #define DIO17_RPORT PINH
174 #define DIO17_WPORT PORTH
175 #define DIO17_DDR DDRH
176 #define DIO17_PWM nullptr
177 
178 #define DIO18_PIN PIND3
179 #define DIO18_RPORT PIND
180 #define DIO18_WPORT PORTD
181 #define DIO18_DDR DDRD
182 #define DIO18_PWM nullptr
183 
184 #define DIO19_PIN PIND2
185 #define DIO19_RPORT PIND
186 #define DIO19_WPORT PORTD
187 #define DIO19_DDR DDRD
188 #define DIO19_PWM nullptr
189 
190 #define DIO20_PIN PIND1
191 #define DIO20_RPORT PIND
192 #define DIO20_WPORT PORTD
193 #define DIO20_DDR DDRD
194 #define DIO20_PWM nullptr
195 
196 #define DIO21_PIN PIND0
197 #define DIO21_RPORT PIND
198 #define DIO21_WPORT PORTD
199 #define DIO21_DDR DDRD
200 #define DIO21_PWM nullptr
201 
202 #define DIO22_PIN PINA0
203 #define DIO22_RPORT PINA
204 #define DIO22_WPORT PORTA
205 #define DIO22_DDR DDRA
206 #define DIO22_PWM nullptr
207 
208 #define DIO23_PIN PINA1
209 #define DIO23_RPORT PINA
210 #define DIO23_WPORT PORTA
211 #define DIO23_DDR DDRA
212 #define DIO23_PWM nullptr
213 
214 #define DIO24_PIN PINA2
215 #define DIO24_RPORT PINA
216 #define DIO24_WPORT PORTA
217 #define DIO24_DDR DDRA
218 #define DIO24_PWM nullptr
219 
220 #define DIO25_PIN PINA3
221 #define DIO25_RPORT PINA
222 #define DIO25_WPORT PORTA
223 #define DIO25_DDR DDRA
224 #define DIO25_PWM nullptr
225 
226 #define DIO26_PIN PINA4
227 #define DIO26_RPORT PINA
228 #define DIO26_WPORT PORTA
229 #define DIO26_DDR DDRA
230 #define DIO26_PWM nullptr
231 
232 #define DIO27_PIN PINA5
233 #define DIO27_RPORT PINA
234 #define DIO27_WPORT PORTA
235 #define DIO27_DDR DDRA
236 #define DIO27_PWM nullptr
237 
238 #define DIO28_PIN PINA6
239 #define DIO28_RPORT PINA
240 #define DIO28_WPORT PORTA
241 #define DIO28_DDR DDRA
242 #define DIO28_PWM nullptr
243 
244 #define DIO29_PIN PINA7
245 #define DIO29_RPORT PINA
246 #define DIO29_WPORT PORTA
247 #define DIO29_DDR DDRA
248 #define DIO29_PWM nullptr
249 
250 #define DIO30_PIN PINC7
251 #define DIO30_RPORT PINC
252 #define DIO30_WPORT PORTC
253 #define DIO30_DDR DDRC
254 #define DIO30_PWM nullptr
255 
256 #define DIO31_PIN PINC6
257 #define DIO31_RPORT PINC
258 #define DIO31_WPORT PORTC
259 #define DIO31_DDR DDRC
260 #define DIO31_PWM nullptr
261 
262 #define DIO32_PIN PINC5
263 #define DIO32_RPORT PINC
264 #define DIO32_WPORT PORTC
265 #define DIO32_DDR DDRC
266 #define DIO32_PWM nullptr
267 
268 #define DIO33_PIN PINC4
269 #define DIO33_RPORT PINC
270 #define DIO33_WPORT PORTC
271 #define DIO33_DDR DDRC
272 #define DIO33_PWM nullptr
273 
274 #define DIO34_PIN PINC3
275 #define DIO34_RPORT PINC
276 #define DIO34_WPORT PORTC
277 #define DIO34_DDR DDRC
278 #define DIO34_PWM nullptr
279 
280 #define DIO35_PIN PINC2
281 #define DIO35_RPORT PINC
282 #define DIO35_WPORT PORTC
283 #define DIO35_DDR DDRC
284 #define DIO35_PWM nullptr
285 
286 #define DIO36_PIN PINC1
287 #define DIO36_RPORT PINC
288 #define DIO36_WPORT PORTC
289 #define DIO36_DDR DDRC
290 #define DIO36_PWM nullptr
291 
292 #define DIO37_PIN PINC0
293 #define DIO37_RPORT PINC
294 #define DIO37_WPORT PORTC
295 #define DIO37_DDR DDRC
296 #define DIO37_PWM nullptr
297 
298 #define DIO38_PIN PIND7
299 #define DIO38_RPORT PIND
300 #define DIO38_WPORT PORTD
301 #define DIO38_DDR DDRD
302 #define DIO38_PWM nullptr
303 
304 #define DIO39_PIN PING2
305 #define DIO39_RPORT PING
306 #define DIO39_WPORT PORTG
307 #define DIO39_DDR DDRG
308 #define DIO39_PWM nullptr
309 
310 #define DIO40_PIN PING1
311 #define DIO40_RPORT PING
312 #define DIO40_WPORT PORTG
313 #define DIO40_DDR DDRG
314 #define DIO40_PWM nullptr
315 
316 #define DIO41_PIN PING0
317 #define DIO41_RPORT PING
318 #define DIO41_WPORT PORTG
319 #define DIO41_DDR DDRG
320 #define DIO41_PWM nullptr
321 
322 #define DIO42_PIN PINL7
323 #define DIO42_RPORT PINL
324 #define DIO42_WPORT PORTL
325 #define DIO42_DDR DDRL
326 #define DIO42_PWM nullptr
327 
328 #define DIO43_PIN PINL6
329 #define DIO43_RPORT PINL
330 #define DIO43_WPORT PORTL
331 #define DIO43_DDR DDRL
332 #define DIO43_PWM nullptr
333 
334 #define DIO44_PIN PINL5
335 #define DIO44_RPORT PINL
336 #define DIO44_WPORT PORTL
337 #define DIO44_DDR DDRL
338 #define DIO44_PWM &OCR5CL
339 
340 #define DIO45_PIN PINL4
341 #define DIO45_RPORT PINL
342 #define DIO45_WPORT PORTL
343 #define DIO45_DDR DDRL
344 #define DIO45_PWM &OCR5BL
345 
346 #define DIO46_PIN PINL3
347 #define DIO46_RPORT PINL
348 #define DIO46_WPORT PORTL
349 #define DIO46_DDR DDRL
350 #define DIO46_PWM &OCR5AL
351 
352 #define DIO47_PIN PINL2
353 #define DIO47_RPORT PINL
354 #define DIO47_WPORT PORTL
355 #define DIO47_DDR DDRL
356 #define DIO47_PWM nullptr
357 
358 #define DIO48_PIN PINL1
359 #define DIO48_RPORT PINL
360 #define DIO48_WPORT PORTL
361 #define DIO48_DDR DDRL
362 #define DIO48_PWM nullptr
363 
364 #define DIO49_PIN PINL0
365 #define DIO49_RPORT PINL
366 #define DIO49_WPORT PORTL
367 #define DIO49_DDR DDRL
368 #define DIO49_PWM nullptr
369 
370 #define DIO50_PIN PINB3
371 #define DIO50_RPORT PINB
372 #define DIO50_WPORT PORTB
373 #define DIO50_DDR DDRB
374 #define DIO50_PWM nullptr
375 
376 #define DIO51_PIN PINB2
377 #define DIO51_RPORT PINB
378 #define DIO51_WPORT PORTB
379 #define DIO51_DDR DDRB
380 #define DIO51_PWM nullptr
381 
382 #define DIO52_PIN PINB1
383 #define DIO52_RPORT PINB
384 #define DIO52_WPORT PORTB
385 #define DIO52_DDR DDRB
386 #define DIO52_PWM nullptr
387 
388 #define DIO53_PIN PINB0
389 #define DIO53_RPORT PINB
390 #define DIO53_WPORT PORTB
391 #define DIO53_DDR DDRB
392 #define DIO53_PWM nullptr
393 
394 #define DIO54_PIN PINF0
395 #define DIO54_RPORT PINF
396 #define DIO54_WPORT PORTF
397 #define DIO54_DDR DDRF
398 #define DIO54_PWM nullptr
399 
400 #define DIO55_PIN PINF1
401 #define DIO55_RPORT PINF
402 #define DIO55_WPORT PORTF
403 #define DIO55_DDR DDRF
404 #define DIO55_PWM nullptr
405 
406 #define DIO56_PIN PINF2
407 #define DIO56_RPORT PINF
408 #define DIO56_WPORT PORTF
409 #define DIO56_DDR DDRF
410 #define DIO56_PWM nullptr
411 
412 #define DIO57_PIN PINF3
413 #define DIO57_RPORT PINF
414 #define DIO57_WPORT PORTF
415 #define DIO57_DDR DDRF
416 #define DIO57_PWM nullptr
417 
418 #define DIO58_PIN PINF4
419 #define DIO58_RPORT PINF
420 #define DIO58_WPORT PORTF
421 #define DIO58_DDR DDRF
422 #define DIO58_PWM nullptr
423 
424 #define DIO59_PIN PINF5
425 #define DIO59_RPORT PINF
426 #define DIO59_WPORT PORTF
427 #define DIO59_DDR DDRF
428 #define DIO59_PWM nullptr
429 
430 #define DIO60_PIN PINF6
431 #define DIO60_RPORT PINF
432 #define DIO60_WPORT PORTF
433 #define DIO60_DDR DDRF
434 #define DIO60_PWM nullptr
435 
436 #define DIO61_PIN PINF7
437 #define DIO61_RPORT PINF
438 #define DIO61_WPORT PORTF
439 #define DIO61_DDR DDRF
440 #define DIO61_PWM nullptr
441 
442 #define DIO62_PIN PINK0
443 #define DIO62_RPORT PINK
444 #define DIO62_WPORT PORTK
445 #define DIO62_DDR DDRK
446 #define DIO62_PWM nullptr
447 
448 #define DIO63_PIN PINK1
449 #define DIO63_RPORT PINK
450 #define DIO63_WPORT PORTK
451 #define DIO63_DDR DDRK
452 #define DIO63_PWM nullptr
453 
454 #define DIO64_PIN PINK2
455 #define DIO64_RPORT PINK
456 #define DIO64_WPORT PORTK
457 #define DIO64_DDR DDRK
458 #define DIO64_PWM nullptr
459 
460 #define DIO65_PIN PINK3
461 #define DIO65_RPORT PINK
462 #define DIO65_WPORT PORTK
463 #define DIO65_DDR DDRK
464 #define DIO65_PWM nullptr
465 
466 #define DIO66_PIN PINK4
467 #define DIO66_RPORT PINK
468 #define DIO66_WPORT PORTK
469 #define DIO66_DDR DDRK
470 #define DIO66_PWM nullptr
471 
472 #define DIO67_PIN PINK5
473 #define DIO67_RPORT PINK
474 #define DIO67_WPORT PORTK
475 #define DIO67_DDR DDRK
476 #define DIO67_PWM nullptr
477 
478 #define DIO68_PIN PINK6
479 #define DIO68_RPORT PINK
480 #define DIO68_WPORT PORTK
481 #define DIO68_DDR DDRK
482 #define DIO68_PWM nullptr
483 
484 #define DIO69_PIN PINK7
485 #define DIO69_RPORT PINK
486 #define DIO69_WPORT PORTK
487 #define DIO69_DDR DDRK
488 #define DIO69_PWM nullptr
489 
490 //#define FASTIO_EXT_START 70
491 //#define FASTIO_EXT_END 85
492 
493 #define DIO70_PIN PING4
494 #define DIO70_RPORT PING
495 #define DIO70_WPORT PORTG
496 #define DIO70_DDR DDRG
497 #define DIO70_PWM nullptr
498 
499 #define DIO71_PIN PING3
500 #define DIO71_RPORT PING
501 #define DIO71_WPORT PORTG
502 #define DIO71_DDR DDRG
503 #define DIO71_PWM nullptr
504 
505 #define DIO72_PIN PINJ2
506 #define DIO72_RPORT PINJ
507 #define DIO72_WPORT PORTJ
508 #define DIO72_DDR DDRJ
509 #define DIO72_PWM nullptr
510 
511 #define DIO73_PIN PINJ3
512 #define DIO73_RPORT PINJ
513 #define DIO73_WPORT PORTJ
514 #define DIO73_DDR DDRJ
515 #define DIO73_PWM nullptr
516 
517 #define DIO74_PIN PINJ7
518 #define DIO74_RPORT PINJ
519 #define DIO74_WPORT PORTJ
520 #define DIO74_DDR DDRJ
521 #define DIO74_PWM nullptr
522 
523 #define DIO75_PIN PINJ4
524 #define DIO75_RPORT PINJ
525 #define DIO75_WPORT PORTJ
526 #define DIO75_DDR DDRJ
527 #define DIO75_PWM nullptr
528 
529 #define DIO76_PIN PINJ5
530 #define DIO76_RPORT PINJ
531 #define DIO76_WPORT PORTJ
532 #define DIO76_DDR DDRJ
533 #define DIO76_PWM nullptr
534 
535 #define DIO77_PIN PINJ6
536 #define DIO77_RPORT PINJ
537 #define DIO77_WPORT PORTJ
538 #define DIO77_DDR DDRJ
539 #define DIO77_PWM nullptr
540 
541 #define DIO78_PIN PINE2
542 #define DIO78_RPORT PINE
543 #define DIO78_WPORT PORTE
544 #define DIO78_DDR DDRE
545 #define DIO78_PWM nullptr
546 
547 #define DIO79_PIN PINE6
548 #define DIO79_RPORT PINE
549 #define DIO79_WPORT PORTE
550 #define DIO79_DDR DDRE
551 #define DIO79_PWM nullptr
552 
553 #define DIO80_PIN PINE7
554 #define DIO80_RPORT PINE
555 #define DIO80_WPORT PORTE
556 #define DIO80_DDR DDRE
557 #define DIO80_PWM nullptr
558 
559 #define DIO81_PIN PIND4
560 #define DIO81_RPORT PIND
561 #define DIO81_WPORT PORTD
562 #define DIO81_DDR DDRD
563 #define DIO81_PWM nullptr
564 
565 #define DIO82_PIN PIND5
566 #define DIO82_RPORT PIND
567 #define DIO82_WPORT PORTD
568 #define DIO82_DDR DDRD
569 #define DIO82_PWM nullptr
570 
571 #define DIO83_PIN PIND6
572 #define DIO83_RPORT PIND
573 #define DIO83_WPORT PORTD
574 #define DIO83_DDR DDRD
575 #define DIO83_PWM nullptr
576 
577 #define DIO84_PIN PINH2
578 #define DIO84_RPORT PINH
579 #define DIO84_WPORT PORTH
580 #define DIO84_DDR DDRH
581 #define DIO84_PWM nullptr
582 
583 #define DIO85_PIN PINH7
584 #define DIO85_RPORT PINH
585 #define DIO85_WPORT PORTH
586 #define DIO85_DDR DDRH
587 #define DIO85_PWM nullptr
588 
589 #undef PA0
590 #define PA0_PIN PINA0
591 #define PA0_RPORT PINA
592 #define PA0_WPORT PORTA
593 #define PA0_DDR DDRA
594 #define PA0_PWM nullptr
595 #undef PA1
596 #define PA1_PIN PINA1
597 #define PA1_RPORT PINA
598 #define PA1_WPORT PORTA
599 #define PA1_DDR DDRA
600 #define PA1_PWM nullptr
601 #undef PA2
602 #define PA2_PIN PINA2
603 #define PA2_RPORT PINA
604 #define PA2_WPORT PORTA
605 #define PA2_DDR DDRA
606 #define PA2_PWM nullptr
607 #undef PA3
608 #define PA3_PIN PINA3
609 #define PA3_RPORT PINA
610 #define PA3_WPORT PORTA
611 #define PA3_DDR DDRA
612 #define PA3_PWM nullptr
613 #undef PA4
614 #define PA4_PIN PINA4
615 #define PA4_RPORT PINA
616 #define PA4_WPORT PORTA
617 #define PA4_DDR DDRA
618 #define PA4_PWM nullptr
619 #undef PA5
620 #define PA5_PIN PINA5
621 #define PA5_RPORT PINA
622 #define PA5_WPORT PORTA
623 #define PA5_DDR DDRA
624 #define PA5_PWM nullptr
625 #undef PA6
626 #define PA6_PIN PINA6
627 #define PA6_RPORT PINA
628 #define PA6_WPORT PORTA
629 #define PA6_DDR DDRA
630 #define PA6_PWM nullptr
631 #undef PA7
632 #define PA7_PIN PINA7
633 #define PA7_RPORT PINA
634 #define PA7_WPORT PORTA
635 #define PA7_DDR DDRA
636 #define PA7_PWM nullptr
637 
638 #undef PB0
639 #define PB0_PIN PINB0
640 #define PB0_RPORT PINB
641 #define PB0_WPORT PORTB
642 #define PB0_DDR DDRB
643 #define PB0_PWM nullptr
644 #undef PB1
645 #define PB1_PIN PINB1
646 #define PB1_RPORT PINB
647 #define PB1_WPORT PORTB
648 #define PB1_DDR DDRB
649 #define PB1_PWM nullptr
650 #undef PB2
651 #define PB2_PIN PINB2
652 #define PB2_RPORT PINB
653 #define PB2_WPORT PORTB
654 #define PB2_DDR DDRB
655 #define PB2_PWM nullptr
656 #undef PB3
657 #define PB3_PIN PINB3
658 #define PB3_RPORT PINB
659 #define PB3_WPORT PORTB
660 #define PB3_DDR DDRB
661 #define PB3_PWM nullptr
662 #undef PB4
663 #define PB4_PIN PINB4
664 #define PB4_RPORT PINB
665 #define PB4_WPORT PORTB
666 #define PB4_DDR DDRB
667 #define PB4_PWM &OCR2A
668 #undef PB5
669 #define PB5_PIN PINB5
670 #define PB5_RPORT PINB
671 #define PB5_WPORT PORTB
672 #define PB5_DDR DDRB
673 #define PB5_PWM nullptr
674 #undef PB6
675 #define PB6_PIN PINB6
676 #define PB6_RPORT PINB
677 #define PB6_WPORT PORTB
678 #define PB6_DDR DDRB
679 #define PB6_PWM nullptr
680 #undef PB7
681 #define PB7_PIN PINB7
682 #define PB7_RPORT PINB
683 #define PB7_WPORT PORTB
684 #define PB7_DDR DDRB
685 #define PB7_PWM &OCR0A
686 
687 #undef PC0
688 #define PC0_PIN PINC0
689 #define PC0_RPORT PINC
690 #define PC0_WPORT PORTC
691 #define PC0_DDR DDRC
692 #define PC0_PWM nullptr
693 #undef PC1
694 #define PC1_PIN PINC1
695 #define PC1_RPORT PINC
696 #define PC1_WPORT PORTC
697 #define PC1_DDR DDRC
698 #define PC1_PWM nullptr
699 #undef PC2
700 #define PC2_PIN PINC2
701 #define PC2_RPORT PINC
702 #define PC2_WPORT PORTC
703 #define PC2_DDR DDRC
704 #define PC2_PWM nullptr
705 #undef PC3
706 #define PC3_PIN PINC3
707 #define PC3_RPORT PINC
708 #define PC3_WPORT PORTC
709 #define PC3_DDR DDRC
710 #define PC3_PWM nullptr
711 #undef PC4
712 #define PC4_PIN PINC4
713 #define PC4_RPORT PINC
714 #define PC4_WPORT PORTC
715 #define PC4_DDR DDRC
716 #define PC4_PWM nullptr
717 #undef PC5
718 #define PC5_PIN PINC5
719 #define PC5_RPORT PINC
720 #define PC5_WPORT PORTC
721 #define PC5_DDR DDRC
722 #define PC5_PWM nullptr
723 #undef PC6
724 #define PC6_PIN PINC6
725 #define PC6_RPORT PINC
726 #define PC6_WPORT PORTC
727 #define PC6_DDR DDRC
728 #define PC6_PWM nullptr
729 #undef PC7
730 #define PC7_PIN PINC7
731 #define PC7_RPORT PINC
732 #define PC7_WPORT PORTC
733 #define PC7_DDR DDRC
734 #define PC7_PWM nullptr
735 
736 #undef PD0
737 #define PD0_PIN PIND0
738 #define PD0_RPORT PIND
739 #define PD0_WPORT PORTD
740 #define PD0_DDR DDRD
741 #define PD0_PWM nullptr
742 #undef PD1
743 #define PD1_PIN PIND1
744 #define PD1_RPORT PIND
745 #define PD1_WPORT PORTD
746 #define PD1_DDR DDRD
747 #define PD1_PWM nullptr
748 #undef PD2
749 #define PD2_PIN PIND2
750 #define PD2_RPORT PIND
751 #define PD2_WPORT PORTD
752 #define PD2_DDR DDRD
753 #define PD2_PWM nullptr
754 #undef PD3
755 #define PD3_PIN PIND3
756 #define PD3_RPORT PIND
757 #define PD3_WPORT PORTD
758 #define PD3_DDR DDRD
759 #define PD3_PWM nullptr
760 #undef PD4
761 #define PD4_PIN PIND4
762 #define PD4_RPORT PIND
763 #define PD4_WPORT PORTD
764 #define PD4_DDR DDRD
765 #define PD4_PWM nullptr
766 #undef PD5
767 #define PD5_PIN PIND5
768 #define PD5_RPORT PIND
769 #define PD5_WPORT PORTD
770 #define PD5_DDR DDRD
771 #define PD5_PWM nullptr
772 #undef PD6
773 #define PD6_PIN PIND6
774 #define PD6_RPORT PIND
775 #define PD6_WPORT PORTD
776 #define PD6_DDR DDRD
777 #define PD6_PWM nullptr
778 #undef PD7
779 #define PD7_PIN PIND7
780 #define PD7_RPORT PIND
781 #define PD7_WPORT PORTD
782 #define PD7_DDR DDRD
783 #define PD7_PWM nullptr
784 
785 #undef PE0
786 #define PE0_PIN PINE0
787 #define PE0_RPORT PINE
788 #define PE0_WPORT PORTE
789 #define PE0_DDR DDRE
790 #define PE0_PWM nullptr
791 #undef PE1
792 #define PE1_PIN PINE1
793 #define PE1_RPORT PINE
794 #define PE1_WPORT PORTE
795 #define PE1_DDR DDRE
796 #define PE1_PWM nullptr
797 #undef PE2
798 #define PE2_PIN PINE2
799 #define PE2_RPORT PINE
800 #define PE2_WPORT PORTE
801 #define PE2_DDR DDRE
802 #define PE2_PWM nullptr
803 #undef PE3
804 #define PE3_PIN PINE3
805 #define PE3_RPORT PINE
806 #define PE3_WPORT PORTE
807 #define PE3_DDR DDRE
808 #define PE3_PWM &OCR3AL
809 #undef PE4
810 #define PE4_PIN PINE4
811 #define PE4_RPORT PINE
812 #define PE4_WPORT PORTE
813 #define PE4_DDR DDRE
814 #define PE4_PWM &OCR3BL
815 #undef PE5
816 #define PE5_PIN PINE5
817 #define PE5_RPORT PINE
818 #define PE5_WPORT PORTE
819 #define PE5_DDR DDRE
820 #define PE5_PWM &OCR3CL
821 #undef PE6
822 #define PE6_PIN PINE6
823 #define PE6_RPORT PINE
824 #define PE6_WPORT PORTE
825 #define PE6_DDR DDRE
826 #define PE6_PWM nullptr
827 #undef PE7
828 #define PE7_PIN PINE7
829 #define PE7_RPORT PINE
830 #define PE7_WPORT PORTE
831 #define PE7_DDR DDRE
832 #define PE7_PWM nullptr
833 
834 #undef PF0
835 #define PF0_PIN PINF0
836 #define PF0_RPORT PINF
837 #define PF0_WPORT PORTF
838 #define PF0_DDR DDRF
839 #define PF0_PWM nullptr
840 #undef PF1
841 #define PF1_PIN PINF1
842 #define PF1_RPORT PINF
843 #define PF1_WPORT PORTF
844 #define PF1_DDR DDRF
845 #define PF1_PWM nullptr
846 #undef PF2
847 #define PF2_PIN PINF2
848 #define PF2_RPORT PINF
849 #define PF2_WPORT PORTF
850 #define PF2_DDR DDRF
851 #define PF2_PWM nullptr
852 #undef PF3
853 #define PF3_PIN PINF3
854 #define PF3_RPORT PINF
855 #define PF3_WPORT PORTF
856 #define PF3_DDR DDRF
857 #define PF3_PWM nullptr
858 #undef PF4
859 #define PF4_PIN PINF4
860 #define PF4_RPORT PINF
861 #define PF4_WPORT PORTF
862 #define PF4_DDR DDRF
863 #define PF4_PWM nullptr
864 #undef PF5
865 #define PF5_PIN PINF5
866 #define PF5_RPORT PINF
867 #define PF5_WPORT PORTF
868 #define PF5_DDR DDRF
869 #define PF5_PWM nullptr
870 #undef PF6
871 #define PF6_PIN PINF6
872 #define PF6_RPORT PINF
873 #define PF6_WPORT PORTF
874 #define PF6_DDR DDRF
875 #define PF6_PWM nullptr
876 #undef PF7
877 #define PF7_PIN PINF7
878 #define PF7_RPORT PINF
879 #define PF7_WPORT PORTF
880 #define PF7_DDR DDRF
881 #define PF7_PWM nullptr
882 
883 #undef PG0
884 #define PG0_PIN PING0
885 #define PG0_RPORT PING
886 #define PG0_WPORT PORTG
887 #define PG0_DDR DDRG
888 #define PG0_PWM nullptr
889 #undef PG1
890 #define PG1_PIN PING1
891 #define PG1_RPORT PING
892 #define PG1_WPORT PORTG
893 #define PG1_DDR DDRG
894 #define PG1_PWM nullptr
895 #undef PG2
896 #define PG2_PIN PING2
897 #define PG2_RPORT PING
898 #define PG2_WPORT PORTG
899 #define PG2_DDR DDRG
900 #define PG2_PWM nullptr
901 #undef PG3
902 #define PG3_PIN PING3
903 #define PG3_RPORT PING
904 #define PG3_WPORT PORTG
905 #define PG3_DDR DDRG
906 #define PG3_PWM nullptr
907 #undef PG4
908 #define PG4_PIN PING4
909 #define PG4_RPORT PING
910 #define PG4_WPORT PORTG
911 #define PG4_DDR DDRG
912 #define PG4_PWM nullptr
913 #undef PG5
914 #define PG5_PIN PING5
915 #define PG5_RPORT PING
916 #define PG5_WPORT PORTG
917 #define PG5_DDR DDRG
918 #define PG5_PWM &OCR0B
919 
920 #undef PH0
921 #define PH0_PIN PINH0
922 #define PH0_RPORT PINH
923 #define PH0_WPORT PORTH
924 #define PH0_DDR DDRH
925 #define PH0_PWM nullptr
926 #undef PH1
927 #define PH1_PIN PINH1
928 #define PH1_RPORT PINH
929 #define PH1_WPORT PORTH
930 #define PH1_DDR DDRH
931 #define PH1_PWM nullptr
932 #undef PH2
933 #define PH2_PIN PINH2
934 #define PH2_RPORT PINH
935 #define PH2_WPORT PORTH
936 #define PH2_DDR DDRH
937 #define PH2_PWM nullptr
938 #undef PH3
939 #define PH3_PIN PINH3
940 #define PH3_RPORT PINH
941 #define PH3_WPORT PORTH
942 #define PH3_DDR DDRH
943 #define PH3_PWM &OCR4AL
944 #undef PH4
945 #define PH4_PIN PINH4
946 #define PH4_RPORT PINH
947 #define PH4_WPORT PORTH
948 #define PH4_DDR DDRH
949 #define PH4_PWM &OCR4BL
950 #undef PH5
951 #define PH5_PIN PINH5
952 #define PH5_RPORT PINH
953 #define PH5_WPORT PORTH
954 #define PH5_DDR DDRH
955 #define PH5_PWM &OCR4CL
956 #undef PH6
957 #define PH6_PIN PINH6
958 #define PH6_RPORT PINH
959 #define PH6_WPORT PORTH
960 #define PH6_DDR DDRH
961 #define PH6_PWM &OCR2B
962 #undef PH7
963 #define PH7_PIN PINH7
964 #define PH7_RPORT PINH
965 #define PH7_WPORT PORTH
966 #define PH7_DDR DDRH
967 #define PH7_PWM nullptr
968 
969 #undef PJ0
970 #define PJ0_PIN PINJ0
971 #define PJ0_RPORT PINJ
972 #define PJ0_WPORT PORTJ
973 #define PJ0_DDR DDRJ
974 #define PJ0_PWM nullptr
975 #undef PJ1
976 #define PJ1_PIN PINJ1
977 #define PJ1_RPORT PINJ
978 #define PJ1_WPORT PORTJ
979 #define PJ1_DDR DDRJ
980 #define PJ1_PWM nullptr
981 #undef PJ2
982 #define PJ2_PIN PINJ2
983 #define PJ2_RPORT PINJ
984 #define PJ2_WPORT PORTJ
985 #define PJ2_DDR DDRJ
986 #define PJ2_PWM nullptr
987 #undef PJ3
988 #define PJ3_PIN PINJ3
989 #define PJ3_RPORT PINJ
990 #define PJ3_WPORT PORTJ
991 #define PJ3_DDR DDRJ
992 #define PJ3_PWM nullptr
993 #undef PJ4
994 #define PJ4_PIN PINJ4
995 #define PJ4_RPORT PINJ
996 #define PJ4_WPORT PORTJ
997 #define PJ4_DDR DDRJ
998 #define PJ4_PWM nullptr
999 #undef PJ5
1000 #define PJ5_PIN PINJ5
1001 #define PJ5_RPORT PINJ
1002 #define PJ5_WPORT PORTJ
1003 #define PJ5_DDR DDRJ
1004 #define PJ5_PWM nullptr
1005 #undef PJ6
1006 #define PJ6_PIN PINJ6
1007 #define PJ6_RPORT PINJ
1008 #define PJ6_WPORT PORTJ
1009 #define PJ6_DDR DDRJ
1010 #define PJ6_PWM nullptr
1011 #undef PJ7
1012 #define PJ7_PIN PINJ7
1013 #define PJ7_RPORT PINJ
1014 #define PJ7_WPORT PORTJ
1015 #define PJ7_DDR DDRJ
1016 #define PJ7_PWM nullptr
1017 
1018 #undef PK0
1019 #define PK0_PIN PINK0
1020 #define PK0_RPORT PINK
1021 #define PK0_WPORT PORTK
1022 #define PK0_DDR DDRK
1023 #define PK0_PWM nullptr
1024 #undef PK1
1025 #define PK1_PIN PINK1
1026 #define PK1_RPORT PINK
1027 #define PK1_WPORT PORTK
1028 #define PK1_DDR DDRK
1029 #define PK1_PWM nullptr
1030 #undef PK2
1031 #define PK2_PIN PINK2
1032 #define PK2_RPORT PINK
1033 #define PK2_WPORT PORTK
1034 #define PK2_DDR DDRK
1035 #define PK2_PWM nullptr
1036 #undef PK3
1037 #define PK3_PIN PINK3
1038 #define PK3_RPORT PINK
1039 #define PK3_WPORT PORTK
1040 #define PK3_DDR DDRK
1041 #define PK3_PWM nullptr
1042 #undef PK4
1043 #define PK4_PIN PINK4
1044 #define PK4_RPORT PINK
1045 #define PK4_WPORT PORTK
1046 #define PK4_DDR DDRK
1047 #define PK4_PWM nullptr
1048 #undef PK5
1049 #define PK5_PIN PINK5
1050 #define PK5_RPORT PINK
1051 #define PK5_WPORT PORTK
1052 #define PK5_DDR DDRK
1053 #define PK5_PWM nullptr
1054 #undef PK6
1055 #define PK6_PIN PINK6
1056 #define PK6_RPORT PINK
1057 #define PK6_WPORT PORTK
1058 #define PK6_DDR DDRK
1059 #define PK6_PWM nullptr
1060 #undef PK7
1061 #define PK7_PIN PINK7
1062 #define PK7_RPORT PINK
1063 #define PK7_WPORT PORTK
1064 #define PK7_DDR DDRK
1065 #define PK7_PWM nullptr
1066 
1067 #undef PL0
1068 #define PL0_PIN PINL0
1069 #define PL0_RPORT PINL
1070 #define PL0_WPORT PORTL
1071 #define PL0_DDR DDRL
1072 #define PL0_PWM nullptr
1073 #undef PL1
1074 #define PL1_PIN PINL1
1075 #define PL1_RPORT PINL
1076 #define PL1_WPORT PORTL
1077 #define PL1_DDR DDRL
1078 #define PL1_PWM nullptr
1079 #undef PL2
1080 #define PL2_PIN PINL2
1081 #define PL2_RPORT PINL
1082 #define PL2_WPORT PORTL
1083 #define PL2_DDR DDRL
1084 #define PL2_PWM nullptr
1085 #undef PL3
1086 #define PL3_PIN PINL3
1087 #define PL3_RPORT PINL
1088 #define PL3_WPORT PORTL
1089 #define PL3_DDR DDRL
1090 #define PL3_PWM &OCR5AL
1091 #undef PL4
1092 #define PL4_PIN PINL4
1093 #define PL4_RPORT PINL
1094 #define PL4_WPORT PORTL
1095 #define PL4_DDR DDRL
1096 #define PL4_PWM &OCR5BL
1097 #undef PL5
1098 #define PL5_PIN PINL5
1099 #define PL5_RPORT PINL
1100 #define PL5_WPORT PORTL
1101 #define PL5_DDR DDRL
1102 #define PL5_PWM &OCR5CL
1103 #undef PL6
1104 #define PL6_PIN PINL6
1105 #define PL6_RPORT PINL
1106 #define PL6_WPORT PORTL
1107 #define PL6_DDR DDRL
1108 #define PL6_PWM nullptr
1109 #undef PL7
1110 #define PL7_PIN PINL7
1111 #define PL7_RPORT PINL
1112 #define PL7_WPORT PORTL
1113 #define PL7_DDR DDRL
1114 #define PL7_PWM nullptr