fastio.h
1 /* 2 This code contibuted by Triffid_Hunter and modified by Kliment 3 why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html 4 2012/3/10 AT90USB128x modified by lincomatic to match Teensyduino 5 */ 6 #ifndef _ARDUINO_H 7 #define _ARDUINO_H 8 9 #include <avr/io.h> 10 11 /* 12 utility functions 13 */ 14 15 #ifndef MASK 16 /// MASKING- returns \f$2^PIN\f$ 17 #define MASK(PIN) (1 << PIN) 18 #endif 19 20 /* 21 magic I/O routines 22 23 now you can simply SET_OUTPUT(STEP); WRITE(STEP, 1); WRITE(STEP, 0); 24 */ 25 26 /// Read a pin 27 #define _READ(IO) ((bool)(DIO ## IO ## _RPORT & MASK(DIO ## IO ## _PIN))) 28 /// write to a pin 29 #define _WRITE(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0) 30 /// toggle a pin 31 #define _TOGGLE(IO) do {DIO ## IO ## _RPORT = MASK(DIO ## IO ## _PIN); } while (0) 32 33 /// set pin as input 34 #define _SET_INPUT(IO) do {DIO ## IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0) 35 /// set pin as output 36 #define _SET_OUTPUT(IO) do {DIO ## IO ## _DDR |= MASK(DIO ## IO ## _PIN); } while (0) 37 38 /// check if pin is an input 39 #define _GET_INPUT(IO) ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) == 0) 40 /// check if pin is an output 41 #define _GET_OUTPUT(IO) ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) != 0) 42 43 // why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html 44 45 /// Read a pin wrapper 46 #define READ(IO) _READ(IO) 47 /// Write to a pin wrapper 48 #define WRITE(IO, v) _WRITE(IO, v) 49 /// toggle a pin wrapper 50 #define TOGGLE(IO) _TOGGLE(IO) 51 52 /// set pin as input wrapper 53 #define SET_INPUT(IO) _SET_INPUT(IO) 54 /// set pin as output wrapper 55 #define SET_OUTPUT(IO) _SET_OUTPUT(IO) 56 57 /// check if pin is an input wrapper 58 #define GET_INPUT(IO) _GET_INPUT(IO) 59 /// check if pin is an output wrapper 60 #define GET_OUTPUT(IO) _GET_OUTPUT(IO) 61 62 /* 63 ports and functions 64 65 added as necessary or if I feel like it- not a comprehensive list! 66 */ 67 68 #if defined (__AVR_ATmega168__) || defined (__AVR_ATmega328__) || defined (__AVR_ATmega328P__) 69 // UART 70 #define RXD DIO0 71 #define TXD DIO1 72 73 // SPI 74 #define SCK DIO13 75 #define MISO DIO12 76 #define MOSI DIO11 77 #define SS DIO10 78 79 // TWI (I2C) 80 #define SCL AIO5 81 #define SDA AIO4 82 83 // timers and PWM 84 #define OC0A DIO6 85 #define OC0B DIO5 86 #define OC1A DIO9 87 #define OC1B DIO10 88 #define OC2A DIO11 89 #define OC2B DIO3 90 91 #define DEBUG_LED AIO5 92 93 /* 94 pins 95 */ 96 97 #define DIO0_PIN PIND0 98 #define DIO0_RPORT PIND 99 #define DIO0_WPORT PORTD 100 #define DIO0_DDR DDRD 101 #define DIO0_PWM NULL 102 103 #define DIO1_PIN PIND1 104 #define DIO1_RPORT PIND 105 #define DIO1_WPORT PORTD 106 #define DIO1_DDR DDRD 107 #define DIO1_PWM NULL 108 109 #define DIO2_PIN PIND2 110 #define DIO2_RPORT PIND 111 #define DIO2_WPORT PORTD 112 #define DIO2_DDR DDRD 113 #define DIO2_PWM NULL 114 115 #define DIO3_PIN PIND3 116 #define DIO3_RPORT PIND 117 #define DIO3_WPORT PORTD 118 #define DIO3_DDR DDRD 119 #define DIO3_PWM &OCR2B 120 121 #define DIO4_PIN PIND4 122 #define DIO4_RPORT PIND 123 #define DIO4_WPORT PORTD 124 #define DIO4_DDR DDRD 125 #define DIO4_PWM NULL 126 127 #define DIO5_PIN PIND5 128 #define DIO5_RPORT PIND 129 #define DIO5_WPORT PORTD 130 #define DIO5_DDR DDRD 131 #define DIO5_PWM &OCR0B 132 133 #define DIO6_PIN PIND6 134 #define DIO6_RPORT PIND 135 #define DIO6_WPORT PORTD 136 #define DIO6_DDR DDRD 137 #define DIO6_PWM &OCR0A 138 139 #define DIO7_PIN PIND7 140 #define DIO7_RPORT PIND 141 #define DIO7_WPORT PORTD 142 #define DIO7_DDR DDRD 143 #define DIO7_PWM NULL 144 145 #define DIO8_PIN PINB0 146 #define DIO8_RPORT PINB 147 #define DIO8_WPORT PORTB 148 #define DIO8_DDR DDRB 149 #define DIO8_PWM NULL 150 151 #define DIO9_PIN PINB1 152 #define DIO9_RPORT PINB 153 #define DIO9_WPORT PORTB 154 #define DIO9_DDR DDRB 155 #define DIO9_PWM NULL 156 157 #define DIO10_PIN PINB2 158 #define DIO10_RPORT PINB 159 #define DIO10_WPORT PORTB 160 #define DIO10_DDR DDRB 161 #define DIO10_PWM NULL 162 163 #define DIO11_PIN PINB3 164 #define DIO11_RPORT PINB 165 #define DIO11_WPORT PORTB 166 #define DIO11_DDR DDRB 167 #define DIO11_PWM &OCR2A 168 169 #define DIO12_PIN PINB4 170 #define DIO12_RPORT PINB 171 #define DIO12_WPORT PORTB 172 #define DIO12_DDR DDRB 173 #define DIO12_PWM NULL 174 175 #define DIO13_PIN PINB5 176 #define DIO13_RPORT PINB 177 #define DIO13_WPORT PORTB 178 #define DIO13_DDR DDRB 179 #define DIO13_PWM NULL 180 181 182 #define DIO14_PIN PINC0 183 #define DIO14_RPORT PINC 184 #define DIO14_WPORT PORTC 185 #define DIO14_DDR DDRC 186 #define DIO14_PWM NULL 187 188 #define DIO15_PIN PINC1 189 #define DIO15_RPORT PINC 190 #define DIO15_WPORT PORTC 191 #define DIO15_DDR DDRC 192 #define DIO15_PWM NULL 193 194 #define DIO16_PIN PINC2 195 #define DIO16_RPORT PINC 196 #define DIO16_WPORT PORTC 197 #define DIO16_DDR DDRC 198 #define DIO16_PWM NULL 199 200 #define DIO17_PIN PINC3 201 #define DIO17_RPORT PINC 202 #define DIO17_WPORT PORTC 203 #define DIO17_DDR DDRC 204 #define DIO17_PWM NULL 205 206 #define DIO18_PIN PINC4 207 #define DIO18_RPORT PINC 208 #define DIO18_WPORT PORTC 209 #define DIO18_DDR DDRC 210 #define DIO18_PWM NULL 211 212 #define DIO19_PIN PINC5 213 #define DIO19_RPORT PINC 214 #define DIO19_WPORT PORTC 215 #define DIO19_DDR DDRC 216 #define DIO19_PWM NULL 217 218 #define DIO20_PIN PINC6 219 #define DIO20_RPORT PINC 220 #define DIO20_WPORT PORTC 221 #define DIO20_DDR DDRC 222 #define DIO20_PWM NULL 223 224 #define DIO21_PIN PINC7 225 #define DIO21_RPORT PINC 226 #define DIO21_WPORT PORTC 227 #define DIO21_DDR DDRC 228 #define DIO21_PWM NULL 229 230 231 232 #undef PB0 233 #define PB0_PIN PINB0 234 #define PB0_RPORT PINB 235 #define PB0_WPORT PORTB 236 #define PB0_DDR DDRB 237 #define PB0_PWM NULL 238 239 #undef PB1 240 #define PB1_PIN PINB1 241 #define PB1_RPORT PINB 242 #define PB1_WPORT PORTB 243 #define PB1_DDR DDRB 244 #define PB1_PWM NULL 245 246 #undef PB2 247 #define PB2_PIN PINB2 248 #define PB2_RPORT PINB 249 #define PB2_WPORT PORTB 250 #define PB2_DDR DDRB 251 #define PB2_PWM NULL 252 253 #undef PB3 254 #define PB3_PIN PINB3 255 #define PB3_RPORT PINB 256 #define PB3_WPORT PORTB 257 #define PB3_DDR DDRB 258 #define PB3_PWM &OCR2A 259 260 #undef PB4 261 #define PB4_PIN PINB4 262 #define PB4_RPORT PINB 263 #define PB4_WPORT PORTB 264 #define PB4_DDR DDRB 265 #define PB4_PWM NULL 266 267 #undef PB5 268 #define PB5_PIN PINB5 269 #define PB5_RPORT PINB 270 #define PB5_WPORT PORTB 271 #define PB5_DDR DDRB 272 #define PB5_PWM NULL 273 274 #undef PB6 275 #define PB6_PIN PINB6 276 #define PB6_RPORT PINB 277 #define PB6_WPORT PORTB 278 #define PB6_DDR DDRB 279 #define PB6_PWM NULL 280 281 #undef PB7 282 #define PB7_PIN PINB7 283 #define PB7_RPORT PINB 284 #define PB7_WPORT PORTB 285 #define PB7_DDR DDRB 286 #define PB7_PWM NULL 287 288 289 #undef PC0 290 #define PC0_PIN PINC0 291 #define PC0_RPORT PINC 292 #define PC0_WPORT PORTC 293 #define PC0_DDR DDRC 294 #define PC0_PWM NULL 295 296 #undef PC1 297 #define PC1_PIN PINC1 298 #define PC1_RPORT PINC 299 #define PC1_WPORT PORTC 300 #define PC1_DDR DDRC 301 #define PC1_PWM NULL 302 303 #undef PC2 304 #define PC2_PIN PINC2 305 #define PC2_RPORT PINC 306 #define PC2_WPORT PORTC 307 #define PC2_DDR DDRC 308 #define PC2_PWM NULL 309 310 #undef PC3 311 #define PC3_PIN PINC3 312 #define PC3_RPORT PINC 313 #define PC3_WPORT PORTC 314 #define PC3_DDR DDRC 315 #define PC3_PWM NULL 316 317 #undef PC4 318 #define PC4_PIN PINC4 319 #define PC4_RPORT PINC 320 #define PC4_WPORT PORTC 321 #define PC4_DDR DDRC 322 #define PC4_PWM NULL 323 324 #undef PC5 325 #define PC5_PIN PINC5 326 #define PC5_RPORT PINC 327 #define PC5_WPORT PORTC 328 #define PC5_DDR DDRC 329 #define PC5_PWM NULL 330 331 #undef PC6 332 #define PC6_PIN PINC6 333 #define PC6_RPORT PINC 334 #define PC6_WPORT PORTC 335 #define PC6_DDR DDRC 336 #define PC6_PWM NULL 337 338 #undef PC7 339 #define PC7_PIN PINC7 340 #define PC7_RPORT PINC 341 #define PC7_WPORT PORTC 342 #define PC7_DDR DDRC 343 #define PC7_PWM NULL 344 345 346 #undef PD0 347 #define PD0_PIN PIND0 348 #define PD0_RPORT PIND 349 #define PD0_WPORT PORTD 350 #define PD0_DDR DDRD 351 #define PD0_PWM NULL 352 353 #undef PD1 354 #define PD1_PIN PIND1 355 #define PD1_RPORT PIND 356 #define PD1_WPORT PORTD 357 #define PD1_DDR DDRD 358 #define PD1_PWM NULL 359 360 #undef PD2 361 #define PD2_PIN PIND2 362 #define PD2_RPORT PIND 363 #define PD2_WPORT PORTD 364 #define PD2_DDR DDRD 365 #define PD2_PWM NULL 366 367 #undef PD3 368 #define PD3_PIN PIND3 369 #define PD3_RPORT PIND 370 #define PD3_WPORT PORTD 371 #define PD3_DDR DDRD 372 #define PD3_PWM &OCR2B 373 374 #undef PD4 375 #define PD4_PIN PIND4 376 #define PD4_RPORT PIND 377 #define PD4_WPORT PORTD 378 #define PD4_DDR DDRD 379 #define PD4_PWM NULL 380 381 #undef PD5 382 #define PD5_PIN PIND5 383 #define PD5_RPORT PIND 384 #define PD5_WPORT PORTD 385 #define PD5_DDR DDRD 386 #define PD5_PWM &OCR0B 387 388 #undef PD6 389 #define PD6_PIN PIND6 390 #define PD6_RPORT PIND 391 #define PD6_WPORT PORTD 392 #define PD6_DDR DDRD 393 #define PD6_PWM &OCR0A 394 395 #undef PD7 396 #define PD7_PIN PIND7 397 #define PD7_RPORT PIND 398 #define PD7_WPORT PORTD 399 #define PD7_DDR DDRD 400 #define PD7_PWM NULL 401 #endif /* _AVR_ATmega{168,328,328P}__ */ 402 403 #if defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__) || defined (__AVR_ATmega1284P__) 404 // UART 405 #define RXD DIO8 406 #define TXD DIO9 407 #define RXD0 DIO8 408 #define TXD0 DIO9 409 410 #define RXD1 DIO10 411 #define TXD1 DIO11 412 413 // SPI 414 #define SCK DIO7 415 #define MISO DIO6 416 #define MOSI DIO5 417 #define SS DIO4 418 419 // TWI (I2C) 420 #define SCL DIO16 421 #define SDA DIO17 422 423 // timers and PWM 424 #define OC0A DIO3 425 #define OC0B DIO4 426 #define OC1A DIO13 427 #define OC1B DIO12 428 #define OC2A DIO15 429 #define OC2B DIO14 430 431 #define DEBUG_LED DIO0 432 /* 433 pins 434 */ 435 436 #define DIO0_PIN PINB0 437 #define DIO0_RPORT PINB 438 #define DIO0_WPORT PORTB 439 #define DIO0_DDR DDRB 440 #define DIO0_PWM NULL 441 442 #define DIO1_PIN PINB1 443 #define DIO1_RPORT PINB 444 #define DIO1_WPORT PORTB 445 #define DIO1_DDR DDRB 446 #define DIO1_PWM NULL 447 448 #define DIO2_PIN PINB2 449 #define DIO2_RPORT PINB 450 #define DIO2_WPORT PORTB 451 #define DIO2_DDR DDRB 452 #define DIO2_PWM NULL 453 454 #define DIO3_PIN PINB3 455 #define DIO3_RPORT PINB 456 #define DIO3_WPORT PORTB 457 #define DIO3_DDR DDRB 458 #define DIO3_PWM &OCR0A 459 460 #define DIO4_PIN PINB4 461 #define DIO4_RPORT PINB 462 #define DIO4_WPORT PORTB 463 #define DIO4_DDR DDRB 464 #define DIO4_PWM &OCR0B 465 466 #define DIO5_PIN PINB5 467 #define DIO5_RPORT PINB 468 #define DIO5_WPORT PORTB 469 #define DIO5_DDR DDRB 470 #define DIO5_PWM NULL 471 472 #define DIO6_PIN PINB6 473 #define DIO6_RPORT PINB 474 #define DIO6_WPORT PORTB 475 #define DIO6_DDR DDRB 476 #define DIO6_PWM NULL 477 478 #define DIO7_PIN PINB7 479 #define DIO7_RPORT PINB 480 #define DIO7_WPORT PORTB 481 #define DIO7_DDR DDRB 482 #define DIO7_PWM NULL 483 484 #define DIO8_PIN PIND0 485 #define DIO8_RPORT PIND 486 #define DIO8_WPORT PORTD 487 #define DIO8_DDR DDRD 488 #define DIO8_PWM NULL 489 490 #define DIO9_PIN PIND1 491 #define DIO9_RPORT PIND 492 #define DIO9_WPORT PORTD 493 #define DIO9_DDR DDRD 494 #define DIO9_PWM NULL 495 496 #define DIO10_PIN PIND2 497 #define DIO10_RPORT PIND 498 #define DIO10_WPORT PORTD 499 #define DIO10_DDR DDRD 500 #define DIO10_PWM NULL 501 502 #define DIO11_PIN PIND3 503 #define DIO11_RPORT PIND 504 #define DIO11_WPORT PORTD 505 #define DIO11_DDR DDRD 506 #define DIO11_PWM NULL 507 508 #define DIO12_PIN PIND4 509 #define DIO12_RPORT PIND 510 #define DIO12_WPORT PORTD 511 #define DIO12_DDR DDRD 512 #define DIO12_PWM NULL 513 514 #define DIO13_PIN PIND5 515 #define DIO13_RPORT PIND 516 #define DIO13_WPORT PORTD 517 #define DIO13_DDR DDRD 518 #define DIO13_PWM NULL 519 520 #define DIO14_PIN PIND6 521 #define DIO14_RPORT PIND 522 #define DIO14_WPORT PORTD 523 #define DIO14_DDR DDRD 524 #define DIO14_PWM &OCR2B 525 526 #define DIO15_PIN PIND7 527 #define DIO15_RPORT PIND 528 #define DIO15_WPORT PORTD 529 #define DIO15_DDR DDRD 530 #define DIO15_PWM &OCR2A 531 532 #define DIO16_PIN PINC0 533 #define DIO16_RPORT PINC 534 #define DIO16_WPORT PORTC 535 #define DIO16_DDR DDRC 536 #define DIO16_PWM NULL 537 538 #define DIO17_PIN PINC1 539 #define DIO17_RPORT PINC 540 #define DIO17_WPORT PORTC 541 #define DIO17_DDR DDRC 542 #define DIO17_PWM NULL 543 544 #define DIO18_PIN PINC2 545 #define DIO18_RPORT PINC 546 #define DIO18_WPORT PORTC 547 #define DIO18_DDR DDRC 548 #define DIO18_PWM NULL 549 550 #define DIO19_PIN PINC3 551 #define DIO19_RPORT PINC 552 #define DIO19_WPORT PORTC 553 #define DIO19_DDR DDRC 554 #define DIO19_PWM NULL 555 556 #define DIO20_PIN PINC4 557 #define DIO20_RPORT PINC 558 #define DIO20_WPORT PORTC 559 #define DIO20_DDR DDRC 560 #define DIO20_PWM NULL 561 562 #define DIO21_PIN PINC5 563 #define DIO21_RPORT PINC 564 #define DIO21_WPORT PORTC 565 #define DIO21_DDR DDRC 566 #define DIO21_PWM NULL 567 568 #define DIO22_PIN PINC6 569 #define DIO22_RPORT PINC 570 #define DIO22_WPORT PORTC 571 #define DIO22_DDR DDRC 572 #define DIO22_PWM NULL 573 574 #define DIO23_PIN PINC7 575 #define DIO23_RPORT PINC 576 #define DIO23_WPORT PORTC 577 #define DIO23_DDR DDRC 578 #define DIO23_PWM NULL 579 580 #define DIO24_PIN PINA7 581 #define DIO24_RPORT PINA 582 #define DIO24_WPORT PORTA 583 #define DIO24_DDR DDRA 584 #define DIO24_PWM NULL 585 586 #define DIO25_PIN PINA6 587 #define DIO25_RPORT PINA 588 #define DIO25_WPORT PORTA 589 #define DIO25_DDR DDRA 590 #define DIO25_PWM NULL 591 592 #define DIO26_PIN PINA5 593 #define DIO26_RPORT PINA 594 #define DIO26_WPORT PORTA 595 #define DIO26_DDR DDRA 596 #define DIO26_PWM NULL 597 598 #define DIO27_PIN PINA4 599 #define DIO27_RPORT PINA 600 #define DIO27_WPORT PORTA 601 #define DIO27_DDR DDRA 602 #define DIO27_PWM NULL 603 604 #define DIO28_PIN PINA3 605 #define DIO28_RPORT PINA 606 #define DIO28_WPORT PORTA 607 #define DIO28_DDR DDRA 608 #define DIO28_PWM NULL 609 610 #define DIO29_PIN PINA2 611 #define DIO29_RPORT PINA 612 #define DIO29_WPORT PORTA 613 #define DIO29_DDR DDRA 614 #define DIO29_PWM NULL 615 616 #define DIO30_PIN PINA1 617 #define DIO30_RPORT PINA 618 #define DIO30_WPORT PORTA 619 #define DIO30_DDR DDRA 620 #define DIO30_PWM NULL 621 622 #define DIO31_PIN PINA0 623 #define DIO31_RPORT PINA 624 #define DIO31_WPORT PORTA 625 #define DIO31_DDR DDRA 626 #define DIO31_PWM NULL 627 628 #define AIO0_PIN PINA0 629 #define AIO0_RPORT PINA 630 #define AIO0_WPORT PORTA 631 #define AIO0_DDR DDRA 632 #define AIO0_PWM NULL 633 634 #define AIO1_PIN PINA1 635 #define AIO1_RPORT PINA 636 #define AIO1_WPORT PORTA 637 #define AIO1_DDR DDRA 638 #define AIO1_PWM NULL 639 640 #define AIO2_PIN PINA2 641 #define AIO2_RPORT PINA 642 #define AIO2_WPORT PORTA 643 #define AIO2_DDR DDRA 644 #define AIO2_PWM NULL 645 646 #define AIO3_PIN PINA3 647 #define AIO3_RPORT PINA 648 #define AIO3_WPORT PORTA 649 #define AIO3_DDR DDRA 650 #define AIO3_PWM NULL 651 652 #define AIO4_PIN PINA4 653 #define AIO4_RPORT PINA 654 #define AIO4_WPORT PORTA 655 #define AIO4_DDR DDRA 656 #define AIO4_PWM NULL 657 658 #define AIO5_PIN PINA5 659 #define AIO5_RPORT PINA 660 #define AIO5_WPORT PORTA 661 #define AIO5_DDR DDRA 662 #define AIO5_PWM NULL 663 664 #define AIO6_PIN PINA6 665 #define AIO6_RPORT PINA 666 #define AIO6_WPORT PORTA 667 #define AIO6_DDR DDRA 668 #define AIO6_PWM NULL 669 670 #define AIO7_PIN PINA7 671 #define AIO7_RPORT PINA 672 #define AIO7_WPORT PORTA 673 #define AIO7_DDR DDRA 674 #define AIO7_PWM NULL 675 676 677 678 #undef PA0 679 #define PA0_PIN PINA0 680 #define PA0_RPORT PINA 681 #define PA0_WPORT PORTA 682 #define PA0_DDR DDRA 683 #define PA0_PWM NULL 684 685 #undef PA1 686 #define PA1_PIN PINA1 687 #define PA1_RPORT PINA 688 #define PA1_WPORT PORTA 689 #define PA1_DDR DDRA 690 #define PA1_PWM NULL 691 692 #undef PA2 693 #define PA2_PIN PINA2 694 #define PA2_RPORT PINA 695 #define PA2_WPORT PORTA 696 #define PA2_DDR DDRA 697 #define PA2_PWM NULL 698 699 #undef PA3 700 #define PA3_PIN PINA3 701 #define PA3_RPORT PINA 702 #define PA3_WPORT PORTA 703 #define PA3_DDR DDRA 704 #define PA3_PWM NULL 705 706 #undef PA4 707 #define PA4_PIN PINA4 708 #define PA4_RPORT PINA 709 #define PA4_WPORT PORTA 710 #define PA4_DDR DDRA 711 #define PA4_PWM NULL 712 713 #undef PA5 714 #define PA5_PIN PINA5 715 #define PA5_RPORT PINA 716 #define PA5_WPORT PORTA 717 #define PA5_DDR DDRA 718 #define PA5_PWM NULL 719 720 #undef PA6 721 #define PA6_PIN PINA6 722 #define PA6_RPORT PINA 723 #define PA6_WPORT PORTA 724 #define PA6_DDR DDRA 725 #define PA6_PWM NULL 726 727 #undef PA7 728 #define PA7_PIN PINA7 729 #define PA7_RPORT PINA 730 #define PA7_WPORT PORTA 731 #define PA7_DDR DDRA 732 #define PA7_PWM NULL 733 734 735 #undef PB0 736 #define PB0_PIN PINB0 737 #define PB0_RPORT PINB 738 #define PB0_WPORT PORTB 739 #define PB0_DDR DDRB 740 #define PB0_PWM NULL 741 742 #undef PB1 743 #define PB1_PIN PINB1 744 #define PB1_RPORT PINB 745 #define PB1_WPORT PORTB 746 #define PB1_DDR DDRB 747 #define PB1_PWM NULL 748 749 #undef PB2 750 #define PB2_PIN PINB2 751 #define PB2_RPORT PINB 752 #define PB2_WPORT PORTB 753 #define PB2_DDR DDRB 754 #define PB2_PWM NULL 755 756 #undef PB3 757 #define PB3_PIN PINB3 758 #define PB3_RPORT PINB 759 #define PB3_WPORT PORTB 760 #define PB3_DDR DDRB 761 #define PB3_PWM &OCR0A 762 763 #undef PB4 764 #define PB4_PIN PINB4 765 #define PB4_RPORT PINB 766 #define PB4_WPORT PORTB 767 #define PB4_DDR DDRB 768 #define PB4_PWM &OCR0B 769 770 #undef PB5 771 #define PB5_PIN PINB5 772 #define PB5_RPORT PINB 773 #define PB5_WPORT PORTB 774 #define PB5_DDR DDRB 775 #define PB5_PWM NULL 776 777 #undef PB6 778 #define PB6_PIN PINB6 779 #define PB6_RPORT PINB 780 #define PB6_WPORT PORTB 781 #define PB6_DDR DDRB 782 #define PB6_PWM NULL 783 784 #undef PB7 785 #define PB7_PIN PINB7 786 #define PB7_RPORT PINB 787 #define PB7_WPORT PORTB 788 #define PB7_DDR DDRB 789 #define PB7_PWM NULL 790 791 792 #undef PC0 793 #define PC0_PIN PINC0 794 #define PC0_RPORT PINC 795 #define PC0_WPORT PORTC 796 #define PC0_DDR DDRC 797 #define PC0_PWM NULL 798 799 #undef PC1 800 #define PC1_PIN PINC1 801 #define PC1_RPORT PINC 802 #define PC1_WPORT PORTC 803 #define PC1_DDR DDRC 804 #define PC1_PWM NULL 805 806 #undef PC2 807 #define PC2_PIN PINC2 808 #define PC2_RPORT PINC 809 #define PC2_WPORT PORTC 810 #define PC2_DDR DDRC 811 #define PC2_PWM NULL 812 813 #undef PC3 814 #define PC3_PIN PINC3 815 #define PC3_RPORT PINC 816 #define PC3_WPORT PORTC 817 #define PC3_DDR DDRC 818 #define PC3_PWM NULL 819 820 #undef PC4 821 #define PC4_PIN PINC4 822 #define PC4_RPORT PINC 823 #define PC4_WPORT PORTC 824 #define PC4_DDR DDRC 825 #define PC4_PWM NULL 826 827 #undef PC5 828 #define PC5_PIN PINC5 829 #define PC5_RPORT PINC 830 #define PC5_WPORT PORTC 831 #define PC5_DDR DDRC 832 #define PC5_PWM NULL 833 834 #undef PC6 835 #define PC6_PIN PINC6 836 #define PC6_RPORT PINC 837 #define PC6_WPORT PORTC 838 #define PC6_DDR DDRC 839 #define PC6_PWM NULL 840 841 #undef PC7 842 #define PC7_PIN PINC7 843 #define PC7_RPORT PINC 844 #define PC7_WPORT PORTC 845 #define PC7_DDR DDRC 846 #define PC7_PWM NULL 847 848 849 #undef PD0 850 #define PD0_PIN PIND0 851 #define PD0_RPORT PIND 852 #define PD0_WPORT PORTD 853 #define PD0_DDR DDRD 854 #define PD0_PWM NULL 855 856 #undef PD1 857 #define PD1_PIN PIND1 858 #define PD1_RPORT PIND 859 #define PD1_WPORT PORTD 860 #define PD1_DDR DDRD 861 #define PD1_PWM NULL 862 863 #undef PD2 864 #define PD2_PIN PIND2 865 #define PD2_RPORT PIND 866 #define PD2_WPORT PORTD 867 #define PD2_DDR DDRD 868 #define PD2_PWM NULL 869 870 #undef PD3 871 #define PD3_PIN PIND3 872 #define PD3_RPORT PIND 873 #define PD3_WPORT PORTD 874 #define PD3_DDR DDRD 875 #define PD3_PWM NULL 876 877 #undef PD4 878 #define PD4_PIN PIND4 879 #define PD4_RPORT PIND 880 #define PD4_WPORT PORTD 881 #define PD4_DDR DDRD 882 #define PD4_PWM NULL 883 884 #undef PD5 885 #define PD5_PIN PIND5 886 #define PD5_RPORT PIND 887 #define PD5_WPORT PORTD 888 #define PD5_DDR DDRD 889 #define PD5_PWM NULL 890 891 #undef PD6 892 #define PD6_PIN PIND6 893 #define PD6_RPORT PIND 894 #define PD6_WPORT PORTD 895 #define PD6_DDR DDRD 896 #define PD6_PWM &OCR2B 897 898 #undef PD7 899 #define PD7_PIN PIND7 900 #define PD7_RPORT PIND 901 #define PD7_WPORT PORTD 902 #define PD7_DDR DDRD 903 #define PD7_PWM &OCR2A 904 #endif /* _AVR_ATmega{644,644P,644PA}__ */ 905 906 #if defined (__AVR_ATmega1280__) || defined (__AVR_ATmega2560__) 907 // UART 908 #define RXD DIO0 909 #define TXD DIO1 910 911 // SPI 912 #define SCK DIO52 913 #define MISO DIO50 914 #define MOSI DIO51 915 #define SS DIO53 916 917 // TWI (I2C) 918 #define SCL DIO21 919 #define SDA DIO20 920 921 // timers and PWM 922 #define OC0A DIO13 923 #define OC0B DIO4 924 #define OC1A DIO11 925 #define OC1B DIO12 926 #define OC2A DIO10 927 #define OC2B DIO9 928 #define OC3A DIO5 929 #define OC3B DIO2 930 #define OC3C DIO3 931 #define OC4A DIO6 932 #define OC4B DIO7 933 #define OC4C DIO8 934 #define OC5A DIO46 935 #define OC5B DIO45 936 #define OC5C DIO44 937 938 // change for your board 939 #if MOTHERBOARD == 12 940 #define DEBUG_LED DIO22 941 #else 942 #define DEBUG_LED DIO21 943 #endif 944 /* 945 pins 946 */ 947 #define DIO0_PIN PINE0 948 #define DIO0_RPORT PINE 949 #define DIO0_WPORT PORTE 950 #define DIO0_DDR DDRE 951 #define DIO0_PWM NULL 952 953 #define DIO1_PIN PINE1 954 #define DIO1_RPORT PINE 955 #define DIO1_WPORT PORTE 956 #define DIO1_DDR DDRE 957 #define DIO1_PWM NULL 958 959 #define DIO2_PIN PINE4 960 #define DIO2_RPORT PINE 961 #define DIO2_WPORT PORTE 962 #define DIO2_DDR DDRE 963 #define DIO2_PWM &OCR3BL 964 965 #define DIO3_PIN PINE5 966 #define DIO3_RPORT PINE 967 #define DIO3_WPORT PORTE 968 #define DIO3_DDR DDRE 969 #define DIO3_PWM &OCR3CL 970 971 #define DIO4_PIN PING5 972 #define DIO4_RPORT PING 973 #define DIO4_WPORT PORTG 974 #define DIO4_DDR DDRG 975 #define DIO4_PWM &OCR0B 976 977 #define DIO5_PIN PINE3 978 #define DIO5_RPORT PINE 979 #define DIO5_WPORT PORTE 980 #define DIO5_DDR DDRE 981 #define DIO5_PWM &OCR3AL 982 983 #define DIO6_PIN PINH3 984 #define DIO6_RPORT PINH 985 #define DIO6_WPORT PORTH 986 #define DIO6_DDR DDRH 987 #define DIO6_PWM &OCR4AL 988 989 #define DIO7_PIN PINH4 990 #define DIO7_RPORT PINH 991 #define DIO7_WPORT PORTH 992 #define DIO7_DDR DDRH 993 #define DIO7_PWM &OCR4BL 994 995 #define DIO8_PIN PINH5 996 #define DIO8_RPORT PINH 997 #define DIO8_WPORT PORTH 998 #define DIO8_DDR DDRH 999 #define DIO8_PWM &OCR4CL 1000 1001 #define DIO9_PIN PINH6 1002 #define DIO9_RPORT PINH 1003 #define DIO9_WPORT PORTH 1004 #define DIO9_DDR DDRH 1005 #define DIO9_PWM &OCR2B 1006 1007 #define DIO10_PIN PINB4 1008 #define DIO10_RPORT PINB 1009 #define DIO10_WPORT PORTB 1010 #define DIO10_DDR DDRB 1011 #define DIO10_PWM &OCR2A 1012 1013 #define DIO11_PIN PINB5 1014 #define DIO11_RPORT PINB 1015 #define DIO11_WPORT PORTB 1016 #define DIO11_DDR DDRB 1017 #define DIO11_PWM NULL 1018 1019 #define DIO12_PIN PINB6 1020 #define DIO12_RPORT PINB 1021 #define DIO12_WPORT PORTB 1022 #define DIO12_DDR DDRB 1023 #define DIO12_PWM NULL 1024 1025 #define DIO13_PIN PINB7 1026 #define DIO13_RPORT PINB 1027 #define DIO13_WPORT PORTB 1028 #define DIO13_DDR DDRB 1029 #define DIO13_PWM &OCR0A 1030 1031 #define DIO14_PIN PINJ1 1032 #define DIO14_RPORT PINJ 1033 #define DIO14_WPORT PORTJ 1034 #define DIO14_DDR DDRJ 1035 #define DIO14_PWM NULL 1036 1037 #define DIO15_PIN PINJ0 1038 #define DIO15_RPORT PINJ 1039 #define DIO15_WPORT PORTJ 1040 #define DIO15_DDR DDRJ 1041 #define DIO15_PWM NULL 1042 1043 #define DIO16_PIN PINH1 1044 #define DIO16_RPORT PINH 1045 #define DIO16_WPORT PORTH 1046 #define DIO16_DDR DDRH 1047 #define DIO16_PWM NULL 1048 1049 #define DIO17_PIN PINH0 1050 #define DIO17_RPORT PINH 1051 #define DIO17_WPORT PORTH 1052 #define DIO17_DDR DDRH 1053 #define DIO17_PWM NULL 1054 1055 #define DIO18_PIN PIND3 1056 #define DIO18_RPORT PIND 1057 #define DIO18_WPORT PORTD 1058 #define DIO18_DDR DDRD 1059 #define DIO18_PWM NULL 1060 1061 #define DIO19_PIN PIND2 1062 #define DIO19_RPORT PIND 1063 #define DIO19_WPORT PORTD 1064 #define DIO19_DDR DDRD 1065 #define DIO19_PWM NULL 1066 1067 #define DIO20_PIN PIND1 1068 #define DIO20_RPORT PIND 1069 #define DIO20_WPORT PORTD 1070 #define DIO20_DDR DDRD 1071 #define DIO20_PWM NULL 1072 1073 #define DIO21_PIN PIND0 1074 #define DIO21_RPORT PIND 1075 #define DIO21_WPORT PORTD 1076 #define DIO21_DDR DDRD 1077 #define DIO21_PWM NULL 1078 1079 #define DIO22_PIN PINA0 1080 #define DIO22_RPORT PINA 1081 #define DIO22_WPORT PORTA 1082 #define DIO22_DDR DDRA 1083 #define DIO22_PWM NULL 1084 1085 #define DIO23_PIN PINA1 1086 #define DIO23_RPORT PINA 1087 #define DIO23_WPORT PORTA 1088 #define DIO23_DDR DDRA 1089 #define DIO23_PWM NULL 1090 1091 #define DIO24_PIN PINA2 1092 #define DIO24_RPORT PINA 1093 #define DIO24_WPORT PORTA 1094 #define DIO24_DDR DDRA 1095 #define DIO24_PWM NULL 1096 1097 #define DIO25_PIN PINA3 1098 #define DIO25_RPORT PINA 1099 #define DIO25_WPORT PORTA 1100 #define DIO25_DDR DDRA 1101 #define DIO25_PWM NULL 1102 1103 #define DIO26_PIN PINA4 1104 #define DIO26_RPORT PINA 1105 #define DIO26_WPORT PORTA 1106 #define DIO26_DDR DDRA 1107 #define DIO26_PWM NULL 1108 1109 #define DIO27_PIN PINA5 1110 #define DIO27_RPORT PINA 1111 #define DIO27_WPORT PORTA 1112 #define DIO27_DDR DDRA 1113 #define DIO27_PWM NULL 1114 1115 #define DIO28_PIN PINA6 1116 #define DIO28_RPORT PINA 1117 #define DIO28_WPORT PORTA 1118 #define DIO28_DDR DDRA 1119 #define DIO28_PWM NULL 1120 1121 #define DIO29_PIN PINA7 1122 #define DIO29_RPORT PINA 1123 #define DIO29_WPORT PORTA 1124 #define DIO29_DDR DDRA 1125 #define DIO29_PWM NULL 1126 1127 #define DIO30_PIN PINC7 1128 #define DIO30_RPORT PINC 1129 #define DIO30_WPORT PORTC 1130 #define DIO30_DDR DDRC 1131 #define DIO30_PWM NULL 1132 1133 #define DIO31_PIN PINC6 1134 #define DIO31_RPORT PINC 1135 #define DIO31_WPORT PORTC 1136 #define DIO31_DDR DDRC 1137 #define DIO31_PWM NULL 1138 1139 #define DIO32_PIN PINC5 1140 #define DIO32_RPORT PINC 1141 #define DIO32_WPORT PORTC 1142 #define DIO32_DDR DDRC 1143 #define DIO32_PWM NULL 1144 1145 #define DIO33_PIN PINC4 1146 #define DIO33_RPORT PINC 1147 #define DIO33_WPORT PORTC 1148 #define DIO33_DDR DDRC 1149 #define DIO33_PWM NULL 1150 1151 #define DIO34_PIN PINC3 1152 #define DIO34_RPORT PINC 1153 #define DIO34_WPORT PORTC 1154 #define DIO34_DDR DDRC 1155 #define DIO34_PWM NULL 1156 1157 #define DIO35_PIN PINC2 1158 #define DIO35_RPORT PINC 1159 #define DIO35_WPORT PORTC 1160 #define DIO35_DDR DDRC 1161 #define DIO35_PWM NULL 1162 1163 #define DIO36_PIN PINC1 1164 #define DIO36_RPORT PINC 1165 #define DIO36_WPORT PORTC 1166 #define DIO36_DDR DDRC 1167 #define DIO36_PWM NULL 1168 1169 #define DIO37_PIN PINC0 1170 #define DIO37_RPORT PINC 1171 #define DIO37_WPORT PORTC 1172 #define DIO37_DDR DDRC 1173 #define DIO37_PWM NULL 1174 1175 #define DIO38_PIN PIND7 1176 #define DIO38_RPORT PIND 1177 #define DIO38_WPORT PORTD 1178 #define DIO38_DDR DDRD 1179 #define DIO38_PWM NULL 1180 1181 #define DIO39_PIN PING2 1182 #define DIO39_RPORT PING 1183 #define DIO39_WPORT PORTG 1184 #define DIO39_DDR DDRG 1185 #define DIO39_PWM NULL 1186 1187 #define DIO40_PIN PING1 1188 #define DIO40_RPORT PING 1189 #define DIO40_WPORT PORTG 1190 #define DIO40_DDR DDRG 1191 #define DIO40_PWM NULL 1192 1193 #define DIO41_PIN PING0 1194 #define DIO41_RPORT PING 1195 #define DIO41_WPORT PORTG 1196 #define DIO41_DDR DDRG 1197 #define DIO41_PWM NULL 1198 1199 #define DIO42_PIN PINL7 1200 #define DIO42_RPORT PINL 1201 #define DIO42_WPORT PORTL 1202 #define DIO42_DDR DDRL 1203 #define DIO42_PWM NULL 1204 1205 #define DIO43_PIN PINL6 1206 #define DIO43_RPORT PINL 1207 #define DIO43_WPORT PORTL 1208 #define DIO43_DDR DDRL 1209 #define DIO43_PWM NULL 1210 1211 #define DIO44_PIN PINL5 1212 #define DIO44_RPORT PINL 1213 #define DIO44_WPORT PORTL 1214 #define DIO44_DDR DDRL 1215 #define DIO44_PWM &OCR5CL 1216 1217 #define DIO45_PIN PINL4 1218 #define DIO45_RPORT PINL 1219 #define DIO45_WPORT PORTL 1220 #define DIO45_DDR DDRL 1221 #define DIO45_PWM &OCR5BL 1222 1223 #define DIO46_PIN PINL3 1224 #define DIO46_RPORT PINL 1225 #define DIO46_WPORT PORTL 1226 #define DIO46_DDR DDRL 1227 #define DIO46_PWM &OCR5AL 1228 1229 #define DIO47_PIN PINL2 1230 #define DIO47_RPORT PINL 1231 #define DIO47_WPORT PORTL 1232 #define DIO47_DDR DDRL 1233 #define DIO47_PWM NULL 1234 1235 #define DIO48_PIN PINL1 1236 #define DIO48_RPORT PINL 1237 #define DIO48_WPORT PORTL 1238 #define DIO48_DDR DDRL 1239 #define DIO48_PWM NULL 1240 1241 #define DIO49_PIN PINL0 1242 #define DIO49_RPORT PINL 1243 #define DIO49_WPORT PORTL 1244 #define DIO49_DDR DDRL 1245 #define DIO49_PWM NULL 1246 1247 #define DIO50_PIN PINB3 1248 #define DIO50_RPORT PINB 1249 #define DIO50_WPORT PORTB 1250 #define DIO50_DDR DDRB 1251 #define DIO50_PWM NULL 1252 1253 #define DIO51_PIN PINB2 1254 #define DIO51_RPORT PINB 1255 #define DIO51_WPORT PORTB 1256 #define DIO51_DDR DDRB 1257 #define DIO51_PWM NULL 1258 1259 #define DIO52_PIN PINB1 1260 #define DIO52_RPORT PINB 1261 #define DIO52_WPORT PORTB 1262 #define DIO52_DDR DDRB 1263 #define DIO52_PWM NULL 1264 1265 #define DIO53_PIN PINB0 1266 #define DIO53_RPORT PINB 1267 #define DIO53_WPORT PORTB 1268 #define DIO53_DDR DDRB 1269 #define DIO53_PWM NULL 1270 1271 #define DIO54_PIN PINF0 1272 #define DIO54_RPORT PINF 1273 #define DIO54_WPORT PORTF 1274 #define DIO54_DDR DDRF 1275 #define DIO54_PWM NULL 1276 1277 #define DIO55_PIN PINF1 1278 #define DIO55_RPORT PINF 1279 #define DIO55_WPORT PORTF 1280 #define DIO55_DDR DDRF 1281 #define DIO55_PWM NULL 1282 1283 #define DIO56_PIN PINF2 1284 #define DIO56_RPORT PINF 1285 #define DIO56_WPORT PORTF 1286 #define DIO56_DDR DDRF 1287 #define DIO56_PWM NULL 1288 1289 #define DIO57_PIN PINF3 1290 #define DIO57_RPORT PINF 1291 #define DIO57_WPORT PORTF 1292 #define DIO57_DDR DDRF 1293 #define DIO57_PWM NULL 1294 1295 #define DIO58_PIN PINF4 1296 #define DIO58_RPORT PINF 1297 #define DIO58_WPORT PORTF 1298 #define DIO58_DDR DDRF 1299 #define DIO58_PWM NULL 1300 1301 #define DIO59_PIN PINF5 1302 #define DIO59_RPORT PINF 1303 #define DIO59_WPORT PORTF 1304 #define DIO59_DDR DDRF 1305 #define DIO59_PWM NULL 1306 1307 #define DIO60_PIN PINF6 1308 #define DIO60_RPORT PINF 1309 #define DIO60_WPORT PORTF 1310 #define DIO60_DDR DDRF 1311 #define DIO60_PWM NULL 1312 1313 #define DIO61_PIN PINF7 1314 #define DIO61_RPORT PINF 1315 #define DIO61_WPORT PORTF 1316 #define DIO61_DDR DDRF 1317 #define DIO61_PWM NULL 1318 1319 #define DIO62_PIN PINK0 1320 #define DIO62_RPORT PINK 1321 #define DIO62_WPORT PORTK 1322 #define DIO62_DDR DDRK 1323 #define DIO62_PWM NULL 1324 1325 #define DIO63_PIN PINK1 1326 #define DIO63_RPORT PINK 1327 #define DIO63_WPORT PORTK 1328 #define DIO63_DDR DDRK 1329 #define DIO63_PWM NULL 1330 1331 #define DIO64_PIN PINK2 1332 #define DIO64_RPORT PINK 1333 #define DIO64_WPORT PORTK 1334 #define DIO64_DDR DDRK 1335 #define DIO64_PWM NULL 1336 1337 #define DIO65_PIN PINK3 1338 #define DIO65_RPORT PINK 1339 #define DIO65_WPORT PORTK 1340 #define DIO65_DDR DDRK 1341 #define DIO65_PWM NULL 1342 1343 #define DIO66_PIN PINK4 1344 #define DIO66_RPORT PINK 1345 #define DIO66_WPORT PORTK 1346 #define DIO66_DDR DDRK 1347 #define DIO66_PWM NULL 1348 1349 #define DIO67_PIN PINK5 1350 #define DIO67_RPORT PINK 1351 #define DIO67_WPORT PORTK 1352 #define DIO67_DDR DDRK 1353 #define DIO67_PWM NULL 1354 1355 #define DIO68_PIN PINK6 1356 #define DIO68_RPORT PINK 1357 #define DIO68_WPORT PORTK 1358 #define DIO68_DDR DDRK 1359 #define DIO68_PWM NULL 1360 1361 #define DIO69_PIN PINK7 1362 #define DIO69_RPORT PINK 1363 #define DIO69_WPORT PORTK 1364 #define DIO69_DDR DDRK 1365 #define DIO69_PWM NULL 1366 1367 #if MOTHERBOARD == 12 1368 #define DIO80_PIN PINJ2 1369 #define DIO80_RPORT PINJ 1370 #define DIO80_WPORT PORTJ 1371 #define DIO80_DDR DDRJ 1372 #define DIO80_PWM NULL 1373 1374 #define DIO81_PIN PINJ4 1375 #define DIO81_RPORT PINJ 1376 #define DIO81_WPORT PORTJ 1377 #define DIO81_DDR DDRJ 1378 #define DIO81_PWM NULL 1379 1380 #define DIO82_PIN PINJ5 1381 #define DIO82_RPORT PINJ 1382 #define DIO82_WPORT PORTJ 1383 #define DIO82_DDR DDRJ 1384 #define DIO82_PWM NULL 1385 1386 #define DIO83_PIN PINJ6 1387 #define DIO83_RPORT PINJ 1388 #define DIO83_WPORT PORTJ 1389 #define DIO83_DDR DDRJ 1390 #define DIO83_PWM NULL 1391 1392 #define DIO84_PIN PINJ7 1393 #define DIO84_RPORT PINJ 1394 #define DIO84_WPORT PORTJ 1395 #define DIO84_DDR DDRJ 1396 #define DIO84_PWM NULL 1397 1398 #define DIO85_PIN PINH7 1399 #define DIO85_RPORT PINH 1400 #define DIO85_WPORT PORTH 1401 #define DIO85_DDR DDRH 1402 #define DIO85_PWM NULL 1403 1404 #define DIO86_PIN PINH2 1405 #define DIO86_RPORT PINH 1406 #define DIO86_WPORT PORTH 1407 #define DIO86_DDR DDRH 1408 #define DIO86_PWM NULL 1409 1410 #define DIO90_PIN PINE7 1411 #define DIO90_RPORT PINE 1412 #define DIO90_WPORT PORTE 1413 #define DIO90_DDR DDRE 1414 #define DIO90_PWM NULL 1415 1416 #define DIO91_PIN PINE2 1417 #define DIO91_RPORT PINE 1418 #define DIO91_WPORT PORTE 1419 #define DIO91_DDR DDRE 1420 #define DIO91_PWM NULL 1421 1422 #define DIO92_PIN PIND4 1423 #define DIO92_RPORT PIND 1424 #define DIO92_WPORT PORTD 1425 #define DIO92_DDR DDRD 1426 #define DIO92_PWM NULL 1427 1428 #define DIO93_PIN PIND5 1429 #define DIO93_RPORT PIND 1430 #define DIO93_WPORT PORTD 1431 #define DIO93_DDR DDRD 1432 #define DIO93_PWM NULL 1433 1434 #define DIO94_PIN PIND6 1435 #define DIO94_RPORT PIND 1436 #define DIO94_WPORT PORTD 1437 #define DIO94_DDR DDRD 1438 #define DIO94_PWM NULL 1439 1440 #else 1441 1442 1443 #define DIO70_PIN PING4 1444 #define DIO70_RPORT PING 1445 #define DIO70_WPORT PORTG 1446 #define DIO70_DDR DDRG 1447 #define DIO70_PWM NULL 1448 #define DIO71_PIN PING3 1449 #define DIO71_RPORT PING 1450 #define DIO71_WPORT PORTG 1451 #define DIO71_DDR DDRG 1452 #define DIO71_PWM NULL 1453 #define DIO72_PIN PINJ2 1454 #define DIO72_RPORT PINJ 1455 #define DIO72_WPORT PORTJ 1456 #define DIO72_DDR DDRJ 1457 #define DIO72_PWM NULL 1458 #define DIO73_PIN PINJ3 1459 #define DIO73_RPORT PINJ 1460 #define DIO73_WPORT PORTJ 1461 #define DIO73_DDR DDRJ 1462 #define DIO73_PWM NULL 1463 #define DIO74_PIN PINJ7 1464 #define DIO74_RPORT PINJ 1465 #define DIO74_WPORT PORTJ 1466 #define DIO74_DDR DDRJ 1467 #define DIO74_PWM NULL 1468 #define DIO75_PIN PINJ4 1469 #define DIO75_RPORT PINJ 1470 #define DIO75_WPORT PORTJ 1471 #define DIO75_DDR DDRJ 1472 #define DIO75_PWM NULL 1473 1474 1475 #define DIO76_PIN PINJ5 1476 #define DIO76_RPORT PINJ 1477 #define DIO76_WPORT PORTJ 1478 #define DIO76_DDR DDRJ 1479 #define DIO76_PWM NULL 1480 #define DIO77_PIN PINJ6 1481 #define DIO77_RPORT PINJ 1482 #define DIO77_WPORT PORTJ 1483 #define DIO77_DDR DDRJ 1484 #define DIO77_PWM NULL 1485 #define DIO78_PIN PINE2 1486 #define DIO78_RPORT PINE 1487 #define DIO78_WPORT PORTE 1488 #define DIO78_DDR DDRE 1489 #define DIO78_PWM NULL 1490 #define DIO79_PIN PINE6 1491 #define DIO79_RPORT PINE 1492 #define DIO79_WPORT PORTE 1493 #define DIO79_DDR DDRE 1494 #define DIO79_PWM NULL 1495 #define DIO80_PIN PINE7 1496 #define DIO80_RPORT PINE 1497 #define DIO80_WPORT PORTE 1498 #define DIO80_DDR DDRE 1499 #define DIO80_PWM NULL 1500 #define DIO81_PIN PIND4 1501 #define DIO81_RPORT PIND 1502 #define DIO81_WPORT PORTD 1503 #define DIO81_DDR DDRD 1504 #define DIO81_PWM NULL 1505 1506 #endif // MOTHERBOARD == 12 1507 1508 1509 #undef PA0 1510 #define PA0_PIN PINA0 1511 #define PA0_RPORT PINA 1512 #define PA0_WPORT PORTA 1513 #define PA0_DDR DDRA 1514 #define PA0_PWM NULL 1515 #undef PA1 1516 #define PA1_PIN PINA1 1517 #define PA1_RPORT PINA 1518 #define PA1_WPORT PORTA 1519 #define PA1_DDR DDRA 1520 #define PA1_PWM NULL 1521 #undef PA2 1522 #define PA2_PIN PINA2 1523 #define PA2_RPORT PINA 1524 #define PA2_WPORT PORTA 1525 #define PA2_DDR DDRA 1526 #define PA2_PWM NULL 1527 #undef PA3 1528 #define PA3_PIN PINA3 1529 #define PA3_RPORT PINA 1530 #define PA3_WPORT PORTA 1531 #define PA3_DDR DDRA 1532 #define PA3_PWM NULL 1533 #undef PA4 1534 #define PA4_PIN PINA4 1535 #define PA4_RPORT PINA 1536 #define PA4_WPORT PORTA 1537 #define PA4_DDR DDRA 1538 #define PA4_PWM NULL 1539 #undef PA5 1540 #define PA5_PIN PINA5 1541 #define PA5_RPORT PINA 1542 #define PA5_WPORT PORTA 1543 #define PA5_DDR DDRA 1544 #define PA5_PWM NULL 1545 #undef PA6 1546 #define PA6_PIN PINA6 1547 #define PA6_RPORT PINA 1548 #define PA6_WPORT PORTA 1549 #define PA6_DDR DDRA 1550 #define PA6_PWM NULL 1551 #undef PA7 1552 #define PA7_PIN PINA7 1553 #define PA7_RPORT PINA 1554 #define PA7_WPORT PORTA 1555 #define PA7_DDR DDRA 1556 #define PA7_PWM NULL 1557 1558 #undef PB0 1559 #define PB0_PIN PINB0 1560 #define PB0_RPORT PINB 1561 #define PB0_WPORT PORTB 1562 #define PB0_DDR DDRB 1563 #define PB0_PWM NULL 1564 #undef PB1 1565 #define PB1_PIN PINB1 1566 #define PB1_RPORT PINB 1567 #define PB1_WPORT PORTB 1568 #define PB1_DDR DDRB 1569 #define PB1_PWM NULL 1570 #undef PB2 1571 #define PB2_PIN PINB2 1572 #define PB2_RPORT PINB 1573 #define PB2_WPORT PORTB 1574 #define PB2_DDR DDRB 1575 #define PB2_PWM NULL 1576 #undef PB3 1577 #define PB3_PIN PINB3 1578 #define PB3_RPORT PINB 1579 #define PB3_WPORT PORTB 1580 #define PB3_DDR DDRB 1581 #define PB3_PWM NULL 1582 #undef PB4 1583 #define PB4_PIN PINB4 1584 #define PB4_RPORT PINB 1585 #define PB4_WPORT PORTB 1586 #define PB4_DDR DDRB 1587 #define PB4_PWM &OCR2A 1588 #undef PB5 1589 #define PB5_PIN PINB5 1590 #define PB5_RPORT PINB 1591 #define PB5_WPORT PORTB 1592 #define PB5_DDR DDRB 1593 #define PB5_PWM NULL 1594 #undef PB6 1595 #define PB6_PIN PINB6 1596 #define PB6_RPORT PINB 1597 #define PB6_WPORT PORTB 1598 #define PB6_DDR DDRB 1599 #define PB6_PWM NULL 1600 #undef PB7 1601 #define PB7_PIN PINB7 1602 #define PB7_RPORT PINB 1603 #define PB7_WPORT PORTB 1604 #define PB7_DDR DDRB 1605 #define PB7_PWM &OCR0A 1606 1607 #undef PC0 1608 #define PC0_PIN PINC0 1609 #define PC0_RPORT PINC 1610 #define PC0_WPORT PORTC 1611 #define PC0_DDR DDRC 1612 #define PC0_PWM NULL 1613 #undef PC1 1614 #define PC1_PIN PINC1 1615 #define PC1_RPORT PINC 1616 #define PC1_WPORT PORTC 1617 #define PC1_DDR DDRC 1618 #define PC1_PWM NULL 1619 #undef PC2 1620 #define PC2_PIN PINC2 1621 #define PC2_RPORT PINC 1622 #define PC2_WPORT PORTC 1623 #define PC2_DDR DDRC 1624 #define PC2_PWM NULL 1625 #undef PC3 1626 #define PC3_PIN PINC3 1627 #define PC3_RPORT PINC 1628 #define PC3_WPORT PORTC 1629 #define PC3_DDR DDRC 1630 #define PC3_PWM NULL 1631 #undef PC4 1632 #define PC4_PIN PINC4 1633 #define PC4_RPORT PINC 1634 #define PC4_WPORT PORTC 1635 #define PC4_DDR DDRC 1636 #define PC4_PWM NULL 1637 #undef PC5 1638 #define PC5_PIN PINC5 1639 #define PC5_RPORT PINC 1640 #define PC5_WPORT PORTC 1641 #define PC5_DDR DDRC 1642 #define PC5_PWM NULL 1643 #undef PC6 1644 #define PC6_PIN PINC6 1645 #define PC6_RPORT PINC 1646 #define PC6_WPORT PORTC 1647 #define PC6_DDR DDRC 1648 #define PC6_PWM NULL 1649 #undef PC7 1650 #define PC7_PIN PINC7 1651 #define PC7_RPORT PINC 1652 #define PC7_WPORT PORTC 1653 #define PC7_DDR DDRC 1654 #define PC7_PWM NULL 1655 1656 #undef PD0 1657 #define PD0_PIN PIND0 1658 #define PD0_RPORT PIND 1659 #define PD0_WPORT PORTD 1660 #define PD0_DDR DDRD 1661 #define PD0_PWM NULL 1662 #undef PD1 1663 #define PD1_PIN PIND1 1664 #define PD1_RPORT PIND 1665 #define PD1_WPORT PORTD 1666 #define PD1_DDR DDRD 1667 #define PD1_PWM NULL 1668 #undef PD2 1669 #define PD2_PIN PIND2 1670 #define PD2_RPORT PIND 1671 #define PD2_WPORT PORTD 1672 #define PD2_DDR DDRD 1673 #define PD2_PWM NULL 1674 #undef PD3 1675 #define PD3_PIN PIND3 1676 #define PD3_RPORT PIND 1677 #define PD3_WPORT PORTD 1678 #define PD3_DDR DDRD 1679 #define PD3_PWM NULL 1680 #undef PD4 1681 #define PD4_PIN PIND4 1682 #define PD4_RPORT PIND 1683 #define PD4_WPORT PORTD 1684 #define PD4_DDR DDRD 1685 #define PD4_PWM NULL 1686 #undef PD5 1687 #define PD5_PIN PIND5 1688 #define PD5_RPORT PIND 1689 #define PD5_WPORT PORTD 1690 #define PD5_DDR DDRD 1691 #define PD5_PWM NULL 1692 #undef PD6 1693 #define PD6_PIN PIND6 1694 #define PD6_RPORT PIND 1695 #define PD6_WPORT PORTD 1696 #define PD6_DDR DDRD 1697 #define PD6_PWM NULL 1698 #undef PD7 1699 #define PD7_PIN PIND7 1700 #define PD7_RPORT PIND 1701 #define PD7_WPORT PORTD 1702 #define PD7_DDR DDRD 1703 #define PD7_PWM NULL 1704 1705 #undef PE0 1706 #define PE0_PIN PINE0 1707 #define PE0_RPORT PINE 1708 #define PE0_WPORT PORTE 1709 #define PE0_DDR DDRE 1710 #define PE0_PWM NULL 1711 #undef PE1 1712 #define PE1_PIN PINE1 1713 #define PE1_RPORT PINE 1714 #define PE1_WPORT PORTE 1715 #define PE1_DDR DDRE 1716 #define PE1_PWM NULL 1717 #undef PE2 1718 #define PE2_PIN PINE2 1719 #define PE2_RPORT PINE 1720 #define PE2_WPORT PORTE 1721 #define PE2_DDR DDRE 1722 #define PE2_PWM NULL 1723 #undef PE3 1724 #define PE3_PIN PINE3 1725 #define PE3_RPORT PINE 1726 #define PE3_WPORT PORTE 1727 #define PE3_DDR DDRE 1728 #define PE3_PWM &OCR3AL 1729 #undef PE4 1730 #define PE4_PIN PINE4 1731 #define PE4_RPORT PINE 1732 #define PE4_WPORT PORTE 1733 #define PE4_DDR DDRE 1734 #define PE4_PWM &OCR3BL 1735 #undef PE5 1736 #define PE5_PIN PINE5 1737 #define PE5_RPORT PINE 1738 #define PE5_WPORT PORTE 1739 #define PE5_DDR DDRE 1740 #define PE5_PWM &OCR3CL 1741 #undef PE6 1742 #define PE6_PIN PINE6 1743 #define PE6_RPORT PINE 1744 #define PE6_WPORT PORTE 1745 #define PE6_DDR DDRE 1746 #define PE6_PWM NULL 1747 #undef PE7 1748 #define PE7_PIN PINE7 1749 #define PE7_RPORT PINE 1750 #define PE7_WPORT PORTE 1751 #define PE7_DDR DDRE 1752 #define PE7_PWM NULL 1753 1754 #undef PF0 1755 #define PF0_PIN PINF0 1756 #define PF0_RPORT PINF 1757 #define PF0_WPORT PORTF 1758 #define PF0_DDR DDRF 1759 #define PF0_PWM NULL 1760 #undef PF1 1761 #define PF1_PIN PINF1 1762 #define PF1_RPORT PINF 1763 #define PF1_WPORT PORTF 1764 #define PF1_DDR DDRF 1765 #define PF1_PWM NULL 1766 #undef PF2 1767 #define PF2_PIN PINF2 1768 #define PF2_RPORT PINF 1769 #define PF2_WPORT PORTF 1770 #define PF2_DDR DDRF 1771 #define PF2_PWM NULL 1772 #undef PF3 1773 #define PF3_PIN PINF3 1774 #define PF3_RPORT PINF 1775 #define PF3_WPORT PORTF 1776 #define PF3_DDR DDRF 1777 #define PF3_PWM NULL 1778 #undef PF4 1779 #define PF4_PIN PINF4 1780 #define PF4_RPORT PINF 1781 #define PF4_WPORT PORTF 1782 #define PF4_DDR DDRF 1783 #define PF4_PWM NULL 1784 #undef PF5 1785 #define PF5_PIN PINF5 1786 #define PF5_RPORT PINF 1787 #define PF5_WPORT PORTF 1788 #define PF5_DDR DDRF 1789 #define PF5_PWM NULL 1790 #undef PF6 1791 #define PF6_PIN PINF6 1792 #define PF6_RPORT PINF 1793 #define PF6_WPORT PORTF 1794 #define PF6_DDR DDRF 1795 #define PF6_PWM NULL 1796 #undef PF7 1797 #define PF7_PIN PINF7 1798 #define PF7_RPORT PINF 1799 #define PF7_WPORT PORTF 1800 #define PF7_DDR DDRF 1801 #define PF7_PWM NULL 1802 1803 #undef PG0 1804 #define PG0_PIN PING0 1805 #define PG0_RPORT PING 1806 #define PG0_WPORT PORTG 1807 #define PG0_DDR DDRG 1808 #define PG0_PWM NULL 1809 #undef PG1 1810 #define PG1_PIN PING1 1811 #define PG1_RPORT PING 1812 #define PG1_WPORT PORTG 1813 #define PG1_DDR DDRG 1814 #define PG1_PWM NULL 1815 #undef PG2 1816 #define PG2_PIN PING2 1817 #define PG2_RPORT PING 1818 #define PG2_WPORT PORTG 1819 #define PG2_DDR DDRG 1820 #define PG2_PWM NULL 1821 #undef PG3 1822 #define PG3_PIN PING3 1823 #define PG3_RPORT PING 1824 #define PG3_WPORT PORTG 1825 #define PG3_DDR DDRG 1826 #define PG3_PWM NULL 1827 #undef PG4 1828 #define PG4_PIN PING4 1829 #define PG4_RPORT PING 1830 #define PG4_WPORT PORTG 1831 #define PG4_DDR DDRG 1832 #define PG4_PWM NULL 1833 #undef PG5 1834 #define PG5_PIN PING5 1835 #define PG5_RPORT PING 1836 #define PG5_WPORT PORTG 1837 #define PG5_DDR DDRG 1838 #define PG5_PWM &OCR0B 1839 #undef PG6 1840 #define PG6_PIN PING6 1841 #define PG6_RPORT PING 1842 #define PG6_WPORT PORTG 1843 #define PG6_DDR DDRG 1844 #define PG6_PWM NULL 1845 #undef PG7 1846 #define PG7_PIN PING7 1847 #define PG7_RPORT PING 1848 #define PG7_WPORT PORTG 1849 #define PG7_DDR DDRG 1850 #define PG7_PWM NULL 1851 1852 #undef PH0 1853 #define PH0_PIN PINH0 1854 #define PH0_RPORT PINH 1855 #define PH0_WPORT PORTH 1856 #define PH0_DDR DDRH 1857 #define PH0_PWM NULL 1858 #undef PH1 1859 #define PH1_PIN PINH1 1860 #define PH1_RPORT PINH 1861 #define PH1_WPORT PORTH 1862 #define PH1_DDR DDRH 1863 #define PH1_PWM NULL 1864 #undef PH2 1865 #define PH2_PIN PINH2 1866 #define PH2_RPORT PINH 1867 #define PH2_WPORT PORTH 1868 #define PH2_DDR DDRH 1869 #define PH2_PWM NULL 1870 #undef PH3 1871 #define PH3_PIN PINH3 1872 #define PH3_RPORT PINH 1873 #define PH3_WPORT PORTH 1874 #define PH3_DDR DDRH 1875 #define PH3_PWM &OCR4AL 1876 #undef PH4 1877 #define PH4_PIN PINH4 1878 #define PH4_RPORT PINH 1879 #define PH4_WPORT PORTH 1880 #define PH4_DDR DDRH 1881 #define PH4_PWM &OCR4BL 1882 #undef PH5 1883 #define PH5_PIN PINH5 1884 #define PH5_RPORT PINH 1885 #define PH5_WPORT PORTH 1886 #define PH5_DDR DDRH 1887 #define PH5_PWM &OCR4CL 1888 #undef PH6 1889 #define PH6_PIN PINH6 1890 #define PH6_RPORT PINH 1891 #define PH6_WPORT PORTH 1892 #define PH6_DDR DDRH 1893 #define PH6_PWM &OCR2B 1894 #undef PH7 1895 #define PH7_PIN PINH7 1896 #define PH7_RPORT PINH 1897 #define PH7_WPORT PORTH 1898 #define PH7_DDR DDRH 1899 #define PH7_PWM NULL 1900 1901 #undef PJ0 1902 #define PJ0_PIN PINJ0 1903 #define PJ0_RPORT PINJ 1904 #define PJ0_WPORT PORTJ 1905 #define PJ0_DDR DDRJ 1906 #define PJ0_PWM NULL 1907 #undef PJ1 1908 #define PJ1_PIN PINJ1 1909 #define PJ1_RPORT PINJ 1910 #define PJ1_WPORT PORTJ 1911 #define PJ1_DDR DDRJ 1912 #define PJ1_PWM NULL 1913 #undef PJ2 1914 #define PJ2_PIN PINJ2 1915 #define PJ2_RPORT PINJ 1916 #define PJ2_WPORT PORTJ 1917 #define PJ2_DDR DDRJ 1918 #define PJ2_PWM NULL 1919 #undef PJ3 1920 #define PJ3_PIN PINJ3 1921 #define PJ3_RPORT PINJ 1922 #define PJ3_WPORT PORTJ 1923 #define PJ3_DDR DDRJ 1924 #define PJ3_PWM NULL 1925 #undef PJ4 1926 #define PJ4_PIN PINJ4 1927 #define PJ4_RPORT PINJ 1928 #define PJ4_WPORT PORTJ 1929 #define PJ4_DDR DDRJ 1930 #define PJ4_PWM NULL 1931 #undef PJ5 1932 #define PJ5_PIN PINJ5 1933 #define PJ5_RPORT PINJ 1934 #define PJ5_WPORT PORTJ 1935 #define PJ5_DDR DDRJ 1936 #define PJ5_PWM NULL 1937 #undef PJ6 1938 #define PJ6_PIN PINJ6 1939 #define PJ6_RPORT PINJ 1940 #define PJ6_WPORT PORTJ 1941 #define PJ6_DDR DDRJ 1942 #define PJ6_PWM NULL 1943 #undef PJ7 1944 #define PJ7_PIN PINJ7 1945 #define PJ7_RPORT PINJ 1946 #define PJ7_WPORT PORTJ 1947 #define PJ7_DDR DDRJ 1948 #define PJ7_PWM NULL 1949 1950 #undef PK0 1951 #define PK0_PIN PINK0 1952 #define PK0_RPORT PINK 1953 #define PK0_WPORT PORTK 1954 #define PK0_DDR DDRK 1955 #define PK0_PWM NULL 1956 #undef PK1 1957 #define PK1_PIN PINK1 1958 #define PK1_RPORT PINK 1959 #define PK1_WPORT PORTK 1960 #define PK1_DDR DDRK 1961 #define PK1_PWM NULL 1962 #undef PK2 1963 #define PK2_PIN PINK2 1964 #define PK2_RPORT PINK 1965 #define PK2_WPORT PORTK 1966 #define PK2_DDR DDRK 1967 #define PK2_PWM NULL 1968 #undef PK3 1969 #define PK3_PIN PINK3 1970 #define PK3_RPORT PINK 1971 #define PK3_WPORT PORTK 1972 #define PK3_DDR DDRK 1973 #define PK3_PWM NULL 1974 #undef PK4 1975 #define PK4_PIN PINK4 1976 #define PK4_RPORT PINK 1977 #define PK4_WPORT PORTK 1978 #define PK4_DDR DDRK 1979 #define PK4_PWM NULL 1980 #undef PK5 1981 #define PK5_PIN PINK5 1982 #define PK5_RPORT PINK 1983 #define PK5_WPORT PORTK 1984 #define PK5_DDR DDRK 1985 #define PK5_PWM NULL 1986 #undef PK6 1987 #define PK6_PIN PINK6 1988 #define PK6_RPORT PINK 1989 #define PK6_WPORT PORTK 1990 #define PK6_DDR DDRK 1991 #define PK6_PWM NULL 1992 #undef PK7 1993 #define PK7_PIN PINK7 1994 #define PK7_RPORT PINK 1995 #define PK7_WPORT PORTK 1996 #define PK7_DDR DDRK 1997 #define PK7_PWM NULL 1998 1999 #undef PL0 2000 #define PL0_PIN PINL0 2001 #define PL0_RPORT PINL 2002 #define PL0_WPORT PORTL 2003 #define PL0_DDR DDRL 2004 #define PL0_PWM NULL 2005 #undef PL1 2006 #define PL1_PIN PINL1 2007 #define PL1_RPORT PINL 2008 #define PL1_WPORT PORTL 2009 #define PL1_DDR DDRL 2010 #define PL1_PWM NULL 2011 #undef PL2 2012 #define PL2_PIN PINL2 2013 #define PL2_RPORT PINL 2014 #define PL2_WPORT PORTL 2015 #define PL2_DDR DDRL 2016 #define PL2_PWM NULL 2017 #undef PL3 2018 #define PL3_PIN PINL3 2019 #define PL3_RPORT PINL 2020 #define PL3_WPORT PORTL 2021 #define PL3_DDR DDRL 2022 #define PL3_PWM &OCR5AL 2023 #undef PL4 2024 #define PL4_PIN PINL4 2025 #define PL4_RPORT PINL 2026 #define PL4_WPORT PORTL 2027 #define PL4_DDR DDRL 2028 #define PL4_PWM &OCR5BL 2029 #undef PL5 2030 #define PL5_PIN PINL5 2031 #define PL5_RPORT PINL 2032 #define PL5_WPORT PORTL 2033 #define PL5_DDR DDRL 2034 #define PL5_PWM &OCR5CL 2035 #undef PL6 2036 #define PL6_PIN PINL6 2037 #define PL6_RPORT PINL 2038 #define PL6_WPORT PORTL 2039 #define PL6_DDR DDRL 2040 #define PL6_PWM NULL 2041 #undef PL7 2042 #define PL7_PIN PINL7 2043 #define PL7_RPORT PINL 2044 #define PL7_WPORT PORTL 2045 #define PL7_DDR DDRL 2046 #define PL7_PWM NULL 2047 2048 #endif 2049 2050 #if defined (__AVR_AT90USB1287__) || defined (__AVR_AT90USB1286__) 2051 // SPI 2052 #define SCK DIO9 2053 #define MISO DIO11 2054 #define MOSI DIO10 2055 #define SS DIO8 2056 2057 #if MOTHERBOARD!=8 && MOTHERBOARD!=9 2058 // change for your board 2059 #define DEBUG_LED DIO31 /* led D5 red */ 2060 2061 /* 2062 pins 2063 */ 2064 #define DIO0_PIN PINA0 2065 #define DIO0_RPORT PINA 2066 #define DIO0_WPORT PORTA 2067 #define DIO0_PWM NULL 2068 #define DIO0_DDR DDRA 2069 2070 #define DIO1_PIN PINA1 2071 #define DIO1_RPORT PINA 2072 #define DIO1_WPORT PORTA 2073 #define DIO1_PWM NULL 2074 #define DIO1_DDR DDRA 2075 2076 #define DIO2_PIN PINA2 2077 #define DIO2_RPORT PINA 2078 #define DIO2_WPORT PORTA 2079 #define DIO2_PWM NULL 2080 #define DIO2_DDR DDRA 2081 2082 #define DIO3_PIN PINA3 2083 #define DIO3_RPORT PINA 2084 #define DIO3_WPORT PORTA 2085 #define DIO3_PWM NULL 2086 #define DIO3_DDR DDRA 2087 2088 #define DIO4_PIN PINA4 2089 #define DIO4_RPORT PINA 2090 #define DIO4_WPORT PORTA 2091 #define DIO4_PWM NULL 2092 #define DIO4_DDR DDRA 2093 2094 #define DIO5_PIN PINA5 2095 #define DIO5_RPORT PINA 2096 #define DIO5_WPORT PORTA 2097 #define DIO5_PWM NULL 2098 #define DIO5_DDR DDRA 2099 2100 #define DIO6_PIN PINA6 2101 #define DIO6_RPORT PINA 2102 #define DIO6_WPORT PORTA 2103 #define DIO6_PWM NULL 2104 #define DIO6_DDR DDRA 2105 2106 #define DIO7_PIN PINA7 2107 #define DIO7_RPORT PINA 2108 #define DIO7_WPORT PORTA 2109 #define DIO7_PWM NULL 2110 #define DIO7_DDR DDRA 2111 2112 #define DIO8_PIN PINB0 2113 #define DIO8_RPORT PINB 2114 #define DIO8_WPORT PORTB 2115 #define DIO8_PWM NULL 2116 #define DIO8_DDR DDRB 2117 2118 #define DIO9_PIN PINB1 2119 #define DIO9_RPORT PINB 2120 #define DIO9_WPORT PORTB 2121 #define DIO9_PWM NULL 2122 #define DIO9_DDR DDRB 2123 2124 #define DIO10_PIN PINB2 2125 #define DIO10_RPORT PINB 2126 #define DIO10_WPORT PORTB 2127 #define DIO10_PWM NULL 2128 #define DIO10_DDR DDRB 2129 2130 #define DIO11_PIN PINB3 2131 #define DIO11_RPORT PINB 2132 #define DIO11_WPORT PORTB 2133 #define DIO11_PWM NULL 2134 #define DIO11_DDR DDRB 2135 2136 #define DIO12_PIN PINB4 2137 #define DIO12_RPORT PINB 2138 #define DIO12_WPORT PORTB 2139 #define DIO12_PWM NULL 2140 #define DIO12_DDR DDRB 2141 2142 #define DIO13_PIN PINB5 2143 #define DIO13_RPORT PINB 2144 #define DIO13_WPORT PORTB 2145 #define DIO13_PWM NULL 2146 #define DIO13_DDR DDRB 2147 2148 #define DIO14_PIN PINB6 2149 #define DIO14_RPORT PINB 2150 #define DIO14_WPORT PORTB 2151 #define DIO14_PWM NULL 2152 #define DIO14_DDR DDRB 2153 2154 #define DIO15_PIN PINB7 2155 #define DIO15_RPORT PINB 2156 #define DIO15_WPORT PORTB 2157 #define DIO15_PWM NULL 2158 #define DIO15_DDR DDRB 2159 2160 #define DIO16_PIN PINC0 2161 #define DIO16_RPORT PINC 2162 #define DIO16_WPORT PORTC 2163 #define DIO16_PWM NULL 2164 #define DIO16_DDR DDRC 2165 2166 #define DIO17_PIN PINC1 2167 #define DIO17_RPORT PINC 2168 #define DIO17_WPORT PORTC 2169 #define DIO17_PWM NULL 2170 #define DIO17_DDR DDRC 2171 2172 #define DIO18_PIN PINC2 2173 #define DIO18_RPORT PINC 2174 #define DIO18_WPORT PORTC 2175 #define DIO18_PWM NULL 2176 #define DIO18_DDR DDRC 2177 2178 #define DIO19_PIN PINC3 2179 #define DIO19_RPORT PINC 2180 #define DIO19_WPORT PORTC 2181 #define DIO19_PWM NULL 2182 #define DIO19_DDR DDRC 2183 2184 #define DIO20_PIN PINC4 2185 #define DIO20_RPORT PINC 2186 #define DIO20_WPORT PORTC 2187 #define DIO20_PWM NULL 2188 #define DIO20_DDR DDRC 2189 2190 #define DIO21_PIN PINC5 2191 #define DIO21_RPORT PINC 2192 #define DIO21_WPORT PORTC 2193 #define DIO21_PWM NULL 2194 #define DIO21_DDR DDRC 2195 2196 #define DIO22_PIN PINC6 2197 #define DIO22_RPORT PINC 2198 #define DIO22_WPORT PORTC 2199 #define DIO22_PWM NULL 2200 #define DIO22_DDR DDRC 2201 2202 #define DIO23_PIN PINC7 2203 #define DIO23_RPORT PINC 2204 #define DIO23_WPORT PORTC 2205 #define DIO23_PWM NULL 2206 #define DIO23_DDR DDRC 2207 2208 #define DIO24_PIN PIND0 2209 #define DIO24_RPORT PIND 2210 #define DIO24_WPORT PORTD 2211 #define DIO24_PWM NULL 2212 #define DIO24_DDR DDRD 2213 2214 #define DIO25_PIN PIND1 2215 #define DIO25_RPORT PIND 2216 #define DIO25_WPORT PORTD 2217 #define DIO25_PWM NULL 2218 #define DIO25_DDR DDRD 2219 2220 #define DIO26_PIN PIND2 2221 #define DIO26_RPORT PIND 2222 #define DIO26_WPORT PORTD 2223 #define DIO26_PWM NULL 2224 #define DIO26_DDR DDRD 2225 2226 #define DIO27_PIN PIND3 2227 #define DIO27_RPORT PIND 2228 #define DIO27_WPORT PORTD 2229 #define DIO27_PWM NULL 2230 #define DIO27_DDR DDRD 2231 2232 #define DIO28_PIN PIND4 2233 #define DIO28_RPORT PIND 2234 #define DIO28_WPORT PORTD 2235 #define DIO28_PWM NULL 2236 #define DIO28_DDR DDRD 2237 2238 #define DIO29_PIN PIND5 2239 #define DIO29_RPORT PIND 2240 #define DIO29_WPORT PORTD 2241 #define DIO29_PWM NULL 2242 #define DIO29_DDR DDRD 2243 2244 #define DIO30_PIN PIND6 2245 #define DIO30_RPORT PIND 2246 #define DIO30_WPORT PORTD 2247 #define DIO30_PWM NULL 2248 #define DIO30_DDR DDRD 2249 2250 #define DIO31_PIN PIND7 2251 #define DIO31_RPORT PIND 2252 #define DIO31_WPORT PORTD 2253 #define DIO31_PWM NULL 2254 #define DIO31_DDR DDRD 2255 2256 2257 #define DIO32_PIN PINE0 2258 #define DIO32_RPORT PINE 2259 #define DIO32_WPORT PORTE 2260 #define DIO32_PWM NULL 2261 #define DIO32_DDR DDRE 2262 2263 #define DIO33_PIN PINE1 2264 #define DIO33_RPORT PINE 2265 #define DIO33_WPORT PORTE 2266 #define DIO33_PWM NULL 2267 #define DIO33_DDR DDRE 2268 2269 #define DIO34_PIN PINE2 2270 #define DIO34_RPORT PINE 2271 #define DIO34_WPORT PORTE 2272 #define DIO34_PWM NULL 2273 #define DIO34_DDR DDRE 2274 2275 #define DIO35_PIN PINE3 2276 #define DIO35_RPORT PINE 2277 #define DIO35_WPORT PORTE 2278 #define DIO35_PWM NULL 2279 #define DIO35_DDR DDRE 2280 2281 #define DIO36_PIN PINE4 2282 #define DIO36_RPORT PINE 2283 #define DIO36_WPORT PORTE 2284 #define DIO36_PWM NULL 2285 #define DIO36_DDR DDRE 2286 2287 #define DIO37_PIN PINE5 2288 #define DIO37_RPORT PINE 2289 #define DIO37_WPORT PORTE 2290 #define DIO37_PWM NULL 2291 #define DIO37_DDR DDRE 2292 2293 #define DIO38_PIN PINE6 2294 #define DIO38_RPORT PINE 2295 #define DIO38_WPORT PORTE 2296 #define DIO38_PWM NULL 2297 #define DIO38_DDR DDRE 2298 2299 #define DIO39_PIN PINE7 2300 #define DIO39_RPORT PINE 2301 #define DIO39_WPORT PORTE 2302 #define DIO39_PWM NULL 2303 #define DIO39_DDR DDRE 2304 2305 #define AIO0_PIN PINF0 2306 #define AIO0_RPORT PINF 2307 #define AIO0_WPORT PORTF 2308 #define AIO0_PWM NULL 2309 #define AIO0_DDR DDRF 2310 2311 #define AIO1_PIN PINF1 2312 #define AIO1_RPORT PINF 2313 #define AIO1_WPORT PORTF 2314 #define AIO1_PWM NULL 2315 #define AIO1_DDR DDRF 2316 2317 #define AIO2_PIN PINF2 2318 #define AIO2_RPORT PINF 2319 #define AIO2_WPORT PORTF 2320 #define AIO2_PWM NULL 2321 #define AIO2_DDR DDRF 2322 2323 #define AIO3_PIN PINF3 2324 #define AIO3_RPORT PINF 2325 #define AIO3_WPORT PORTF 2326 #define AIO3_PWM NULL 2327 #define AIO3_DDR DDRF 2328 2329 #define AIO4_PIN PINF4 2330 #define AIO4_RPORT PINF 2331 #define AIO4_WPORT PORTF 2332 #define AIO4_PWM NULL 2333 #define AIO4_DDR DDRF 2334 2335 #define AIO5_PIN PINF5 2336 #define AIO5_RPORT PINF 2337 #define AIO5_WPORT PORTF 2338 #define AIO5_PWM NULL 2339 #define AIO5_DDR DDRF 2340 2341 #define AIO6_PIN PINF6 2342 #define AIO6_RPORT PINF 2343 #define AIO6_WPORT PORTF 2344 #define AIO6_PWM NULL 2345 #define AIO6_DDR DDRF 2346 2347 #define AIO7_PIN PINF7 2348 #define AIO7_RPORT PINF 2349 #define AIO7_WPORT PORTF 2350 #define AIO7_PWM NULL 2351 #define AIO7_DDR DDRF 2352 2353 #define DIO40_PIN PINF0 2354 #define DIO40_RPORT PINF 2355 #define DIO40_WPORT PORTF 2356 #define DIO40_PWM NULL 2357 #define DIO40_DDR DDRF 2358 2359 #define DIO41_PIN PINF1 2360 #define DIO41_RPORT PINF 2361 #define DIO41_WPORT PORTF 2362 #define DIO41_PWM NULL 2363 #define DIO41_DDR DDRF 2364 2365 #define DIO42_PIN PINF2 2366 #define DIO42_RPORT PINF 2367 #define DIO42_WPORT PORTF 2368 #define DIO42_PWM NULL 2369 #define DIO42_DDR DDRF 2370 2371 #define DIO43_PIN PINF3 2372 #define DIO43_RPORT PINF 2373 #define DIO43_WPORT PORTF 2374 #define DIO43_PWM NULL 2375 #define DIO43_DDR DDRF 2376 2377 #define DIO44_PIN PINF4 2378 #define DIO44_RPORT PINF 2379 #define DIO44_WPORT PORTF 2380 #define DIO44_PWM NULL 2381 #define DIO44_DDR DDRF 2382 2383 #define DIO45_PIN PINF5 2384 #define DIO45_RPORT PINF 2385 #define DIO45_WPORT PORTF 2386 #define DIO45_PWM NULL 2387 #define DIO45_DDR DDRF 2388 2389 #define DIO46_PIN PINF6 2390 #define DIO46_RPORT PINF 2391 #define DIO46_WPORT PORTF 2392 #define DIO46_PWM NULL 2393 #define DIO46_DDR DDRF 2394 2395 #define DIO47_PIN PINF7 2396 #define DIO47_RPORT PINF 2397 #define DIO47_WPORT PORTF 2398 #define DIO47_PWM NULL 2399 #define DIO47_DDR DDRF 2400 2401 #else 2402 /* 2403 pins 2404 */ 2405 #define DIO0_PIN PIND0 2406 #define DIO0_RPORT PIND 2407 #define DIO0_WPORT PORTD 2408 #define DIO0_PWM NULL 2409 #define DIO0_DDR DDRD 2410 2411 #define DIO1_PIN PIND1 2412 #define DIO1_RPORT PIND 2413 #define DIO1_WPORT PORTD 2414 #define DIO1_PWM NULL 2415 #define DIO1_DDR DDRD 2416 2417 #define DIO2_PIN PIND2 2418 #define DIO2_RPORT PIND 2419 #define DIO2_WPORT PORTD 2420 #define DIO2_PWM NULL 2421 #define DIO2_DDR DDRD 2422 2423 #define DIO3_PIN PIND3 2424 #define DIO3_RPORT PIND 2425 #define DIO3_WPORT PORTD 2426 #define DIO3_PWM NULL 2427 #define DIO3_DDR DDRD 2428 2429 #define DIO4_PIN PIND4 2430 #define DIO4_RPORT PIND 2431 #define DIO4_WPORT PORTD 2432 #define DIO4_PWM NULL 2433 #define DIO4_DDR DDRD 2434 2435 #define DIO5_PIN PIND5 2436 #define DIO5_RPORT PIND 2437 #define DIO5_WPORT PORTD 2438 #define DIO5_PWM NULL 2439 #define DIO5_DDR DDRD 2440 2441 #define DIO6_PIN PIND6 2442 #define DIO6_RPORT PIND 2443 #define DIO6_WPORT PORTD 2444 #define DIO6_PWM NULL 2445 #define DIO6_DDR DDRD 2446 2447 #define DIO7_PIN PIND7 2448 #define DIO7_RPORT PIND 2449 #define DIO7_WPORT PORTD 2450 #define DIO7_PWM NULL 2451 #define DIO7_DDR DDRD 2452 2453 #define DIO8_PIN PINE0 2454 #define DIO8_RPORT PINE 2455 #define DIO8_WPORT PORTE 2456 #define DIO8_PWM NULL 2457 #define DIO8_DDR DDRE 2458 2459 #define DIO9_PIN PINE1 2460 #define DIO9_RPORT PINE 2461 #define DIO9_WPORT PORTE 2462 #define DIO9_PWM NULL 2463 #define DIO9_DDR DDRE 2464 2465 #define DIO10_PIN PINC0 2466 #define DIO10_RPORT PINC 2467 #define DIO10_WPORT PORTC 2468 #define DIO10_PWM NULL 2469 #define DIO10_DDR DDRC 2470 2471 #define DIO11_PIN PINC1 2472 #define DIO11_RPORT PINC 2473 #define DIO11_WPORT PORTC 2474 #define DIO11_PWM NULL 2475 #define DIO11_DDR DDRC 2476 2477 #define DIO12_PIN PINC2 2478 #define DIO12_RPORT PINC 2479 #define DIO12_WPORT PORTC 2480 #define DIO12_PWM NULL 2481 #define DIO12_DDR DDRC 2482 2483 #define DIO13_PIN PINC3 2484 #define DIO13_RPORT PINC 2485 #define DIO13_WPORT PORTC 2486 #define DIO13_PWM NULL 2487 #define DIO13_DDR DDRC 2488 2489 #define DIO14_PIN PINC4 2490 #define DIO14_RPORT PINC 2491 #define DIO14_WPORT PORTC 2492 #define DIO14_PWM NULL 2493 #define DIO14_DDR DDRC 2494 2495 #define DIO15_PIN PINC5 2496 #define DIO15_RPORT PINC 2497 #define DIO15_WPORT PORTC 2498 #define DIO15_PWM NULL 2499 #define DIO15_DDR DDRC 2500 2501 #define DIO16_PIN PINC6 2502 #define DIO16_RPORT PINC 2503 #define DIO16_WPORT PORTC 2504 #define DIO16_PWM NULL 2505 #define DIO16_DDR DDRC 2506 2507 #define DIO17_PIN PINC7 2508 #define DIO17_RPORT PINC 2509 #define DIO17_WPORT PORTC 2510 #define DIO17_PWM NULL 2511 #define DIO17_DDR DDRC 2512 2513 #define DIO18_PIN PINE6 2514 #define DIO18_RPORT PINE 2515 #define DIO18_WPORT PORTE 2516 #define DIO18_PWM NULL 2517 #define DIO18_DDR DDRE 2518 2519 #define DIO19_PIN PINE7 2520 #define DIO19_RPORT PINE 2521 #define DIO19_WPORT PORTE 2522 #define DIO19_PWM NULL 2523 #define DIO19_DDR DDRE 2524 2525 #define DIO20_PIN PINB0 2526 #define DIO20_RPORT PINB 2527 #define DIO20_WPORT PORTB 2528 #define DIO20_PWM NULL 2529 #define DIO20_DDR DDRB 2530 2531 #define DIO21_PIN PINB1 2532 #define DIO21_RPORT PINB 2533 #define DIO21_WPORT PORTB 2534 #define DIO21_PWM NULL 2535 #define DIO21_DDR DDRB 2536 2537 #define DIO22_PIN PINB2 2538 #define DIO22_RPORT PINB 2539 #define DIO22_WPORT PORTB 2540 #define DIO22_PWM NULL 2541 #define DIO22_DDR DDRB 2542 2543 #define DIO23_PIN PINB3 2544 #define DIO23_RPORT PINB 2545 #define DIO23_WPORT PORTB 2546 #define DIO23_PWM NULL 2547 #define DIO23_DDR DDRB 2548 2549 #define DIO24_PIN PINB4 2550 #define DIO24_RPORT PINB 2551 #define DIO24_WPORT PORTB 2552 #define DIO24_PWM NULL 2553 #define DIO24_DDR DDRB 2554 2555 #define DIO25_PIN PINB5 2556 #define DIO25_RPORT PINB 2557 #define DIO25_WPORT PORTB 2558 #define DIO25_PWM NULL 2559 #define DIO25_DDR DDRB 2560 2561 #define DIO26_PIN PINB6 2562 #define DIO26_RPORT PINB 2563 #define DIO26_WPORT PORTB 2564 #define DIO26_PWM NULL 2565 #define DIO26_DDR DDRB 2566 2567 #define DIO27_PIN PINB7 2568 #define DIO27_RPORT PINB 2569 #define DIO27_WPORT PORTB 2570 #define DIO27_PWM NULL 2571 #define DIO27_DDR DDRB 2572 2573 #define DIO28_PIN PINA0 2574 #define DIO28_RPORT PINA 2575 #define DIO28_WPORT PORTA 2576 #define DIO28_PWM NULL 2577 #define DIO28_DDR DDRA 2578 2579 #define DIO29_PIN PINA1 2580 #define DIO29_RPORT PINA 2581 #define DIO29_WPORT PORTA 2582 #define DIO29_PWM NULL 2583 #define DIO29_DDR DDRA 2584 2585 #define DIO30_PIN PINA2 2586 #define DIO30_RPORT PINA 2587 #define DIO30_WPORT PORTA 2588 #define DIO30_PWM NULL 2589 #define DIO30_DDR DDRA 2590 2591 #define DIO31_PIN PINA3 2592 #define DIO31_RPORT PINA 2593 #define DIO31_WPORT PORTA 2594 #define DIO31_PWM NULL 2595 #define DIO31_DDR DDRA 2596 2597 2598 #define DIO32_PIN PINA4 2599 #define DIO32_RPORT PINA 2600 #define DIO32_WPORT PORTA 2601 #define DIO32_PWM NULL 2602 #define DIO32_DDR DDRA 2603 2604 #define DIO33_PIN PINA5 2605 #define DIO33_RPORT PINA 2606 #define DIO33_WPORT PORTA 2607 #define DIO33_PWM NULL 2608 #define DIO33_DDR DDRA 2609 2610 #define DIO34_PIN PINA6 2611 #define DIO34_RPORT PINA 2612 #define DIO34_WPORT PORTA 2613 #define DIO34_PWM NULL 2614 #define DIO34_DDR DDRA 2615 2616 #define DIO35_PIN PINA7 2617 #define DIO35_RPORT PINA 2618 #define DIO35_WPORT PORTA 2619 #define DIO35_PWM NULL 2620 #define DIO35_DDR DDRA 2621 2622 #define DIO36_PIN PINE4 2623 #define DIO36_RPORT PINE 2624 #define DIO36_WPORT PORTE 2625 #define DIO36_PWM NULL 2626 #define DIO36_DDR DDRE 2627 2628 #define DIO37_PIN PINE5 2629 #define DIO37_RPORT PINE 2630 #define DIO37_WPORT PORTE 2631 #define DIO37_PWM NULL 2632 #define DIO37_DDR DDRE 2633 2634 #define DIO38_PIN PINF0 2635 #define DIO38_RPORT PINF 2636 #define DIO38_WPORT PORTF 2637 #define DIO38_PWM NULL 2638 #define DIO38_DDR DDRF 2639 2640 #define DIO39_PIN PINF1 2641 #define DIO39_RPORT PINF 2642 #define DIO39_WPORT PORTF 2643 #define DIO39_PWM NULL 2644 #define DIO39_DDR DDRF 2645 2646 #define DIO40_PIN PINF2 2647 #define DIO40_RPORT PINF 2648 #define DIO40_WPORT PORTF 2649 #define DIO40_PWM NULL 2650 #define DIO40_DDR DDRF 2651 2652 #define DIO41_PIN PINF3 2653 #define DIO41_RPORT PINF 2654 #define DIO41_WPORT PORTF 2655 #define DIO41_PWM NULL 2656 #define DIO41_DDR DDRF 2657 2658 #define DIO42_PIN PINF4 2659 #define DIO42_RPORT PINF 2660 #define DIO42_WPORT PORTF 2661 #define DIO42_PWM NULL 2662 #define DIO42_DDR DDRF 2663 2664 #define DIO43_PIN PINF5 2665 #define DIO43_RPORT PINF 2666 #define DIO43_WPORT PORTF 2667 #define DIO43_PWM NULL 2668 #define DIO43_DDR DDRF 2669 2670 #define DIO44_PIN PINF6 2671 #define DIO44_RPORT PINF 2672 #define DIO44_WPORT PORTF 2673 #define DIO44_PWM NULL 2674 #define DIO44_DDR DDRF 2675 2676 #define DIO45_PIN PINF7 2677 #define DIO45_RPORT PINF 2678 #define DIO45_WPORT PORTF 2679 #define DIO45_PWM NULL 2680 #define DIO45_DDR DDRF 2681 2682 #define AIO0_PIN PINF0 2683 #define AIO0_RPORT PINF 2684 #define AIO0_WPORT PORTF 2685 #define AIO0_PWM NULL 2686 #define AIO0_DDR DDRF 2687 2688 #define AIO1_PIN PINF1 2689 #define AIO1_RPORT PINF 2690 #define AIO1_WPORT PORTF 2691 #define AIO1_PWM NULL 2692 #define AIO1_DDR DDRF 2693 2694 #define AIO2_PIN PINF2 2695 #define AIO2_RPORT PINF 2696 #define AIO2_WPORT PORTF 2697 #define AIO2_PWM NULL 2698 #define AIO2_DDR DDRF 2699 2700 #define AIO3_PIN PINF3 2701 #define AIO3_RPORT PINF 2702 #define AIO3_WPORT PORTF 2703 #define AIO3_PWM NULL 2704 #define AIO3_DDR DDRF 2705 2706 #define AIO4_PIN PINF4 2707 #define AIO4_RPORT PINF 2708 #define AIO4_WPORT PORTF 2709 #define AIO4_PWM NULL 2710 #define AIO4_DDR DDRF 2711 2712 #define AIO5_PIN PINF5 2713 #define AIO5_RPORT PINF 2714 #define AIO5_WPORT PORTF 2715 #define AIO5_PWM NULL 2716 #define AIO5_DDR DDRF 2717 2718 #define AIO6_PIN PINF6 2719 #define AIO6_RPORT PINF 2720 #define AIO6_WPORT PORTF 2721 #define AIO6_PWM NULL 2722 #define AIO6_DDR DDRF 2723 2724 #define AIO7_PIN PINF7 2725 #define AIO7_RPORT PINF 2726 #define AIO7_WPORT PORTF 2727 #define AIO7_PWM NULL 2728 #define AIO7_DDR DDRF 2729 2730 //-- Begin not supported by Teensyduino 2731 //-- don't use Arduino functions on these pins pinMode/digitalWrite/etc 2732 #define DIO46_PIN PINE2 2733 #define DIO46_RPORT PINE 2734 #define DIO46_WPORT PORTE 2735 #define DIO46_PWM NULL 2736 #define DIO46_DDR DDRE 2737 2738 #define DIO47_PIN PINE3 2739 #define DIO47_RPORT PINE 2740 #define DIO47_WPORT PORTE 2741 #define DIO47_PWM NULL 2742 #define DIO47_DDR DDRE 2743 //-- end not supported by Teensyduino 2744 2745 #endif 2746 2747 2748 #undef PA0 2749 #define PA0_PIN PINA0 2750 #define PA0_RPORT PINA 2751 #define PA0_WPORT PORTA 2752 #define PA0_PWM NULL 2753 #define PA0_DDR DDRA 2754 #undef PA1 2755 #define PA1_PIN PINA1 2756 #define PA1_RPORT PINA 2757 #define PA1_WPORT PORTA 2758 #define PA1_PWM NULL 2759 #define PA1_DDR DDRA 2760 #undef PA2 2761 #define PA2_PIN PINA2 2762 #define PA2_RPORT PINA 2763 #define PA2_WPORT PORTA 2764 #define PA2_PWM NULL 2765 #define PA2_DDR DDRA 2766 #undef PA3 2767 #define PA3_PIN PINA3 2768 #define PA3_RPORT PINA 2769 #define PA3_WPORT PORTA 2770 #define PA3_PWM NULL 2771 #define PA3_DDR DDRA 2772 #undef PA4 2773 #define PA4_PIN PINA4 2774 #define PA4_RPORT PINA 2775 #define PA4_WPORT PORTA 2776 #define PA4_PWM NULL 2777 #define PA4_DDR DDRA 2778 #undef PA5 2779 #define PA5_PIN PINA5 2780 #define PA5_RPORT PINA 2781 #define PA5_WPORT PORTA 2782 #define PA5_PWM NULL 2783 #define PA5_DDR DDRA 2784 #undef PA6 2785 #define PA6_PIN PINA6 2786 #define PA6_RPORT PINA 2787 #define PA6_WPORT PORTA 2788 #define PA6_PWM NULL 2789 #define PA6_DDR DDRA 2790 #undef PA7 2791 #define PA7_PIN PINA7 2792 #define PA7_RPORT PINA 2793 #define PA7_WPORT PORTA 2794 #define PA7_PWM NULL 2795 #define PA7_DDR DDRA 2796 2797 #undef PB0 2798 #define PB0_PIN PINB0 2799 #define PB0_RPORT PINB 2800 #define PB0_WPORT PORTB 2801 #define PB0_PWM NULL 2802 #define PB0_DDR DDRB 2803 #undef PB1 2804 #define PB1_PIN PINB1 2805 #define PB1_RPORT PINB 2806 #define PB1_WPORT PORTB 2807 #define PB1_PWM NULL 2808 #define PB1_DDR DDRB 2809 #undef PB2 2810 #define PB2_PIN PINB2 2811 #define PB2_RPORT PINB 2812 #define PB2_WPORT PORTB 2813 #define PB2_PWM NULL 2814 #define PB2_DDR DDRB 2815 #undef PB3 2816 #define PB3_PIN PINB3 2817 #define PB3_RPORT PINB 2818 #define PB3_WPORT PORTB 2819 #define PB3_PWM NULL 2820 #define PB3_DDR DDRB 2821 #undef PB4 2822 #define PB4_PIN PINB4 2823 #define PB4_RPORT PINB 2824 #define PB4_WPORT PORTB 2825 #define PB4_PWM NULL 2826 #define PB4_DDR DDRB 2827 #undef PB5 2828 #define PB5_PIN PINB5 2829 #define PB5_RPORT PINB 2830 #define PB5_WPORT PORTB 2831 #define PB5_PWM NULL 2832 #define PB5_DDR DDRB 2833 #undef PB6 2834 #define PB6_PIN PINB6 2835 #define PB6_RPORT PINB 2836 #define PB6_WPORT PORTB 2837 #define PB6_PWM NULL 2838 #define PB6_DDR DDRB 2839 #undef PB7 2840 #define PB7_PIN PINB7 2841 #define PB7_RPORT PINB 2842 #define PB7_WPORT PORTB 2843 #define PB7_PWM NULL 2844 #define PB7_DDR DDRB 2845 2846 #undef PC0 2847 #define PC0_PIN PINC0 2848 #define PC0_RPORT PINC 2849 #define PC0_WPORT PORTC 2850 #define PC0_PWM NULL 2851 #define PC0_DDR DDRC 2852 #undef PC1 2853 #define PC1_PIN PINC1 2854 #define PC1_RPORT PINC 2855 #define PC1_WPORT PORTC 2856 #define PC1_PWM NULL 2857 #define PC1_DDR DDRC 2858 #undef PC2 2859 #define PC2_PIN PINC2 2860 #define PC2_RPORT PINC 2861 #define PC2_WPORT PORTC 2862 #define PC2_PWM NULL 2863 #define PC2_DDR DDRC 2864 #undef PC3 2865 #define PC3_PIN PINC3 2866 #define PC3_RPORT PINC 2867 #define PC3_WPORT PORTC 2868 #define PC3_PWM NULL 2869 #define PC3_DDR DDRC 2870 #undef PC4 2871 #define PC4_PIN PINC4 2872 #define PC4_RPORT PINC 2873 #define PC4_WPORT PORTC 2874 #define PC4_PWM NULL 2875 #define PC4_DDR DDRC 2876 #undef PC5 2877 #define PC5_PIN PINC5 2878 #define PC5_RPORT PINC 2879 #define PC5_WPORT PORTC 2880 #define PC5_PWM NULL 2881 #define PC5_DDR DDRC 2882 #undef PC6 2883 #define PC6_PIN PINC6 2884 #define PC6_RPORT PINC 2885 #define PC6_WPORT PORTC 2886 #define PC6_PWM NULL 2887 #define PC6_DDR DDRC 2888 #undef PC7 2889 #define PC7_PIN PINC7 2890 #define PC7_RPORT PINC 2891 #define PC7_WPORT PORTC 2892 #define PC7_PWM NULL 2893 #define PC7_DDR DDRC 2894 2895 #undef PD0 2896 #define PD0_PIN PIND0 2897 #define PD0_RPORT PIND 2898 #define PD0_WPORT PORTD 2899 #define PD0_PWM NULL 2900 #define PD0_DDR DDRD 2901 #undef PD1 2902 #define PD1_PIN PIND1 2903 #define PD1_RPORT PIND 2904 #define PD1_WPORT PORTD 2905 #define PD1_PWM NULL 2906 #define PD1_DDR DDRD 2907 #undef PD2 2908 #define PD2_PIN PIND2 2909 #define PD2_RPORT PIND 2910 #define PD2_WPORT PORTD 2911 #define PD2_PWM NULL 2912 #define PD2_DDR DDRD 2913 #undef PD3 2914 #define PD3_PIN PIND3 2915 #define PD3_RPORT PIND 2916 #define PD3_WPORT PORTD 2917 #define PD3_PWM NULL 2918 #define PD3_DDR DDRD 2919 #undef PD4 2920 #define PD4_PIN PIND4 2921 #define PD4_RPORT PIND 2922 #define PD4_WPORT PORTD 2923 #define PD4_PWM NULL 2924 #define PD4_DDR DDRD 2925 #undef PD5 2926 #define PD5_PIN PIND5 2927 #define PD5_RPORT PIND 2928 #define PD5_WPORT PORTD 2929 #define PD5_PWM NULL 2930 #define PD5_DDR DDRD 2931 #undef PD6 2932 #define PD6_PIN PIND6 2933 #define PD6_RPORT PIND 2934 #define PD6_WPORT PORTD 2935 #define PD6_PWM NULL 2936 #define PD6_DDR DDRD 2937 #undef PD7 2938 #define PD7_PIN PIND7 2939 #define PD7_RPORT PIND 2940 #define PD7_WPORT PORTD 2941 #define PD7_PWM NULL 2942 #define PD7_DDR DDRD 2943 2944 #undef PE0 2945 #define PE0_PIN PINE0 2946 #define PE0_RPORT PINE 2947 #define PE0_WPORT PORTE 2948 #define PE0_PWM NULL 2949 #define PE0_DDR DDRE 2950 #undef PE1 2951 #define PE1_PIN PINE1 2952 #define PE1_RPORT PINE 2953 #define PE1_WPORT PORTE 2954 #define PE1_PWM NULL 2955 #define PE1_DDR DDRE 2956 #undef PE2 2957 #define PE2_PIN PINE2 2958 #define PE2_RPORT PINE 2959 #define PE2_WPORT PORTE 2960 #define PE2_PWM NULL 2961 #define PE2_DDR DDRE 2962 #undef PE3 2963 #define PE3_PIN PINE3 2964 #define PE3_RPORT PINE 2965 #define PE3_WPORT PORTE 2966 #define PE3_PWM NULL 2967 #define PE3_DDR DDRE 2968 #undef PE4 2969 #define PE4_PIN PINE4 2970 #define PE4_RPORT PINE 2971 #define PE4_WPORT PORTE 2972 #define PE4_PWM NULL 2973 #define PE4_DDR DDRE 2974 #undef PE5 2975 #define PE5_PIN PINE5 2976 #define PE5_RPORT PINE 2977 #define PE5_WPORT PORTE 2978 #define PE5_PWM NULL 2979 #define PE5_DDR DDRE 2980 #undef PE6 2981 #define PE6_PIN PINE6 2982 #define PE6_RPORT PINE 2983 #define PE6_WPORT PORTE 2984 #define PE6_PWM NULL 2985 #define PE6_DDR DDRE 2986 #undef PE7 2987 #define PE7_PIN PINE7 2988 #define PE7_RPORT PINE 2989 #define PE7_WPORT PORTE 2990 #define PE7_PWM NULL 2991 #define PE7_DDR DDRE 2992 2993 #undef PF0 2994 #define PF0_PIN PINF0 2995 #define PF0_RPORT PINF 2996 #define PF0_WPORT PORTF 2997 #define PF0_PWM NULL 2998 #define PF0_DDR DDRF 2999 #undef PF1 3000 #define PF1_PIN PINF1 3001 #define PF1_RPORT PINF 3002 #define PF1_WPORT PORTF 3003 #define PF1_PWM NULL 3004 #define PF1_DDR DDRF 3005 #undef PF2 3006 #define PF2_PIN PINF2 3007 #define PF2_RPORT PINF 3008 #define PF2_WPORT PORTF 3009 #define PF2_PWM NULL 3010 #define PF2_DDR DDRF 3011 #undef PF3 3012 #define PF3_PIN PINF3 3013 #define PF3_RPORT PINF 3014 #define PF3_WPORT PORTF 3015 #define PF3_PWM NULL 3016 #define PF3_DDR DDRF 3017 #undef PF4 3018 #define PF4_PIN PINF4 3019 #define PF4_RPORT PINF 3020 #define PF4_WPORT PORTF 3021 #define PF4_PWM NULL 3022 #define PF4_DDR DDRF 3023 #undef PF5 3024 #define PF5_PIN PINF5 3025 #define PF5_RPORT PINF 3026 #define PF5_WPORT PORTF 3027 #define PF5_PWM NULL 3028 #define PF5_DDR DDRF 3029 #undef PF6 3030 #define PF6_PIN PINF6 3031 #define PF6_RPORT PINF 3032 #define PF6_WPORT PORTF 3033 #define PF6_PWM NULL 3034 #define PF6_DDR DDRF 3035 #undef PF7 3036 #define PF7_PIN PINF7 3037 #define PF7_RPORT PINF 3038 #define PF7_WPORT PORTF 3039 #define PF7_PWM NULL 3040 #define PF7_DDR DDRF 3041 #endif 3042 3043 #ifndef DIO0_PIN 3044 #error pins for this chip not defined in arduino.h! If you write an appropriate pin definition and have this firmware work on your chip, please submit a pull request 3045 #endif 3046 3047 #endif /* _ARDUINO_H */ 3048