yarf 0.1
Yet Another RepRap Firmware
|
00001 00010 #ifndef FASTIO_H 00011 #define FASTIO_H 00012 00013 #include <avr/io.h> 00014 00015 /* 00016 utility functions 00017 */ 00018 00019 #ifndef MASK 00020 00021 #define MASK(PIN) (1 << PIN) 00022 #endif 00023 00024 /* 00025 magic I/O routines 00026 00027 now you can simply SET_OUTPUT(STEP); WRITE(STEP, 1); WRITE(STEP, 0); 00028 */ 00029 00031 #define _READ(IO) ((bool)(DIO ## IO ## _RPORT & MASK(DIO ## IO ## _PIN))) 00032 00033 #define _WRITE(IO, v) do { if (v) {DIO ## IO ## _WPORT |= MASK(DIO ## IO ## _PIN); } else {DIO ## IO ## _WPORT &= ~MASK(DIO ## IO ## _PIN); }; } while (0) 00034 00035 #define _TOGGLE(IO) do {DIO ## IO ## _RPORT = MASK(DIO ## IO ## _PIN); } while (0) 00036 00038 #define _SET_INPUT(IO) do {DIO ## IO ## _DDR &= ~MASK(DIO ## IO ## _PIN); } while (0) 00039 00040 #define _SET_OUTPUT(IO) do {DIO ## IO ## _DDR |= MASK(DIO ## IO ## _PIN); } while (0) 00041 00043 #define _GET_INPUT(IO) ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) == 0) 00044 00045 #define _GET_OUTPUT(IO) ((DIO ## IO ## _DDR & MASK(DIO ## IO ## _PIN)) != 0) 00046 00047 // why double up on these macros? see http://gcc.gnu.org/onlinedocs/cpp/Stringification.html 00048 00050 #define READ(IO) _READ(IO) 00051 00052 #define WRITE(IO, v) _WRITE(IO, v) 00053 00054 #define TOGGLE(IO) _TOGGLE(IO) 00055 00057 #define SET_INPUT(IO) _SET_INPUT(IO) 00058 00059 #define SET_OUTPUT(IO) _SET_OUTPUT(IO) 00060 00062 #define GET_INPUT(IO) _GET_INPUT(IO) 00063 00064 #define GET_OUTPUT(IO) _GET_OUTPUT(IO) 00065 00066 /* 00067 ports and functions 00068 00069 added as necessary or if I feel like it- not a comprehensive list! 00070 */ 00071 00072 #if defined (__AVR_ATmega168__) || defined (__AVR_ATmega328__) || defined (__AVR_ATmega328P__) 00073 // UART 00074 #define RXD DIO0 00075 #define TXD DIO1 00076 00077 // SPI 00078 #define SCK DIO13 00079 #define MISO DIO12 00080 #define MOSI DIO11 00081 #define SS DIO10 00082 00083 // TWI (I2C) 00084 #define SCL AIO5 00085 #define SDA AIO4 00086 00087 // timers and PWM 00088 #define OC0A DIO6 00089 #define OC0B DIO5 00090 #define OC1A DIO9 00091 #define OC1B DIO10 00092 #define OC2A DIO11 00093 #define OC2B DIO3 00094 00095 #define DEBUG_LED AIO5 00096 00097 /* 00098 pins 00099 */ 00100 00101 #define DIO0_PIN PIND0 00102 #define DIO0_RPORT PIND 00103 #define DIO0_WPORT PORTD 00104 #define DIO0_DDR DDRD 00105 #define DIO0_PWM NULL 00106 00107 #define DIO1_PIN PIND1 00108 #define DIO1_RPORT PIND 00109 #define DIO1_WPORT PORTD 00110 #define DIO1_DDR DDRD 00111 #define DIO1_PWM NULL 00112 00113 #define DIO2_PIN PIND2 00114 #define DIO2_RPORT PIND 00115 #define DIO2_WPORT PORTD 00116 #define DIO2_DDR DDRD 00117 #define DIO2_PWM NULL 00118 00119 #define DIO3_PIN PIND3 00120 #define DIO3_RPORT PIND 00121 #define DIO3_WPORT PORTD 00122 #define DIO3_DDR DDRD 00123 #define DIO3_PWM &OCR2B 00124 00125 #define DIO4_PIN PIND4 00126 #define DIO4_RPORT PIND 00127 #define DIO4_WPORT PORTD 00128 #define DIO4_DDR DDRD 00129 #define DIO4_PWM NULL 00130 00131 #define DIO5_PIN PIND5 00132 #define DIO5_RPORT PIND 00133 #define DIO5_WPORT PORTD 00134 #define DIO5_DDR DDRD 00135 #define DIO5_PWM &OCR0B 00136 00137 #define DIO6_PIN PIND6 00138 #define DIO6_RPORT PIND 00139 #define DIO6_WPORT PORTD 00140 #define DIO6_DDR DDRD 00141 #define DIO6_PWM &OCR0A 00142 00143 #define DIO7_PIN PIND7 00144 #define DIO7_RPORT PIND 00145 #define DIO7_WPORT PORTD 00146 #define DIO7_DDR DDRD 00147 #define DIO7_PWM NULL 00148 00149 #define DIO8_PIN PINB0 00150 #define DIO8_RPORT PINB 00151 #define DIO8_WPORT PORTB 00152 #define DIO8_DDR DDRB 00153 #define DIO8_PWM NULL 00154 00155 #define DIO9_PIN PINB1 00156 #define DIO9_RPORT PINB 00157 #define DIO9_WPORT PORTB 00158 #define DIO9_DDR DDRB 00159 #define DIO9_PWM NULL 00160 00161 #define DIO10_PIN PINB2 00162 #define DIO10_RPORT PINB 00163 #define DIO10_WPORT PORTB 00164 #define DIO10_DDR DDRB 00165 #define DIO10_PWM NULL 00166 00167 #define DIO11_PIN PINB3 00168 #define DIO11_RPORT PINB 00169 #define DIO11_WPORT PORTB 00170 #define DIO11_DDR DDRB 00171 #define DIO11_PWM &OCR2A 00172 00173 #define DIO12_PIN PINB4 00174 #define DIO12_RPORT PINB 00175 #define DIO12_WPORT PORTB 00176 #define DIO12_DDR DDRB 00177 #define DIO12_PWM NULL 00178 00179 #define DIO13_PIN PINB5 00180 #define DIO13_RPORT PINB 00181 #define DIO13_WPORT PORTB 00182 #define DIO13_DDR DDRB 00183 #define DIO13_PWM NULL 00184 00185 00186 #define DIO14_PIN PINC0 00187 #define DIO14_RPORT PINC 00188 #define DIO14_WPORT PORTC 00189 #define DIO14_DDR DDRC 00190 #define DIO14_PWM NULL 00191 00192 #define DIO15_PIN PINC1 00193 #define DIO15_RPORT PINC 00194 #define DIO15_WPORT PORTC 00195 #define DIO15_DDR DDRC 00196 #define DIO15_PWM NULL 00197 00198 #define DIO16_PIN PINC2 00199 #define DIO16_RPORT PINC 00200 #define DIO16_WPORT PORTC 00201 #define DIO16_DDR DDRC 00202 #define DIO16_PWM NULL 00203 00204 #define DIO17_PIN PINC3 00205 #define DIO17_RPORT PINC 00206 #define DIO17_WPORT PORTC 00207 #define DIO17_DDR DDRC 00208 #define DIO17_PWM NULL 00209 00210 #define DIO18_PIN PINC4 00211 #define DIO18_RPORT PINC 00212 #define DIO18_WPORT PORTC 00213 #define DIO18_DDR DDRC 00214 #define DIO18_PWM NULL 00215 00216 #define DIO19_PIN PINC5 00217 #define DIO19_RPORT PINC 00218 #define DIO19_WPORT PORTC 00219 #define DIO19_DDR DDRC 00220 #define DIO19_PWM NULL 00221 00222 #define DIO20_PIN PINC6 00223 #define DIO20_RPORT PINC 00224 #define DIO20_WPORT PORTC 00225 #define DIO20_DDR DDRC 00226 #define DIO20_PWM NULL 00227 00228 #define DIO21_PIN PINC7 00229 #define DIO21_RPORT PINC 00230 #define DIO21_WPORT PORTC 00231 #define DIO21_DDR DDRC 00232 #define DIO21_PWM NULL 00233 00234 00235 00236 #undef PB0 00237 #define PB0_PIN PINB0 00238 #define PB0_RPORT PINB 00239 #define PB0_WPORT PORTB 00240 #define PB0_DDR DDRB 00241 #define PB0_PWM NULL 00242 00243 #undef PB1 00244 #define PB1_PIN PINB1 00245 #define PB1_RPORT PINB 00246 #define PB1_WPORT PORTB 00247 #define PB1_DDR DDRB 00248 #define PB1_PWM NULL 00249 00250 #undef PB2 00251 #define PB2_PIN PINB2 00252 #define PB2_RPORT PINB 00253 #define PB2_WPORT PORTB 00254 #define PB2_DDR DDRB 00255 #define PB2_PWM NULL 00256 00257 #undef PB3 00258 #define PB3_PIN PINB3 00259 #define PB3_RPORT PINB 00260 #define PB3_WPORT PORTB 00261 #define PB3_DDR DDRB 00262 #define PB3_PWM &OCR2A 00263 00264 #undef PB4 00265 #define PB4_PIN PINB4 00266 #define PB4_RPORT PINB 00267 #define PB4_WPORT PORTB 00268 #define PB4_DDR DDRB 00269 #define PB4_PWM NULL 00270 00271 #undef PB5 00272 #define PB5_PIN PINB5 00273 #define PB5_RPORT PINB 00274 #define PB5_WPORT PORTB 00275 #define PB5_DDR DDRB 00276 #define PB5_PWM NULL 00277 00278 #undef PB6 00279 #define PB6_PIN PINB6 00280 #define PB6_RPORT PINB 00281 #define PB6_WPORT PORTB 00282 #define PB6_DDR DDRB 00283 #define PB6_PWM NULL 00284 00285 #undef PB7 00286 #define PB7_PIN PINB7 00287 #define PB7_RPORT PINB 00288 #define PB7_WPORT PORTB 00289 #define PB7_DDR DDRB 00290 #define PB7_PWM NULL 00291 00292 00293 #undef PC0 00294 #define PC0_PIN PINC0 00295 #define PC0_RPORT PINC 00296 #define PC0_WPORT PORTC 00297 #define PC0_DDR DDRC 00298 #define PC0_PWM NULL 00299 00300 #undef PC1 00301 #define PC1_PIN PINC1 00302 #define PC1_RPORT PINC 00303 #define PC1_WPORT PORTC 00304 #define PC1_DDR DDRC 00305 #define PC1_PWM NULL 00306 00307 #undef PC2 00308 #define PC2_PIN PINC2 00309 #define PC2_RPORT PINC 00310 #define PC2_WPORT PORTC 00311 #define PC2_DDR DDRC 00312 #define PC2_PWM NULL 00313 00314 #undef PC3 00315 #define PC3_PIN PINC3 00316 #define PC3_RPORT PINC 00317 #define PC3_WPORT PORTC 00318 #define PC3_DDR DDRC 00319 #define PC3_PWM NULL 00320 00321 #undef PC4 00322 #define PC4_PIN PINC4 00323 #define PC4_RPORT PINC 00324 #define PC4_WPORT PORTC 00325 #define PC4_DDR DDRC 00326 #define PC4_PWM NULL 00327 00328 #undef PC5 00329 #define PC5_PIN PINC5 00330 #define PC5_RPORT PINC 00331 #define PC5_WPORT PORTC 00332 #define PC5_DDR DDRC 00333 #define PC5_PWM NULL 00334 00335 #undef PC6 00336 #define PC6_PIN PINC6 00337 #define PC6_RPORT PINC 00338 #define PC6_WPORT PORTC 00339 #define PC6_DDR DDRC 00340 #define PC6_PWM NULL 00341 00342 #undef PC7 00343 #define PC7_PIN PINC7 00344 #define PC7_RPORT PINC 00345 #define PC7_WPORT PORTC 00346 #define PC7_DDR DDRC 00347 #define PC7_PWM NULL 00348 00349 00350 #undef PD0 00351 #define PD0_PIN PIND0 00352 #define PD0_RPORT PIND 00353 #define PD0_WPORT PORTD 00354 #define PD0_DDR DDRD 00355 #define PD0_PWM NULL 00356 00357 #undef PD1 00358 #define PD1_PIN PIND1 00359 #define PD1_RPORT PIND 00360 #define PD1_WPORT PORTD 00361 #define PD1_DDR DDRD 00362 #define PD1_PWM NULL 00363 00364 #undef PD2 00365 #define PD2_PIN PIND2 00366 #define PD2_RPORT PIND 00367 #define PD2_WPORT PORTD 00368 #define PD2_DDR DDRD 00369 #define PD2_PWM NULL 00370 00371 #undef PD3 00372 #define PD3_PIN PIND3 00373 #define PD3_RPORT PIND 00374 #define PD3_WPORT PORTD 00375 #define PD3_DDR DDRD 00376 #define PD3_PWM &OCR2B 00377 00378 #undef PD4 00379 #define PD4_PIN PIND4 00380 #define PD4_RPORT PIND 00381 #define PD4_WPORT PORTD 00382 #define PD4_DDR DDRD 00383 #define PD4_PWM NULL 00384 00385 #undef PD5 00386 #define PD5_PIN PIND5 00387 #define PD5_RPORT PIND 00388 #define PD5_WPORT PORTD 00389 #define PD5_DDR DDRD 00390 #define PD5_PWM &OCR0B 00391 00392 #undef PD6 00393 #define PD6_PIN PIND6 00394 #define PD6_RPORT PIND 00395 #define PD6_WPORT PORTD 00396 #define PD6_DDR DDRD 00397 #define PD6_PWM &OCR0A 00398 00399 #undef PD7 00400 #define PD7_PIN PIND7 00401 #define PD7_RPORT PIND 00402 #define PD7_WPORT PORTD 00403 #define PD7_DDR DDRD 00404 #define PD7_PWM NULL 00405 #endif /* _AVR_ATmega{168,328,328P}__ */ 00406 00407 #if defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__) || defined(__AVR_ATmega1284P__) 00408 // UART 00409 #define RXD DIO8 00410 #define TXD DIO9 00411 #define RXD0 DIO8 00412 #define TXD0 DIO9 00413 00414 #define RXD1 DIO10 00415 #define TXD1 DIO11 00416 00417 // SPI 00418 #define SCK DIO7 00419 #define MISO DIO6 00420 #define MOSI DIO5 00421 #define SS DIO4 00422 00423 // TWI (I2C) 00424 #define SCL DIO16 00425 #define SDA DIO17 00426 00427 // timers and PWM 00428 #define OC0A DIO3 00429 #define OC0B DIO4 00430 #define OC1A DIO13 00431 #define OC1B DIO12 00432 #define OC2A DIO15 00433 #define OC2B DIO14 00434 00435 #define DEBUG_LED DIO0 00436 /* 00437 pins 00438 */ 00439 00440 #define DIO0_PIN PINB0 00441 #define DIO0_RPORT PINB 00442 #define DIO0_WPORT PORTB 00443 #define DIO0_DDR DDRB 00444 #define DIO0_PWM NULL 00445 00446 #define DIO1_PIN PINB1 00447 #define DIO1_RPORT PINB 00448 #define DIO1_WPORT PORTB 00449 #define DIO1_DDR DDRB 00450 #define DIO1_PWM NULL 00451 00452 #define DIO2_PIN PINB2 00453 #define DIO2_RPORT PINB 00454 #define DIO2_WPORT PORTB 00455 #define DIO2_DDR DDRB 00456 #define DIO2_PWM NULL 00457 00458 #define DIO3_PIN PINB3 00459 #define DIO3_RPORT PINB 00460 #define DIO3_WPORT PORTB 00461 #define DIO3_DDR DDRB 00462 #define DIO3_PWM &OCR0A 00463 00464 #define DIO4_PIN PINB4 00465 #define DIO4_RPORT PINB 00466 #define DIO4_WPORT PORTB 00467 #define DIO4_DDR DDRB 00468 #define DIO4_PWM &OCR0B 00469 00470 #define DIO5_PIN PINB5 00471 #define DIO5_RPORT PINB 00472 #define DIO5_WPORT PORTB 00473 #define DIO5_DDR DDRB 00474 #define DIO5_PWM NULL 00475 00476 #define DIO6_PIN PINB6 00477 #define DIO6_RPORT PINB 00478 #define DIO6_WPORT PORTB 00479 #define DIO6_DDR DDRB 00480 #define DIO6_PWM NULL 00481 00482 #define DIO7_PIN PINB7 00483 #define DIO7_RPORT PINB 00484 #define DIO7_WPORT PORTB 00485 #define DIO7_DDR DDRB 00486 #define DIO7_PWM NULL 00487 00488 #define DIO8_PIN PIND0 00489 #define DIO8_RPORT PIND 00490 #define DIO8_WPORT PORTD 00491 #define DIO8_DDR DDRD 00492 #define DIO8_PWM NULL 00493 00494 #define DIO9_PIN PIND1 00495 #define DIO9_RPORT PIND 00496 #define DIO9_WPORT PORTD 00497 #define DIO9_DDR DDRD 00498 #define DIO9_PWM NULL 00499 00500 #define DIO10_PIN PIND2 00501 #define DIO10_RPORT PIND 00502 #define DIO10_WPORT PORTD 00503 #define DIO10_DDR DDRD 00504 #define DIO10_PWM NULL 00505 00506 #define DIO11_PIN PIND3 00507 #define DIO11_RPORT PIND 00508 #define DIO11_WPORT PORTD 00509 #define DIO11_DDR DDRD 00510 #define DIO11_PWM NULL 00511 00512 #define DIO12_PIN PIND4 00513 #define DIO12_RPORT PIND 00514 #define DIO12_WPORT PORTD 00515 #define DIO12_DDR DDRD 00516 #define DIO12_PWM NULL 00517 00518 #define DIO13_PIN PIND5 00519 #define DIO13_RPORT PIND 00520 #define DIO13_WPORT PORTD 00521 #define DIO13_DDR DDRD 00522 #define DIO13_PWM NULL 00523 00524 #define DIO14_PIN PIND6 00525 #define DIO14_RPORT PIND 00526 #define DIO14_WPORT PORTD 00527 #define DIO14_DDR DDRD 00528 #define DIO14_PWM &OCR2B 00529 00530 #define DIO15_PIN PIND7 00531 #define DIO15_RPORT PIND 00532 #define DIO15_WPORT PORTD 00533 #define DIO15_DDR DDRD 00534 #define DIO15_PWM &OCR2A 00535 00536 #define DIO16_PIN PINC0 00537 #define DIO16_RPORT PINC 00538 #define DIO16_WPORT PORTC 00539 #define DIO16_DDR DDRC 00540 #define DIO16_PWM NULL 00541 00542 #define DIO17_PIN PINC1 00543 #define DIO17_RPORT PINC 00544 #define DIO17_WPORT PORTC 00545 #define DIO17_DDR DDRC 00546 #define DIO17_PWM NULL 00547 00548 #define DIO18_PIN PINC2 00549 #define DIO18_RPORT PINC 00550 #define DIO18_WPORT PORTC 00551 #define DIO18_DDR DDRC 00552 #define DIO18_PWM NULL 00553 00554 #define DIO19_PIN PINC3 00555 #define DIO19_RPORT PINC 00556 #define DIO19_WPORT PORTC 00557 #define DIO19_DDR DDRC 00558 #define DIO19_PWM NULL 00559 00560 #define DIO20_PIN PINC4 00561 #define DIO20_RPORT PINC 00562 #define DIO20_WPORT PORTC 00563 #define DIO20_DDR DDRC 00564 #define DIO20_PWM NULL 00565 00566 #define DIO21_PIN PINC5 00567 #define DIO21_RPORT PINC 00568 #define DIO21_WPORT PORTC 00569 #define DIO21_DDR DDRC 00570 #define DIO21_PWM NULL 00571 00572 #define DIO22_PIN PINC6 00573 #define DIO22_RPORT PINC 00574 #define DIO22_WPORT PORTC 00575 #define DIO22_DDR DDRC 00576 #define DIO22_PWM NULL 00577 00578 #define DIO23_PIN PINC7 00579 #define DIO23_RPORT PINC 00580 #define DIO23_WPORT PORTC 00581 #define DIO23_DDR DDRC 00582 #define DIO23_PWM NULL 00583 00584 #define DIO24_PIN PINA7 00585 #define DIO24_RPORT PINA 00586 #define DIO24_WPORT PORTA 00587 #define DIO24_DDR DDRA 00588 #define DIO24_PWM NULL 00589 00590 #define DIO25_PIN PINA6 00591 #define DIO25_RPORT PINA 00592 #define DIO25_WPORT PORTA 00593 #define DIO25_DDR DDRA 00594 #define DIO25_PWM NULL 00595 00596 #define DIO26_PIN PINA5 00597 #define DIO26_RPORT PINA 00598 #define DIO26_WPORT PORTA 00599 #define DIO26_DDR DDRA 00600 #define DIO26_PWM NULL 00601 00602 #define DIO27_PIN PINA4 00603 #define DIO27_RPORT PINA 00604 #define DIO27_WPORT PORTA 00605 #define DIO27_DDR DDRA 00606 #define DIO27_PWM NULL 00607 00608 #define DIO28_PIN PINA3 00609 #define DIO28_RPORT PINA 00610 #define DIO28_WPORT PORTA 00611 #define DIO28_DDR DDRA 00612 #define DIO28_PWM NULL 00613 00614 #define DIO29_PIN PINA2 00615 #define DIO29_RPORT PINA 00616 #define DIO29_WPORT PORTA 00617 #define DIO29_DDR DDRA 00618 #define DIO29_PWM NULL 00619 00620 #define DIO30_PIN PINA1 00621 #define DIO30_RPORT PINA 00622 #define DIO30_WPORT PORTA 00623 #define DIO30_DDR DDRA 00624 #define DIO30_PWM NULL 00625 00626 #define DIO31_PIN PINA0 00627 #define DIO31_RPORT PINA 00628 #define DIO31_WPORT PORTA 00629 #define DIO31_DDR DDRA 00630 #define DIO31_PWM NULL 00631 00632 #define AIO0_PIN PINA0 00633 #define AIO0_RPORT PINA 00634 #define AIO0_WPORT PORTA 00635 #define AIO0_DDR DDRA 00636 #define AIO0_PWM NULL 00637 00638 #define AIO1_PIN PINA1 00639 #define AIO1_RPORT PINA 00640 #define AIO1_WPORT PORTA 00641 #define AIO1_DDR DDRA 00642 #define AIO1_PWM NULL 00643 00644 #define AIO2_PIN PINA2 00645 #define AIO2_RPORT PINA 00646 #define AIO2_WPORT PORTA 00647 #define AIO2_DDR DDRA 00648 #define AIO2_PWM NULL 00649 00650 #define AIO3_PIN PINA3 00651 #define AIO3_RPORT PINA 00652 #define AIO3_WPORT PORTA 00653 #define AIO3_DDR DDRA 00654 #define AIO3_PWM NULL 00655 00656 #define AIO4_PIN PINA4 00657 #define AIO4_RPORT PINA 00658 #define AIO4_WPORT PORTA 00659 #define AIO4_DDR DDRA 00660 #define AIO4_PWM NULL 00661 00662 #define AIO5_PIN PINA5 00663 #define AIO5_RPORT PINA 00664 #define AIO5_WPORT PORTA 00665 #define AIO5_DDR DDRA 00666 #define AIO5_PWM NULL 00667 00668 #define AIO6_PIN PINA6 00669 #define AIO6_RPORT PINA 00670 #define AIO6_WPORT PORTA 00671 #define AIO6_DDR DDRA 00672 #define AIO6_PWM NULL 00673 00674 #define AIO7_PIN PINA7 00675 #define AIO7_RPORT PINA 00676 #define AIO7_WPORT PORTA 00677 #define AIO7_DDR DDRA 00678 #define AIO7_PWM NULL 00679 00680 00681 00682 #undef PA0 00683 #define PA0_PIN PINA0 00684 #define PA0_RPORT PINA 00685 #define PA0_WPORT PORTA 00686 #define PA0_DDR DDRA 00687 #define PA0_PWM NULL 00688 00689 #undef PA1 00690 #define PA1_PIN PINA1 00691 #define PA1_RPORT PINA 00692 #define PA1_WPORT PORTA 00693 #define PA1_DDR DDRA 00694 #define PA1_PWM NULL 00695 00696 #undef PA2 00697 #define PA2_PIN PINA2 00698 #define PA2_RPORT PINA 00699 #define PA2_WPORT PORTA 00700 #define PA2_DDR DDRA 00701 #define PA2_PWM NULL 00702 00703 #undef PA3 00704 #define PA3_PIN PINA3 00705 #define PA3_RPORT PINA 00706 #define PA3_WPORT PORTA 00707 #define PA3_DDR DDRA 00708 #define PA3_PWM NULL 00709 00710 #undef PA4 00711 #define PA4_PIN PINA4 00712 #define PA4_RPORT PINA 00713 #define PA4_WPORT PORTA 00714 #define PA4_DDR DDRA 00715 #define PA4_PWM NULL 00716 00717 #undef PA5 00718 #define PA5_PIN PINA5 00719 #define PA5_RPORT PINA 00720 #define PA5_WPORT PORTA 00721 #define PA5_DDR DDRA 00722 #define PA5_PWM NULL 00723 00724 #undef PA6 00725 #define PA6_PIN PINA6 00726 #define PA6_RPORT PINA 00727 #define PA6_WPORT PORTA 00728 #define PA6_DDR DDRA 00729 #define PA6_PWM NULL 00730 00731 #undef PA7 00732 #define PA7_PIN PINA7 00733 #define PA7_RPORT PINA 00734 #define PA7_WPORT PORTA 00735 #define PA7_DDR DDRA 00736 #define PA7_PWM NULL 00737 00738 00739 #undef PB0 00740 #define PB0_PIN PINB0 00741 #define PB0_RPORT PINB 00742 #define PB0_WPORT PORTB 00743 #define PB0_DDR DDRB 00744 #define PB0_PWM NULL 00745 00746 #undef PB1 00747 #define PB1_PIN PINB1 00748 #define PB1_RPORT PINB 00749 #define PB1_WPORT PORTB 00750 #define PB1_DDR DDRB 00751 #define PB1_PWM NULL 00752 00753 #undef PB2 00754 #define PB2_PIN PINB2 00755 #define PB2_RPORT PINB 00756 #define PB2_WPORT PORTB 00757 #define PB2_DDR DDRB 00758 #define PB2_PWM NULL 00759 00760 #undef PB3 00761 #define PB3_PIN PINB3 00762 #define PB3_RPORT PINB 00763 #define PB3_WPORT PORTB 00764 #define PB3_DDR DDRB 00765 #define PB3_PWM &OCR0A 00766 00767 #undef PB4 00768 #define PB4_PIN PINB4 00769 #define PB4_RPORT PINB 00770 #define PB4_WPORT PORTB 00771 #define PB4_DDR DDRB 00772 #define PB4_PWM &OCR0B 00773 00774 #undef PB5 00775 #define PB5_PIN PINB5 00776 #define PB5_RPORT PINB 00777 #define PB5_WPORT PORTB 00778 #define PB5_DDR DDRB 00779 #define PB5_PWM NULL 00780 00781 #undef PB6 00782 #define PB6_PIN PINB6 00783 #define PB6_RPORT PINB 00784 #define PB6_WPORT PORTB 00785 #define PB6_DDR DDRB 00786 #define PB6_PWM NULL 00787 00788 #undef PB7 00789 #define PB7_PIN PINB7 00790 #define PB7_RPORT PINB 00791 #define PB7_WPORT PORTB 00792 #define PB7_DDR DDRB 00793 #define PB7_PWM NULL 00794 00795 00796 #undef PC0 00797 #define PC0_PIN PINC0 00798 #define PC0_RPORT PINC 00799 #define PC0_WPORT PORTC 00800 #define PC0_DDR DDRC 00801 #define PC0_PWM NULL 00802 00803 #undef PC1 00804 #define PC1_PIN PINC1 00805 #define PC1_RPORT PINC 00806 #define PC1_WPORT PORTC 00807 #define PC1_DDR DDRC 00808 #define PC1_PWM NULL 00809 00810 #undef PC2 00811 #define PC2_PIN PINC2 00812 #define PC2_RPORT PINC 00813 #define PC2_WPORT PORTC 00814 #define PC2_DDR DDRC 00815 #define PC2_PWM NULL 00816 00817 #undef PC3 00818 #define PC3_PIN PINC3 00819 #define PC3_RPORT PINC 00820 #define PC3_WPORT PORTC 00821 #define PC3_DDR DDRC 00822 #define PC3_PWM NULL 00823 00824 #undef PC4 00825 #define PC4_PIN PINC4 00826 #define PC4_RPORT PINC 00827 #define PC4_WPORT PORTC 00828 #define PC4_DDR DDRC 00829 #define PC4_PWM NULL 00830 00831 #undef PC5 00832 #define PC5_PIN PINC5 00833 #define PC5_RPORT PINC 00834 #define PC5_WPORT PORTC 00835 #define PC5_DDR DDRC 00836 #define PC5_PWM NULL 00837 00838 #undef PC6 00839 #define PC6_PIN PINC6 00840 #define PC6_RPORT PINC 00841 #define PC6_WPORT PORTC 00842 #define PC6_DDR DDRC 00843 #define PC6_PWM NULL 00844 00845 #undef PC7 00846 #define PC7_PIN PINC7 00847 #define PC7_RPORT PINC 00848 #define PC7_WPORT PORTC 00849 #define PC7_DDR DDRC 00850 #define PC7_PWM NULL 00851 00852 00853 #undef PD0 00854 #define PD0_PIN PIND0 00855 #define PD0_RPORT PIND 00856 #define PD0_WPORT PORTD 00857 #define PD0_DDR DDRD 00858 #define PD0_PWM NULL 00859 00860 #undef PD1 00861 #define PD1_PIN PIND1 00862 #define PD1_RPORT PIND 00863 #define PD1_WPORT PORTD 00864 #define PD1_DDR DDRD 00865 #define PD1_PWM NULL 00866 00867 #undef PD2 00868 #define PD2_PIN PIND2 00869 #define PD2_RPORT PIND 00870 #define PD2_WPORT PORTD 00871 #define PD2_DDR DDRD 00872 #define PD2_PWM NULL 00873 00874 #undef PD3 00875 #define PD3_PIN PIND3 00876 #define PD3_RPORT PIND 00877 #define PD3_WPORT PORTD 00878 #define PD3_DDR DDRD 00879 #define PD3_PWM NULL 00880 00881 #undef PD4 00882 #define PD4_PIN PIND4 00883 #define PD4_RPORT PIND 00884 #define PD4_WPORT PORTD 00885 #define PD4_DDR DDRD 00886 #define PD4_PWM NULL 00887 00888 #undef PD5 00889 #define PD5_PIN PIND5 00890 #define PD5_RPORT PIND 00891 #define PD5_WPORT PORTD 00892 #define PD5_DDR DDRD 00893 #define PD5_PWM NULL 00894 00895 #undef PD6 00896 #define PD6_PIN PIND6 00897 #define PD6_RPORT PIND 00898 #define PD6_WPORT PORTD 00899 #define PD6_DDR DDRD 00900 #define PD6_PWM &OCR2B 00901 00902 #undef PD7 00903 #define PD7_PIN PIND7 00904 #define PD7_RPORT PIND 00905 #define PD7_WPORT PORTD 00906 #define PD7_DDR DDRD 00907 #define PD7_PWM &OCR2A 00908 #endif /* _AVR_ATmega{644,644P,644PA,1284P}__ */ 00909 00910 #if defined (__AVR_ATmega1280__) || defined (__AVR_ATmega2560__) 00911 // UART 00912 #define RXD DIO0 00913 #define TXD DIO1 00914 00915 // SPI 00916 #define SCK DIO52 00917 #define MISO DIO50 00918 #define MOSI DIO51 00919 #define SS DIO53 00920 00921 // TWI (I2C) 00922 #define SCL DIO21 00923 #define SDA DIO20 00924 00925 // timers and PWM 00926 #define OC0A DIO13 00927 #define OC0B DIO4 00928 #define OC1A DIO11 00929 #define OC1B DIO12 00930 #define OC2A DIO10 00931 #define OC2B DIO9 00932 #define OC3A DIO5 00933 #define OC3B DIO2 00934 #define OC3C DIO3 00935 #define OC4A DIO6 00936 #define OC4B DIO7 00937 #define OC4C DIO8 00938 #define OC5A DIO46 00939 #define OC5B DIO45 00940 #define OC5C DIO44 00941 00942 // change for your board 00943 #define DEBUG_LED DIO21 00944 00945 /* 00946 pins 00947 */ 00948 #define DIO0_PIN PINE0 00949 #define DIO0_RPORT PINE 00950 #define DIO0_WPORT PORTE 00951 #define DIO0_DDR DDRE 00952 #define DIO0_PWM NULL 00953 00954 #define DIO1_PIN PINE1 00955 #define DIO1_RPORT PINE 00956 #define DIO1_WPORT PORTE 00957 #define DIO1_DDR DDRE 00958 #define DIO1_PWM NULL 00959 00960 #define DIO2_PIN PINE4 00961 #define DIO2_RPORT PINE 00962 #define DIO2_WPORT PORTE 00963 #define DIO2_DDR DDRE 00964 #define DIO2_PWM &OCR3BL 00965 00966 #define DIO3_PIN PINE5 00967 #define DIO3_RPORT PINE 00968 #define DIO3_WPORT PORTE 00969 #define DIO3_DDR DDRE 00970 #define DIO3_PWM &OCR3CL 00971 00972 #define DIO4_PIN PING5 00973 #define DIO4_RPORT PING 00974 #define DIO4_WPORT PORTG 00975 #define DIO4_DDR DDRG 00976 #define DIO4_PWM &OCR0B 00977 00978 #define DIO5_PIN PINE3 00979 #define DIO5_RPORT PINE 00980 #define DIO5_WPORT PORTE 00981 #define DIO5_DDR DDRE 00982 #define DIO5_PWM &OCR3AL 00983 00984 #define DIO6_PIN PINH3 00985 #define DIO6_RPORT PINH 00986 #define DIO6_WPORT PORTH 00987 #define DIO6_DDR DDRH 00988 #define DIO6_PWM &OCR4AL 00989 00990 #define DIO7_PIN PINH4 00991 #define DIO7_RPORT PINH 00992 #define DIO7_WPORT PORTH 00993 #define DIO7_DDR DDRH 00994 #define DIO7_PWM &OCR4BL 00995 00996 #define DIO8_PIN PINH5 00997 #define DIO8_RPORT PINH 00998 #define DIO8_WPORT PORTH 00999 #define DIO8_DDR DDRH 01000 #define DIO8_PWM &OCR4CL 01001 01002 #define DIO9_PIN PINH6 01003 #define DIO9_RPORT PINH 01004 #define DIO9_WPORT PORTH 01005 #define DIO9_DDR DDRH 01006 #define DIO9_PWM &OCR2B 01007 01008 #define DIO10_PIN PINB4 01009 #define DIO10_RPORT PINB 01010 #define DIO10_WPORT PORTB 01011 #define DIO10_DDR DDRB 01012 #define DIO10_PWM &OCR2A 01013 01014 #define DIO11_PIN PINB5 01015 #define DIO11_RPORT PINB 01016 #define DIO11_WPORT PORTB 01017 #define DIO11_DDR DDRB 01018 #define DIO11_PWM NULL 01019 01020 #define DIO12_PIN PINB6 01021 #define DIO12_RPORT PINB 01022 #define DIO12_WPORT PORTB 01023 #define DIO12_DDR DDRB 01024 #define DIO12_PWM NULL 01025 01026 #define DIO13_PIN PINB7 01027 #define DIO13_RPORT PINB 01028 #define DIO13_WPORT PORTB 01029 #define DIO13_DDR DDRB 01030 #define DIO13_PWM &OCR0A 01031 01032 #define DIO14_PIN PINJ1 01033 #define DIO14_RPORT PINJ 01034 #define DIO14_WPORT PORTJ 01035 #define DIO14_DDR DDRJ 01036 #define DIO14_PWM NULL 01037 01038 #define DIO15_PIN PINJ0 01039 #define DIO15_RPORT PINJ 01040 #define DIO15_WPORT PORTJ 01041 #define DIO15_DDR DDRJ 01042 #define DIO15_PWM NULL 01043 01044 #define DIO16_PIN PINH1 01045 #define DIO16_RPORT PINH 01046 #define DIO16_WPORT PORTH 01047 #define DIO16_DDR DDRH 01048 #define DIO16_PWM NULL 01049 01050 #define DIO17_PIN PINH0 01051 #define DIO17_RPORT PINH 01052 #define DIO17_WPORT PORTH 01053 #define DIO17_DDR DDRH 01054 #define DIO17_PWM NULL 01055 01056 #define DIO18_PIN PIND3 01057 #define DIO18_RPORT PIND 01058 #define DIO18_WPORT PORTD 01059 #define DIO18_DDR DDRD 01060 #define DIO18_PWM NULL 01061 01062 #define DIO19_PIN PIND2 01063 #define DIO19_RPORT PIND 01064 #define DIO19_WPORT PORTD 01065 #define DIO19_DDR DDRD 01066 #define DIO19_PWM NULL 01067 01068 #define DIO20_PIN PIND1 01069 #define DIO20_RPORT PIND 01070 #define DIO20_WPORT PORTD 01071 #define DIO20_DDR DDRD 01072 #define DIO20_PWM NULL 01073 01074 #define DIO21_PIN PIND0 01075 #define DIO21_RPORT PIND 01076 #define DIO21_WPORT PORTD 01077 #define DIO21_DDR DDRD 01078 #define DIO21_PWM NULL 01079 01080 #define DIO22_PIN PINA0 01081 #define DIO22_RPORT PINA 01082 #define DIO22_WPORT PORTA 01083 #define DIO22_DDR DDRA 01084 #define DIO22_PWM NULL 01085 01086 #define DIO23_PIN PINA1 01087 #define DIO23_RPORT PINA 01088 #define DIO23_WPORT PORTA 01089 #define DIO23_DDR DDRA 01090 #define DIO23_PWM NULL 01091 01092 #define DIO24_PIN PINA2 01093 #define DIO24_RPORT PINA 01094 #define DIO24_WPORT PORTA 01095 #define DIO24_DDR DDRA 01096 #define DIO24_PWM NULL 01097 01098 #define DIO25_PIN PINA3 01099 #define DIO25_RPORT PINA 01100 #define DIO25_WPORT PORTA 01101 #define DIO25_DDR DDRA 01102 #define DIO25_PWM NULL 01103 01104 #define DIO26_PIN PINA4 01105 #define DIO26_RPORT PINA 01106 #define DIO26_WPORT PORTA 01107 #define DIO26_DDR DDRA 01108 #define DIO26_PWM NULL 01109 01110 #define DIO27_PIN PINA5 01111 #define DIO27_RPORT PINA 01112 #define DIO27_WPORT PORTA 01113 #define DIO27_DDR DDRA 01114 #define DIO27_PWM NULL 01115 01116 #define DIO28_PIN PINA6 01117 #define DIO28_RPORT PINA 01118 #define DIO28_WPORT PORTA 01119 #define DIO28_DDR DDRA 01120 #define DIO28_PWM NULL 01121 01122 #define DIO29_PIN PINA7 01123 #define DIO29_RPORT PINA 01124 #define DIO29_WPORT PORTA 01125 #define DIO29_DDR DDRA 01126 #define DIO29_PWM NULL 01127 01128 #define DIO30_PIN PINC7 01129 #define DIO30_RPORT PINC 01130 #define DIO30_WPORT PORTC 01131 #define DIO30_DDR DDRC 01132 #define DIO30_PWM NULL 01133 01134 #define DIO31_PIN PINC6 01135 #define DIO31_RPORT PINC 01136 #define DIO31_WPORT PORTC 01137 #define DIO31_DDR DDRC 01138 #define DIO31_PWM NULL 01139 01140 #define DIO32_PIN PINC5 01141 #define DIO32_RPORT PINC 01142 #define DIO32_WPORT PORTC 01143 #define DIO32_DDR DDRC 01144 #define DIO32_PWM NULL 01145 01146 #define DIO33_PIN PINC4 01147 #define DIO33_RPORT PINC 01148 #define DIO33_WPORT PORTC 01149 #define DIO33_DDR DDRC 01150 #define DIO33_PWM NULL 01151 01152 #define DIO34_PIN PINC3 01153 #define DIO34_RPORT PINC 01154 #define DIO34_WPORT PORTC 01155 #define DIO34_DDR DDRC 01156 #define DIO34_PWM NULL 01157 01158 #define DIO35_PIN PINC2 01159 #define DIO35_RPORT PINC 01160 #define DIO35_WPORT PORTC 01161 #define DIO35_DDR DDRC 01162 #define DIO35_PWM NULL 01163 01164 #define DIO36_PIN PINC1 01165 #define DIO36_RPORT PINC 01166 #define DIO36_WPORT PORTC 01167 #define DIO36_DDR DDRC 01168 #define DIO36_PWM NULL 01169 01170 #define DIO37_PIN PINC0 01171 #define DIO37_RPORT PINC 01172 #define DIO37_WPORT PORTC 01173 #define DIO37_DDR DDRC 01174 #define DIO37_PWM NULL 01175 01176 #define DIO38_PIN PIND7 01177 #define DIO38_RPORT PIND 01178 #define DIO38_WPORT PORTD 01179 #define DIO38_DDR DDRD 01180 #define DIO38_PWM NULL 01181 01182 #define DIO39_PIN PING2 01183 #define DIO39_RPORT PING 01184 #define DIO39_WPORT PORTG 01185 #define DIO39_DDR DDRG 01186 #define DIO39_PWM NULL 01187 01188 #define DIO40_PIN PING1 01189 #define DIO40_RPORT PING 01190 #define DIO40_WPORT PORTG 01191 #define DIO40_DDR DDRG 01192 #define DIO40_PWM NULL 01193 01194 #define DIO41_PIN PING0 01195 #define DIO41_RPORT PING 01196 #define DIO41_WPORT PORTG 01197 #define DIO41_DDR DDRG 01198 #define DIO41_PWM NULL 01199 01200 #define DIO42_PIN PINL7 01201 #define DIO42_RPORT PINL 01202 #define DIO42_WPORT PORTL 01203 #define DIO42_DDR DDRL 01204 #define DIO42_PWM NULL 01205 01206 #define DIO43_PIN PINL6 01207 #define DIO43_RPORT PINL 01208 #define DIO43_WPORT PORTL 01209 #define DIO43_DDR DDRL 01210 #define DIO43_PWM NULL 01211 01212 #define DIO44_PIN PINL5 01213 #define DIO44_RPORT PINL 01214 #define DIO44_WPORT PORTL 01215 #define DIO44_DDR DDRL 01216 #define DIO44_PWM &OCR5CL 01217 01218 #define DIO45_PIN PINL4 01219 #define DIO45_RPORT PINL 01220 #define DIO45_WPORT PORTL 01221 #define DIO45_DDR DDRL 01222 #define DIO45_PWM &OCR5BL 01223 01224 #define DIO46_PIN PINL3 01225 #define DIO46_RPORT PINL 01226 #define DIO46_WPORT PORTL 01227 #define DIO46_DDR DDRL 01228 #define DIO46_PWM &OCR5AL 01229 01230 #define DIO47_PIN PINL2 01231 #define DIO47_RPORT PINL 01232 #define DIO47_WPORT PORTL 01233 #define DIO47_DDR DDRL 01234 #define DIO47_PWM NULL 01235 01236 #define DIO48_PIN PINL1 01237 #define DIO48_RPORT PINL 01238 #define DIO48_WPORT PORTL 01239 #define DIO48_DDR DDRL 01240 #define DIO48_PWM NULL 01241 01242 #define DIO49_PIN PINL0 01243 #define DIO49_RPORT PINL 01244 #define DIO49_WPORT PORTL 01245 #define DIO49_DDR DDRL 01246 #define DIO49_PWM NULL 01247 01248 #define DIO50_PIN PINB3 01249 #define DIO50_RPORT PINB 01250 #define DIO50_WPORT PORTB 01251 #define DIO50_DDR DDRB 01252 #define DIO50_PWM NULL 01253 01254 #define DIO51_PIN PINB2 01255 #define DIO51_RPORT PINB 01256 #define DIO51_WPORT PORTB 01257 #define DIO51_DDR DDRB 01258 #define DIO51_PWM NULL 01259 01260 #define DIO52_PIN PINB1 01261 #define DIO52_RPORT PINB 01262 #define DIO52_WPORT PORTB 01263 #define DIO52_DDR DDRB 01264 #define DIO52_PWM NULL 01265 01266 #define DIO53_PIN PINB0 01267 #define DIO53_RPORT PINB 01268 #define DIO53_WPORT PORTB 01269 #define DIO53_DDR DDRB 01270 #define DIO53_PWM NULL 01271 01272 #define DIO54_PIN PINF0 01273 #define DIO54_RPORT PINF 01274 #define DIO54_WPORT PORTF 01275 #define DIO54_DDR DDRF 01276 #define DIO54_PWM NULL 01277 01278 #define DIO55_PIN PINF1 01279 #define DIO55_RPORT PINF 01280 #define DIO55_WPORT PORTF 01281 #define DIO55_DDR DDRF 01282 #define DIO55_PWM NULL 01283 01284 #define DIO56_PIN PINF2 01285 #define DIO56_RPORT PINF 01286 #define DIO56_WPORT PORTF 01287 #define DIO56_DDR DDRF 01288 #define DIO56_PWM NULL 01289 01290 #define DIO57_PIN PINF3 01291 #define DIO57_RPORT PINF 01292 #define DIO57_WPORT PORTF 01293 #define DIO57_DDR DDRF 01294 #define DIO57_PWM NULL 01295 01296 #define DIO58_PIN PINF4 01297 #define DIO58_RPORT PINF 01298 #define DIO58_WPORT PORTF 01299 #define DIO58_DDR DDRF 01300 #define DIO58_PWM NULL 01301 01302 #define DIO59_PIN PINF5 01303 #define DIO59_RPORT PINF 01304 #define DIO59_WPORT PORTF 01305 #define DIO59_DDR DDRF 01306 #define DIO59_PWM NULL 01307 01308 #define DIO60_PIN PINF6 01309 #define DIO60_RPORT PINF 01310 #define DIO60_WPORT PORTF 01311 #define DIO60_DDR DDRF 01312 #define DIO60_PWM NULL 01313 01314 #define DIO61_PIN PINF7 01315 #define DIO61_RPORT PINF 01316 #define DIO61_WPORT PORTF 01317 #define DIO61_DDR DDRF 01318 #define DIO61_PWM NULL 01319 01320 #define DIO62_PIN PINK0 01321 #define DIO62_RPORT PINK 01322 #define DIO62_WPORT PORTK 01323 #define DIO62_DDR DDRK 01324 #define DIO62_PWM NULL 01325 01326 #define DIO63_PIN PINK1 01327 #define DIO63_RPORT PINK 01328 #define DIO63_WPORT PORTK 01329 #define DIO63_DDR DDRK 01330 #define DIO63_PWM NULL 01331 01332 #define DIO64_PIN PINK2 01333 #define DIO64_RPORT PINK 01334 #define DIO64_WPORT PORTK 01335 #define DIO64_DDR DDRK 01336 #define DIO64_PWM NULL 01337 01338 #define DIO65_PIN PINK3 01339 #define DIO65_RPORT PINK 01340 #define DIO65_WPORT PORTK 01341 #define DIO65_DDR DDRK 01342 #define DIO65_PWM NULL 01343 01344 #define DIO66_PIN PINK4 01345 #define DIO66_RPORT PINK 01346 #define DIO66_WPORT PORTK 01347 #define DIO66_DDR DDRK 01348 #define DIO66_PWM NULL 01349 01350 #define DIO67_PIN PINK5 01351 #define DIO67_RPORT PINK 01352 #define DIO67_WPORT PORTK 01353 #define DIO67_DDR DDRK 01354 #define DIO67_PWM NULL 01355 01356 #define DIO68_PIN PINK6 01357 #define DIO68_RPORT PINK 01358 #define DIO68_WPORT PORTK 01359 #define DIO68_DDR DDRK 01360 #define DIO68_PWM NULL 01361 01362 #define DIO69_PIN PINK7 01363 #define DIO69_RPORT PINK 01364 #define DIO69_WPORT PORTK 01365 #define DIO69_DDR DDRK 01366 #define DIO69_PWM NULL 01367 01368 01369 01370 #undef PA0 01371 #define PA0_PIN PINA0 01372 #define PA0_RPORT PINA 01373 #define PA0_WPORT PORTA 01374 #define PA0_DDR DDRA 01375 #define PA0_PWM NULL 01376 #undef PA1 01377 #define PA1_PIN PINA1 01378 #define PA1_RPORT PINA 01379 #define PA1_WPORT PORTA 01380 #define PA1_DDR DDRA 01381 #define PA1_PWM NULL 01382 #undef PA2 01383 #define PA2_PIN PINA2 01384 #define PA2_RPORT PINA 01385 #define PA2_WPORT PORTA 01386 #define PA2_DDR DDRA 01387 #define PA2_PWM NULL 01388 #undef PA3 01389 #define PA3_PIN PINA3 01390 #define PA3_RPORT PINA 01391 #define PA3_WPORT PORTA 01392 #define PA3_DDR DDRA 01393 #define PA3_PWM NULL 01394 #undef PA4 01395 #define PA4_PIN PINA4 01396 #define PA4_RPORT PINA 01397 #define PA4_WPORT PORTA 01398 #define PA4_DDR DDRA 01399 #define PA4_PWM NULL 01400 #undef PA5 01401 #define PA5_PIN PINA5 01402 #define PA5_RPORT PINA 01403 #define PA5_WPORT PORTA 01404 #define PA5_DDR DDRA 01405 #define PA5_PWM NULL 01406 #undef PA6 01407 #define PA6_PIN PINA6 01408 #define PA6_RPORT PINA 01409 #define PA6_WPORT PORTA 01410 #define PA6_DDR DDRA 01411 #define PA6_PWM NULL 01412 #undef PA7 01413 #define PA7_PIN PINA7 01414 #define PA7_RPORT PINA 01415 #define PA7_WPORT PORTA 01416 #define PA7_DDR DDRA 01417 #define PA7_PWM NULL 01418 01419 #undef PB0 01420 #define PB0_PIN PINB0 01421 #define PB0_RPORT PINB 01422 #define PB0_WPORT PORTB 01423 #define PB0_DDR DDRB 01424 #define PB0_PWM NULL 01425 #undef PB1 01426 #define PB1_PIN PINB1 01427 #define PB1_RPORT PINB 01428 #define PB1_WPORT PORTB 01429 #define PB1_DDR DDRB 01430 #define PB1_PWM NULL 01431 #undef PB2 01432 #define PB2_PIN PINB2 01433 #define PB2_RPORT PINB 01434 #define PB2_WPORT PORTB 01435 #define PB2_DDR DDRB 01436 #define PB2_PWM NULL 01437 #undef PB3 01438 #define PB3_PIN PINB3 01439 #define PB3_RPORT PINB 01440 #define PB3_WPORT PORTB 01441 #define PB3_DDR DDRB 01442 #define PB3_PWM NULL 01443 #undef PB4 01444 #define PB4_PIN PINB4 01445 #define PB4_RPORT PINB 01446 #define PB4_WPORT PORTB 01447 #define PB4_DDR DDRB 01448 #define PB4_PWM &OCR2A 01449 #undef PB5 01450 #define PB5_PIN PINB5 01451 #define PB5_RPORT PINB 01452 #define PB5_WPORT PORTB 01453 #define PB5_DDR DDRB 01454 #define PB5_PWM NULL 01455 #undef PB6 01456 #define PB6_PIN PINB6 01457 #define PB6_RPORT PINB 01458 #define PB6_WPORT PORTB 01459 #define PB6_DDR DDRB 01460 #define PB6_PWM NULL 01461 #undef PB7 01462 #define PB7_PIN PINB7 01463 #define PB7_RPORT PINB 01464 #define PB7_WPORT PORTB 01465 #define PB7_DDR DDRB 01466 #define PB7_PWM &OCR0A 01467 01468 #undef PC0 01469 #define PC0_PIN PINC0 01470 #define PC0_RPORT PINC 01471 #define PC0_WPORT PORTC 01472 #define PC0_DDR DDRC 01473 #define PC0_PWM NULL 01474 #undef PC1 01475 #define PC1_PIN PINC1 01476 #define PC1_RPORT PINC 01477 #define PC1_WPORT PORTC 01478 #define PC1_DDR DDRC 01479 #define PC1_PWM NULL 01480 #undef PC2 01481 #define PC2_PIN PINC2 01482 #define PC2_RPORT PINC 01483 #define PC2_WPORT PORTC 01484 #define PC2_DDR DDRC 01485 #define PC2_PWM NULL 01486 #undef PC3 01487 #define PC3_PIN PINC3 01488 #define PC3_RPORT PINC 01489 #define PC3_WPORT PORTC 01490 #define PC3_DDR DDRC 01491 #define PC3_PWM NULL 01492 #undef PC4 01493 #define PC4_PIN PINC4 01494 #define PC4_RPORT PINC 01495 #define PC4_WPORT PORTC 01496 #define PC4_DDR DDRC 01497 #define PC4_PWM NULL 01498 #undef PC5 01499 #define PC5_PIN PINC5 01500 #define PC5_RPORT PINC 01501 #define PC5_WPORT PORTC 01502 #define PC5_DDR DDRC 01503 #define PC5_PWM NULL 01504 #undef PC6 01505 #define PC6_PIN PINC6 01506 #define PC6_RPORT PINC 01507 #define PC6_WPORT PORTC 01508 #define PC6_DDR DDRC 01509 #define PC6_PWM NULL 01510 #undef PC7 01511 #define PC7_PIN PINC7 01512 #define PC7_RPORT PINC 01513 #define PC7_WPORT PORTC 01514 #define PC7_DDR DDRC 01515 #define PC7_PWM NULL 01516 01517 #undef PD0 01518 #define PD0_PIN PIND0 01519 #define PD0_RPORT PIND 01520 #define PD0_WPORT PORTD 01521 #define PD0_DDR DDRD 01522 #define PD0_PWM NULL 01523 #undef PD1 01524 #define PD1_PIN PIND1 01525 #define PD1_RPORT PIND 01526 #define PD1_WPORT PORTD 01527 #define PD1_DDR DDRD 01528 #define PD1_PWM NULL 01529 #undef PD2 01530 #define PD2_PIN PIND2 01531 #define PD2_RPORT PIND 01532 #define PD2_WPORT PORTD 01533 #define PD2_DDR DDRD 01534 #define PD2_PWM NULL 01535 #undef PD3 01536 #define PD3_PIN PIND3 01537 #define PD3_RPORT PIND 01538 #define PD3_WPORT PORTD 01539 #define PD3_DDR DDRD 01540 #define PD3_PWM NULL 01541 #undef PD4 01542 #define PD4_PIN PIND4 01543 #define PD4_RPORT PIND 01544 #define PD4_WPORT PORTD 01545 #define PD4_DDR DDRD 01546 #define PD4_PWM NULL 01547 #undef PD5 01548 #define PD5_PIN PIND5 01549 #define PD5_RPORT PIND 01550 #define PD5_WPORT PORTD 01551 #define PD5_DDR DDRD 01552 #define PD5_PWM NULL 01553 #undef PD6 01554 #define PD6_PIN PIND6 01555 #define PD6_RPORT PIND 01556 #define PD6_WPORT PORTD 01557 #define PD6_DDR DDRD 01558 #define PD6_PWM NULL 01559 #undef PD7 01560 #define PD7_PIN PIND7 01561 #define PD7_RPORT PIND 01562 #define PD7_WPORT PORTD 01563 #define PD7_DDR DDRD 01564 #define PD7_PWM NULL 01565 01566 #undef PE0 01567 #define PE0_PIN PINE0 01568 #define PE0_RPORT PINE 01569 #define PE0_WPORT PORTE 01570 #define PE0_DDR DDRE 01571 #define PE0_PWM NULL 01572 #undef PE1 01573 #define PE1_PIN PINE1 01574 #define PE1_RPORT PINE 01575 #define PE1_WPORT PORTE 01576 #define PE1_DDR DDRE 01577 #define PE1_PWM NULL 01578 #undef PE2 01579 #define PE2_PIN PINE2 01580 #define PE2_RPORT PINE 01581 #define PE2_WPORT PORTE 01582 #define PE2_DDR DDRE 01583 #define PE2_PWM NULL 01584 #undef PE3 01585 #define PE3_PIN PINE3 01586 #define PE3_RPORT PINE 01587 #define PE3_WPORT PORTE 01588 #define PE3_DDR DDRE 01589 #define PE3_PWM &OCR3AL 01590 #undef PE4 01591 #define PE4_PIN PINE4 01592 #define PE4_RPORT PINE 01593 #define PE4_WPORT PORTE 01594 #define PE4_DDR DDRE 01595 #define PE4_PWM &OCR3BL 01596 #undef PE5 01597 #define PE5_PIN PINE5 01598 #define PE5_RPORT PINE 01599 #define PE5_WPORT PORTE 01600 #define PE5_DDR DDRE 01601 #define PE5_PWM &OCR3CL 01602 #undef PE6 01603 #define PE6_PIN PINE6 01604 #define PE6_RPORT PINE 01605 #define PE6_WPORT PORTE 01606 #define PE6_DDR DDRE 01607 #define PE6_PWM NULL 01608 #undef PE7 01609 #define PE7_PIN PINE7 01610 #define PE7_RPORT PINE 01611 #define PE7_WPORT PORTE 01612 #define PE7_DDR DDRE 01613 #define PE7_PWM NULL 01614 01615 #undef PF0 01616 #define PF0_PIN PINF0 01617 #define PF0_RPORT PINF 01618 #define PF0_WPORT PORTF 01619 #define PF0_DDR DDRF 01620 #define PF0_PWM NULL 01621 #undef PF1 01622 #define PF1_PIN PINF1 01623 #define PF1_RPORT PINF 01624 #define PF1_WPORT PORTF 01625 #define PF1_DDR DDRF 01626 #define PF1_PWM NULL 01627 #undef PF2 01628 #define PF2_PIN PINF2 01629 #define PF2_RPORT PINF 01630 #define PF2_WPORT PORTF 01631 #define PF2_DDR DDRF 01632 #define PF2_PWM NULL 01633 #undef PF3 01634 #define PF3_PIN PINF3 01635 #define PF3_RPORT PINF 01636 #define PF3_WPORT PORTF 01637 #define PF3_DDR DDRF 01638 #define PF3_PWM NULL 01639 #undef PF4 01640 #define PF4_PIN PINF4 01641 #define PF4_RPORT PINF 01642 #define PF4_WPORT PORTF 01643 #define PF4_DDR DDRF 01644 #define PF4_PWM NULL 01645 #undef PF5 01646 #define PF5_PIN PINF5 01647 #define PF5_RPORT PINF 01648 #define PF5_WPORT PORTF 01649 #define PF5_DDR DDRF 01650 #define PF5_PWM NULL 01651 #undef PF6 01652 #define PF6_PIN PINF6 01653 #define PF6_RPORT PINF 01654 #define PF6_WPORT PORTF 01655 #define PF6_DDR DDRF 01656 #define PF6_PWM NULL 01657 #undef PF7 01658 #define PF7_PIN PINF7 01659 #define PF7_RPORT PINF 01660 #define PF7_WPORT PORTF 01661 #define PF7_DDR DDRF 01662 #define PF7_PWM NULL 01663 01664 #undef PG0 01665 #define PG0_PIN PING0 01666 #define PG0_RPORT PING 01667 #define PG0_WPORT PORTG 01668 #define PG0_DDR DDRG 01669 #define PG0_PWM NULL 01670 #undef PG1 01671 #define PG1_PIN PING1 01672 #define PG1_RPORT PING 01673 #define PG1_WPORT PORTG 01674 #define PG1_DDR DDRG 01675 #define PG1_PWM NULL 01676 #undef PG2 01677 #define PG2_PIN PING2 01678 #define PG2_RPORT PING 01679 #define PG2_WPORT PORTG 01680 #define PG2_DDR DDRG 01681 #define PG2_PWM NULL 01682 #undef PG3 01683 #define PG3_PIN PING3 01684 #define PG3_RPORT PING 01685 #define PG3_WPORT PORTG 01686 #define PG3_DDR DDRG 01687 #define PG3_PWM NULL 01688 #undef PG4 01689 #define PG4_PIN PING4 01690 #define PG4_RPORT PING 01691 #define PG4_WPORT PORTG 01692 #define PG4_DDR DDRG 01693 #define PG4_PWM NULL 01694 #undef PG5 01695 #define PG5_PIN PING5 01696 #define PG5_RPORT PING 01697 #define PG5_WPORT PORTG 01698 #define PG5_DDR DDRG 01699 #define PG5_PWM &OCR0B 01700 #undef PG6 01701 #define PG6_PIN PING6 01702 #define PG6_RPORT PING 01703 #define PG6_WPORT PORTG 01704 #define PG6_DDR DDRG 01705 #define PG6_PWM NULL 01706 #undef PG7 01707 #define PG7_PIN PING7 01708 #define PG7_RPORT PING 01709 #define PG7_WPORT PORTG 01710 #define PG7_DDR DDRG 01711 #define PG7_PWM NULL 01712 01713 #undef PH0 01714 #define PH0_PIN PINH0 01715 #define PH0_RPORT PINH 01716 #define PH0_WPORT PORTH 01717 #define PH0_DDR DDRH 01718 #define PH0_PWM NULL 01719 #undef PH1 01720 #define PH1_PIN PINH1 01721 #define PH1_RPORT PINH 01722 #define PH1_WPORT PORTH 01723 #define PH1_DDR DDRH 01724 #define PH1_PWM NULL 01725 #undef PH2 01726 #define PH2_PIN PINH2 01727 #define PH2_RPORT PINH 01728 #define PH2_WPORT PORTH 01729 #define PH2_DDR DDRH 01730 #define PH2_PWM NULL 01731 #undef PH3 01732 #define PH3_PIN PINH3 01733 #define PH3_RPORT PINH 01734 #define PH3_WPORT PORTH 01735 #define PH3_DDR DDRH 01736 #define PH3_PWM &OCR4AL 01737 #undef PH4 01738 #define PH4_PIN PINH4 01739 #define PH4_RPORT PINH 01740 #define PH4_WPORT PORTH 01741 #define PH4_DDR DDRH 01742 #define PH4_PWM &OCR4BL 01743 #undef PH5 01744 #define PH5_PIN PINH5 01745 #define PH5_RPORT PINH 01746 #define PH5_WPORT PORTH 01747 #define PH5_DDR DDRH 01748 #define PH5_PWM &OCR4CL 01749 #undef PH6 01750 #define PH6_PIN PINH6 01751 #define PH6_RPORT PINH 01752 #define PH6_WPORT PORTH 01753 #define PH6_DDR DDRH 01754 #define PH6_PWM &OCR2B 01755 #undef PH7 01756 #define PH7_PIN PINH7 01757 #define PH7_RPORT PINH 01758 #define PH7_WPORT PORTH 01759 #define PH7_DDR DDRH 01760 #define PH7_PWM NULL 01761 01762 #undef PJ0 01763 #define PJ0_PIN PINJ0 01764 #define PJ0_RPORT PINJ 01765 #define PJ0_WPORT PORTJ 01766 #define PJ0_DDR DDRJ 01767 #define PJ0_PWM NULL 01768 #undef PJ1 01769 #define PJ1_PIN PINJ1 01770 #define PJ1_RPORT PINJ 01771 #define PJ1_WPORT PORTJ 01772 #define PJ1_DDR DDRJ 01773 #define PJ1_PWM NULL 01774 #undef PJ2 01775 #define PJ2_PIN PINJ2 01776 #define PJ2_RPORT PINJ 01777 #define PJ2_WPORT PORTJ 01778 #define PJ2_DDR DDRJ 01779 #define PJ2_PWM NULL 01780 #undef PJ3 01781 #define PJ3_PIN PINJ3 01782 #define PJ3_RPORT PINJ 01783 #define PJ3_WPORT PORTJ 01784 #define PJ3_DDR DDRJ 01785 #define PJ3_PWM NULL 01786 #undef PJ4 01787 #define PJ4_PIN PINJ4 01788 #define PJ4_RPORT PINJ 01789 #define PJ4_WPORT PORTJ 01790 #define PJ4_DDR DDRJ 01791 #define PJ4_PWM NULL 01792 #undef PJ5 01793 #define PJ5_PIN PINJ5 01794 #define PJ5_RPORT PINJ 01795 #define PJ5_WPORT PORTJ 01796 #define PJ5_DDR DDRJ 01797 #define PJ5_PWM NULL 01798 #undef PJ6 01799 #define PJ6_PIN PINJ6 01800 #define PJ6_RPORT PINJ 01801 #define PJ6_WPORT PORTJ 01802 #define PJ6_DDR DDRJ 01803 #define PJ6_PWM NULL 01804 #undef PJ7 01805 #define PJ7_PIN PINJ7 01806 #define PJ7_RPORT PINJ 01807 #define PJ7_WPORT PORTJ 01808 #define PJ7_DDR DDRJ 01809 #define PJ7_PWM NULL 01810 01811 #undef PK0 01812 #define PK0_PIN PINK0 01813 #define PK0_RPORT PINK 01814 #define PK0_WPORT PORTK 01815 #define PK0_DDR DDRK 01816 #define PK0_PWM NULL 01817 #undef PK1 01818 #define PK1_PIN PINK1 01819 #define PK1_RPORT PINK 01820 #define PK1_WPORT PORTK 01821 #define PK1_DDR DDRK 01822 #define PK1_PWM NULL 01823 #undef PK2 01824 #define PK2_PIN PINK2 01825 #define PK2_RPORT PINK 01826 #define PK2_WPORT PORTK 01827 #define PK2_DDR DDRK 01828 #define PK2_PWM NULL 01829 #undef PK3 01830 #define PK3_PIN PINK3 01831 #define PK3_RPORT PINK 01832 #define PK3_WPORT PORTK 01833 #define PK3_DDR DDRK 01834 #define PK3_PWM NULL 01835 #undef PK4 01836 #define PK4_PIN PINK4 01837 #define PK4_RPORT PINK 01838 #define PK4_WPORT PORTK 01839 #define PK4_DDR DDRK 01840 #define PK4_PWM NULL 01841 #undef PK5 01842 #define PK5_PIN PINK5 01843 #define PK5_RPORT PINK 01844 #define PK5_WPORT PORTK 01845 #define PK5_DDR DDRK 01846 #define PK5_PWM NULL 01847 #undef PK6 01848 #define PK6_PIN PINK6 01849 #define PK6_RPORT PINK 01850 #define PK6_WPORT PORTK 01851 #define PK6_DDR DDRK 01852 #define PK6_PWM NULL 01853 #undef PK7 01854 #define PK7_PIN PINK7 01855 #define PK7_RPORT PINK 01856 #define PK7_WPORT PORTK 01857 #define PK7_DDR DDRK 01858 #define PK7_PWM NULL 01859 01860 #undef PL0 01861 #define PL0_PIN PINL0 01862 #define PL0_RPORT PINL 01863 #define PL0_WPORT PORTL 01864 #define PL0_DDR DDRL 01865 #define PL0_PWM NULL 01866 #undef PL1 01867 #define PL1_PIN PINL1 01868 #define PL1_RPORT PINL 01869 #define PL1_WPORT PORTL 01870 #define PL1_DDR DDRL 01871 #define PL1_PWM NULL 01872 #undef PL2 01873 #define PL2_PIN PINL2 01874 #define PL2_RPORT PINL 01875 #define PL2_WPORT PORTL 01876 #define PL2_DDR DDRL 01877 #define PL2_PWM NULL 01878 #undef PL3 01879 #define PL3_PIN PINL3 01880 #define PL3_RPORT PINL 01881 #define PL3_WPORT PORTL 01882 #define PL3_DDR DDRL 01883 #define PL3_PWM &OCR5AL 01884 #undef PL4 01885 #define PL4_PIN PINL4 01886 #define PL4_RPORT PINL 01887 #define PL4_WPORT PORTL 01888 #define PL4_DDR DDRL 01889 #define PL4_PWM &OCR5BL 01890 #undef PL5 01891 #define PL5_PIN PINL5 01892 #define PL5_RPORT PINL 01893 #define PL5_WPORT PORTL 01894 #define PL5_DDR DDRL 01895 #define PL5_PWM &OCR5CL 01896 #undef PL6 01897 #define PL6_PIN PINL6 01898 #define PL6_RPORT PINL 01899 #define PL6_WPORT PORTL 01900 #define PL6_DDR DDRL 01901 #define PL6_PWM NULL 01902 #undef PL7 01903 #define PL7_PIN PINL7 01904 #define PL7_RPORT PINL 01905 #define PL7_WPORT PORTL 01906 #define PL7_DDR DDRL 01907 #define PL7_PWM NULL 01908 01909 #endif 01910 01911 #if defined (__AVR_AT90USB1287__) 01912 // SPI 01913 #define SCK DIO9 01914 #define MISO DIO11 01915 #define MOSI DIO10 01916 #define SS DIO8 01917 01918 // change for your board 01919 #define DEBUG_LED DIO31 /* led D5 red */ 01920 01921 /* 01922 pins 01923 */ 01924 #define DIO0_PIN PINA0 01925 #define DIO0_RPORT PINA 01926 #define DIO0_WPORT PORTA 01927 #define DIO0_PWM NULL 01928 #define DIO0_DDR DDRA 01929 01930 #define DIO1_PIN PINA1 01931 #define DIO1_RPORT PINA 01932 #define DIO1_WPORT PORTA 01933 #define DIO1_PWM NULL 01934 #define DIO1_DDR DDRA 01935 01936 #define DIO2_PIN PINA2 01937 #define DIO2_RPORT PINA 01938 #define DIO2_WPORT PORTA 01939 #define DIO2_PWM NULL 01940 #define DIO2_DDR DDRA 01941 01942 #define DIO3_PIN PINA3 01943 #define DIO3_RPORT PINA 01944 #define DIO3_WPORT PORTA 01945 #define DIO3_PWM NULL 01946 #define DIO3_DDR DDRA 01947 01948 #define DIO4_PIN PINA4 01949 #define DIO4_RPORT PINA 01950 #define DIO4_WPORT PORTA 01951 #define DIO4_PWM NULL 01952 #define DIO4_DDR DDRA 01953 01954 #define DIO5_PIN PINA5 01955 #define DIO5_RPORT PINA 01956 #define DIO5_WPORT PORTA 01957 #define DIO5_PWM NULL 01958 #define DIO5_DDR DDRA 01959 01960 #define DIO6_PIN PINA6 01961 #define DIO6_RPORT PINA 01962 #define DIO6_WPORT PORTA 01963 #define DIO6_PWM NULL 01964 #define DIO6_DDR DDRA 01965 01966 #define DIO7_PIN PINA7 01967 #define DIO7_RPORT PINA 01968 #define DIO7_WPORT PORTA 01969 #define DIO7_PWM NULL 01970 #define DIO7_DDR DDRA 01971 01972 #define DIO8_PIN PINB0 01973 #define DIO8_RPORT PINB 01974 #define DIO8_WPORT PORTB 01975 #define DIO8_PWM NULL 01976 #define DIO8_DDR DDRB 01977 01978 #define DIO9_PIN PINB1 01979 #define DIO9_RPORT PINB 01980 #define DIO9_WPORT PORTB 01981 #define DIO9_PWM NULL 01982 #define DIO9_DDR DDRB 01983 01984 #define DIO10_PIN PINB2 01985 #define DIO10_RPORT PINB 01986 #define DIO10_WPORT PORTB 01987 #define DIO10_PWM NULL 01988 #define DIO10_DDR DDRB 01989 01990 #define DIO11_PIN PINB3 01991 #define DIO11_RPORT PINB 01992 #define DIO11_WPORT PORTB 01993 #define DIO11_PWM NULL 01994 #define DIO11_DDR DDRB 01995 01996 #define DIO12_PIN PINB4 01997 #define DIO12_RPORT PINB 01998 #define DIO12_WPORT PORTB 01999 #define DIO12_PWM NULL 02000 #define DIO12_DDR DDRB 02001 02002 #define DIO13_PIN PINB5 02003 #define DIO13_RPORT PINB 02004 #define DIO13_WPORT PORTB 02005 #define DIO13_PWM NULL 02006 #define DIO13_DDR DDRB 02007 02008 #define DIO14_PIN PINB6 02009 #define DIO14_RPORT PINB 02010 #define DIO14_WPORT PORTB 02011 #define DIO14_PWM NULL 02012 #define DIO14_DDR DDRB 02013 02014 #define DIO15_PIN PINB7 02015 #define DIO15_RPORT PINB 02016 #define DIO15_WPORT PORTB 02017 #define DIO15_PWM NULL 02018 #define DIO15_DDR DDRB 02019 02020 #define DIO16_PIN PINC0 02021 #define DIO16_RPORT PINC 02022 #define DIO16_WPORT PORTC 02023 #define DIO16_PWM NULL 02024 #define DIO16_DDR DDRC 02025 02026 #define DIO17_PIN PINC1 02027 #define DIO17_RPORT PINC 02028 #define DIO17_WPORT PORTC 02029 #define DIO17_PWM NULL 02030 #define DIO17_DDR DDRC 02031 02032 #define DIO18_PIN PINC2 02033 #define DIO18_RPORT PINC 02034 #define DIO18_WPORT PORTC 02035 #define DIO18_PWM NULL 02036 #define DIO18_DDR DDRC 02037 02038 #define DIO19_PIN PINC3 02039 #define DIO19_RPORT PINC 02040 #define DIO19_WPORT PORTC 02041 #define DIO19_PWM NULL 02042 #define DIO19_DDR DDRC 02043 02044 #define DIO20_PIN PINC4 02045 #define DIO20_RPORT PINC 02046 #define DIO20_WPORT PORTC 02047 #define DIO20_PWM NULL 02048 #define DIO20_DDR DDRC 02049 02050 #define DIO21_PIN PINC5 02051 #define DIO21_RPORT PINC 02052 #define DIO21_WPORT PORTC 02053 #define DIO21_PWM NULL 02054 #define DIO21_DDR DDRC 02055 02056 #define DIO22_PIN PINC6 02057 #define DIO22_RPORT PINC 02058 #define DIO22_WPORT PORTC 02059 #define DIO22_PWM NULL 02060 #define DIO22_DDR DDRC 02061 02062 #define DIO23_PIN PINC7 02063 #define DIO23_RPORT PINC 02064 #define DIO23_WPORT PORTC 02065 #define DIO23_PWM NULL 02066 #define DIO23_DDR DDRC 02067 02068 #define DIO24_PIN PIND0 02069 #define DIO24_RPORT PIND 02070 #define DIO24_WPORT PORTD 02071 #define DIO24_PWM NULL 02072 #define DIO24_DDR DDRD 02073 02074 #define DIO25_PIN PIND1 02075 #define DIO25_RPORT PIND 02076 #define DIO25_WPORT PORTD 02077 #define DIO25_PWM NULL 02078 #define DIO25_DDR DDRD 02079 02080 #define DIO26_PIN PIND2 02081 #define DIO26_RPORT PIND 02082 #define DIO26_WPORT PORTD 02083 #define DIO26_PWM NULL 02084 #define DIO26_DDR DDRD 02085 02086 #define DIO27_PIN PIND3 02087 #define DIO27_RPORT PIND 02088 #define DIO27_WPORT PORTD 02089 #define DIO27_PWM NULL 02090 #define DIO27_DDR DDRD 02091 02092 #define DIO28_PIN PIND4 02093 #define DIO28_RPORT PIND 02094 #define DIO28_WPORT PORTD 02095 #define DIO28_PWM NULL 02096 #define DIO28_DDR DDRD 02097 02098 #define DIO29_PIN PIND5 02099 #define DIO29_RPORT PIND 02100 #define DIO29_WPORT PORTD 02101 #define DIO29_PWM NULL 02102 #define DIO29_DDR DDRD 02103 02104 #define DIO30_PIN PIND6 02105 #define DIO30_RPORT PIND 02106 #define DIO30_WPORT PORTD 02107 #define DIO30_PWM NULL 02108 #define DIO30_DDR DDRD 02109 02110 #define DIO31_PIN PIND7 02111 #define DIO31_RPORT PIND 02112 #define DIO31_WPORT PORTD 02113 #define DIO31_PWM NULL 02114 #define DIO31_DDR DDRD 02115 02116 02117 #define DIO32_PIN PINE0 02118 #define DIO32_RPORT PINE 02119 #define DIO32_WPORT PORTE 02120 #define DIO32_PWM NULL 02121 #define DIO32_DDR DDRE 02122 02123 #define DIO33_PIN PINE1 02124 #define DIO33_RPORT PINE 02125 #define DIO33_WPORT PORTE 02126 #define DIO33_PWM NULL 02127 #define DIO33_DDR DDRE 02128 02129 #define DIO34_PIN PINE2 02130 #define DIO34_RPORT PINE 02131 #define DIO34_WPORT PORTE 02132 #define DIO34_PWM NULL 02133 #define DIO34_DDR DDRE 02134 02135 #define DIO35_PIN PINE3 02136 #define DIO35_RPORT PINE 02137 #define DIO35_WPORT PORTE 02138 #define DIO35_PWM NULL 02139 #define DIO35_DDR DDRE 02140 02141 #define DIO36_PIN PINE4 02142 #define DIO36_RPORT PINE 02143 #define DIO36_WPORT PORTE 02144 #define DIO36_PWM NULL 02145 #define DIO36_DDR DDRE 02146 02147 #define DIO37_PIN PINE5 02148 #define DIO37_RPORT PINE 02149 #define DIO37_WPORT PORTE 02150 #define DIO37_PWM NULL 02151 #define DIO37_DDR DDRE 02152 02153 #define DIO38_PIN PINE6 02154 #define DIO38_RPORT PINE 02155 #define DIO38_WPORT PORTE 02156 #define DIO38_PWM NULL 02157 #define DIO38_DDR DDRE 02158 02159 #define DIO39_PIN PINE7 02160 #define DIO39_RPORT PINE 02161 #define DIO39_WPORT PORTE 02162 #define DIO39_PWM NULL 02163 #define DIO39_DDR DDRE 02164 02165 #define AIO0_PIN PINF0 02166 #define AIO0_RPORT PINF 02167 #define AIO0_WPORT PORTF 02168 #define AIO0_PWM NULL 02169 #define AIO0_DDR DDRF 02170 02171 #define AIO1_PIN PINF1 02172 #define AIO1_RPORT PINF 02173 #define AIO1_WPORT PORTF 02174 #define AIO1_PWM NULL 02175 #define AIO1_DDR DDRF 02176 02177 #define AIO2_PIN PINF2 02178 #define AIO2_RPORT PINF 02179 #define AIO2_WPORT PORTF 02180 #define AIO2_PWM NULL 02181 #define AIO2_DDR DDRF 02182 02183 #define AIO3_PIN PINF3 02184 #define AIO3_RPORT PINF 02185 #define AIO3_WPORT PORTF 02186 #define AIO3_PWM NULL 02187 #define AIO3_DDR DDRF 02188 02189 #define AIO4_PIN PINF4 02190 #define AIO4_RPORT PINF 02191 #define AIO4_WPORT PORTF 02192 #define AIO4_PWM NULL 02193 #define AIO4_DDR DDRF 02194 02195 #define AIO5_PIN PINF5 02196 #define AIO5_RPORT PINF 02197 #define AIO5_WPORT PORTF 02198 #define AIO5_PWM NULL 02199 #define AIO5_DDR DDRF 02200 02201 #define AIO6_PIN PINF6 02202 #define AIO6_RPORT PINF 02203 #define AIO6_WPORT PORTF 02204 #define AIO6_PWM NULL 02205 #define AIO6_DDR DDRF 02206 02207 #define AIO7_PIN PINF7 02208 #define AIO7_RPORT PINF 02209 #define AIO7_WPORT PORTF 02210 #define AIO7_PWM NULL 02211 #define AIO7_DDR DDRF 02212 02213 #define DIO40_PIN PINF0 02214 #define DIO40_RPORT PINF 02215 #define DIO40_WPORT PORTF 02216 #define DIO40_PWM NULL 02217 #define DIO40_DDR DDRF 02218 02219 #define DIO41_PIN PINF1 02220 #define DIO41_RPORT PINF 02221 #define DIO41_WPORT PORTF 02222 #define DIO41_PWM NULL 02223 #define DIO41_DDR DDRF 02224 02225 #define DIO42_PIN PINF2 02226 #define DIO42_RPORT PINF 02227 #define DIO42_WPORT PORTF 02228 #define DIO42_PWM NULL 02229 #define DIO42_DDR DDRF 02230 02231 #define DIO43_PIN PINF3 02232 #define DIO43_RPORT PINF 02233 #define DIO43_WPORT PORTF 02234 #define DIO43_PWM NULL 02235 #define DIO43_DDR DDRF 02236 02237 #define DIO44_PIN PINF4 02238 #define DIO44_RPORT PINF 02239 #define DIO44_WPORT PORTF 02240 #define DIO44_PWM NULL 02241 #define DIO44_DDR DDRF 02242 02243 #define DIO45_PIN PINF5 02244 #define DIO45_RPORT PINF 02245 #define DIO45_WPORT PORTF 02246 #define DIO45_PWM NULL 02247 #define DIO45_DDR DDRF 02248 02249 #define DIO46_PIN PINF6 02250 #define DIO46_RPORT PINF 02251 #define DIO46_WPORT PORTF 02252 #define DIO46_PWM NULL 02253 #define DIO46_DDR DDRF 02254 02255 #define DIO47_PIN PINF7 02256 #define DIO47_RPORT PINF 02257 #define DIO47_WPORT PORTF 02258 #define DIO47_PWM NULL 02259 #define DIO47_DDR DDRF 02260 02261 02262 02263 #undef PA0 02264 #define PA0_PIN PINA0 02265 #define PA0_RPORT PINA 02266 #define PA0_WPORT PORTA 02267 #define PA0_PWM NULL 02268 #define PA0_DDR DDRA 02269 #undef PA1 02270 #define PA1_PIN PINA1 02271 #define PA1_RPORT PINA 02272 #define PA1_WPORT PORTA 02273 #define PA1_PWM NULL 02274 #define PA1_DDR DDRA 02275 #undef PA2 02276 #define PA2_PIN PINA2 02277 #define PA2_RPORT PINA 02278 #define PA2_WPORT PORTA 02279 #define PA2_PWM NULL 02280 #define PA2_DDR DDRA 02281 #undef PA3 02282 #define PA3_PIN PINA3 02283 #define PA3_RPORT PINA 02284 #define PA3_WPORT PORTA 02285 #define PA3_PWM NULL 02286 #define PA3_DDR DDRA 02287 #undef PA4 02288 #define PA4_PIN PINA4 02289 #define PA4_RPORT PINA 02290 #define PA4_WPORT PORTA 02291 #define PA4_PWM NULL 02292 #define PA4_DDR DDRA 02293 #undef PA5 02294 #define PA5_PIN PINA5 02295 #define PA5_RPORT PINA 02296 #define PA5_WPORT PORTA 02297 #define PA5_PWM NULL 02298 #define PA5_DDR DDRA 02299 #undef PA6 02300 #define PA6_PIN PINA6 02301 #define PA6_RPORT PINA 02302 #define PA6_WPORT PORTA 02303 #define PA6_PWM NULL 02304 #define PA6_DDR DDRA 02305 #undef PA7 02306 #define PA7_PIN PINA7 02307 #define PA7_RPORT PINA 02308 #define PA7_WPORT PORTA 02309 #define PA7_PWM NULL 02310 #define PA7_DDR DDRA 02311 02312 #undef PB0 02313 #define PB0_PIN PINB0 02314 #define PB0_RPORT PINB 02315 #define PB0_WPORT PORTB 02316 #define PB0_PWM NULL 02317 #define PB0_DDR DDRB 02318 #undef PB1 02319 #define PB1_PIN PINB1 02320 #define PB1_RPORT PINB 02321 #define PB1_WPORT PORTB 02322 #define PB1_PWM NULL 02323 #define PB1_DDR DDRB 02324 #undef PB2 02325 #define PB2_PIN PINB2 02326 #define PB2_RPORT PINB 02327 #define PB2_WPORT PORTB 02328 #define PB2_PWM NULL 02329 #define PB2_DDR DDRB 02330 #undef PB3 02331 #define PB3_PIN PINB3 02332 #define PB3_RPORT PINB 02333 #define PB3_WPORT PORTB 02334 #define PB3_PWM NULL 02335 #define PB3_DDR DDRB 02336 #undef PB4 02337 #define PB4_PIN PINB4 02338 #define PB4_RPORT PINB 02339 #define PB4_WPORT PORTB 02340 #define PB4_PWM NULL 02341 #define PB4_DDR DDRB 02342 #undef PB5 02343 #define PB5_PIN PINB5 02344 #define PB5_RPORT PINB 02345 #define PB5_WPORT PORTB 02346 #define PB5_PWM NULL 02347 #define PB5_DDR DDRB 02348 #undef PB6 02349 #define PB6_PIN PINB6 02350 #define PB6_RPORT PINB 02351 #define PB6_WPORT PORTB 02352 #define PB6_PWM NULL 02353 #define PB6_DDR DDRB 02354 #undef PB7 02355 #define PB7_PIN PINB7 02356 #define PB7_RPORT PINB 02357 #define PB7_WPORT PORTB 02358 #define PB7_PWM NULL 02359 #define PB7_DDR DDRB 02360 02361 #undef PC0 02362 #define PC0_PIN PINC0 02363 #define PC0_RPORT PINC 02364 #define PC0_WPORT PORTC 02365 #define PC0_PWM NULL 02366 #define PC0_DDR DDRC 02367 #undef PC1 02368 #define PC1_PIN PINC1 02369 #define PC1_RPORT PINC 02370 #define PC1_WPORT PORTC 02371 #define PC1_PWM NULL 02372 #define PC1_DDR DDRC 02373 #undef PC2 02374 #define PC2_PIN PINC2 02375 #define PC2_RPORT PINC 02376 #define PC2_WPORT PORTC 02377 #define PC2_PWM NULL 02378 #define PC2_DDR DDRC 02379 #undef PC3 02380 #define PC3_PIN PINC3 02381 #define PC3_RPORT PINC 02382 #define PC3_WPORT PORTC 02383 #define PC3_PWM NULL 02384 #define PC3_DDR DDRC 02385 #undef PC4 02386 #define PC4_PIN PINC4 02387 #define PC4_RPORT PINC 02388 #define PC4_WPORT PORTC 02389 #define PC4_PWM NULL 02390 #define PC4_DDR DDRC 02391 #undef PC5 02392 #define PC5_PIN PINC5 02393 #define PC5_RPORT PINC 02394 #define PC5_WPORT PORTC 02395 #define PC5_PWM NULL 02396 #define PC5_DDR DDRC 02397 #undef PC6 02398 #define PC6_PIN PINC6 02399 #define PC6_RPORT PINC 02400 #define PC6_WPORT PORTC 02401 #define PC6_PWM NULL 02402 #define PC6_DDR DDRC 02403 #undef PC7 02404 #define PC7_PIN PINC7 02405 #define PC7_RPORT PINC 02406 #define PC7_WPORT PORTC 02407 #define PC7_PWM NULL 02408 #define PC7_DDR DDRC 02409 02410 #undef PD0 02411 #define PD0_PIN PIND0 02412 #define PD0_RPORT PIND 02413 #define PD0_WPORT PORTD 02414 #define PD0_PWM NULL 02415 #define PD0_DDR DDRD 02416 #undef PD1 02417 #define PD1_PIN PIND1 02418 #define PD1_RPORT PIND 02419 #define PD1_WPORT PORTD 02420 #define PD1_PWM NULL 02421 #define PD1_DDR DDRD 02422 #undef PD2 02423 #define PD2_PIN PIND2 02424 #define PD2_RPORT PIND 02425 #define PD2_WPORT PORTD 02426 #define PD2_PWM NULL 02427 #define PD2_DDR DDRD 02428 #undef PD3 02429 #define PD3_PIN PIND3 02430 #define PD3_RPORT PIND 02431 #define PD3_WPORT PORTD 02432 #define PD3_PWM NULL 02433 #define PD3_DDR DDRD 02434 #undef PD4 02435 #define PD4_PIN PIND4 02436 #define PD4_RPORT PIND 02437 #define PD4_WPORT PORTD 02438 #define PD4_PWM NULL 02439 #define PD4_DDR DDRD 02440 #undef PD5 02441 #define PD5_PIN PIND5 02442 #define PD5_RPORT PIND 02443 #define PD5_WPORT PORTD 02444 #define PD5_PWM NULL 02445 #define PD5_DDR DDRD 02446 #undef PD6 02447 #define PD6_PIN PIND6 02448 #define PD6_RPORT PIND 02449 #define PD6_WPORT PORTD 02450 #define PD6_PWM NULL 02451 #define PD6_DDR DDRD 02452 #undef PD7 02453 #define PD7_PIN PIND7 02454 #define PD7_RPORT PIND 02455 #define PD7_WPORT PORTD 02456 #define PD7_PWM NULL 02457 #define PD7_DDR DDRD 02458 02459 #undef PE0 02460 #define PE0_PIN PINE0 02461 #define PE0_RPORT PINE 02462 #define PE0_WPORT PORTE 02463 #define PE0_PWM NULL 02464 #define PE0_DDR DDRE 02465 #undef PE1 02466 #define PE1_PIN PINE1 02467 #define PE1_RPORT PINE 02468 #define PE1_WPORT PORTE 02469 #define PE1_PWM NULL 02470 #define PE1_DDR DDRE 02471 #undef PE2 02472 #define PE2_PIN PINE2 02473 #define PE2_RPORT PINE 02474 #define PE2_WPORT PORTE 02475 #define PE2_PWM NULL 02476 #define PE2_DDR DDRE 02477 #undef PE3 02478 #define PE3_PIN PINE3 02479 #define PE3_RPORT PINE 02480 #define PE3_WPORT PORTE 02481 #define PE3_PWM NULL 02482 #define PE3_DDR DDRE 02483 #undef PE4 02484 #define PE4_PIN PINE4 02485 #define PE4_RPORT PINE 02486 #define PE4_WPORT PORTE 02487 #define PE4_PWM NULL 02488 #define PE4_DDR DDRE 02489 #undef PE5 02490 #define PE5_PIN PINE5 02491 #define PE5_RPORT PINE 02492 #define PE5_WPORT PORTE 02493 #define PE5_PWM NULL 02494 #define PE5_DDR DDRE 02495 #undef PE6 02496 #define PE6_PIN PINE6 02497 #define PE6_RPORT PINE 02498 #define PE6_WPORT PORTE 02499 #define PE6_PWM NULL 02500 #define PE6_DDR DDRE 02501 #undef PE7 02502 #define PE7_PIN PINE7 02503 #define PE7_RPORT PINE 02504 #define PE7_WPORT PORTE 02505 #define PE7_PWM NULL 02506 #define PE7_DDR DDRE 02507 02508 #undef PF0 02509 #define PF0_PIN PINF0 02510 #define PF0_RPORT PINF 02511 #define PF0_WPORT PORTF 02512 #define PF0_PWM NULL 02513 #define PF0_DDR DDRF 02514 #undef PF1 02515 #define PF1_PIN PINF1 02516 #define PF1_RPORT PINF 02517 #define PF1_WPORT PORTF 02518 #define PF1_PWM NULL 02519 #define PF1_DDR DDRF 02520 #undef PF2 02521 #define PF2_PIN PINF2 02522 #define PF2_RPORT PINF 02523 #define PF2_WPORT PORTF 02524 #define PF2_PWM NULL 02525 #define PF2_DDR DDRF 02526 #undef PF3 02527 #define PF3_PIN PINF3 02528 #define PF3_RPORT PINF 02529 #define PF3_WPORT PORTF 02530 #define PF3_PWM NULL 02531 #define PF3_DDR DDRF 02532 #undef PF4 02533 #define PF4_PIN PINF4 02534 #define PF4_RPORT PINF 02535 #define PF4_WPORT PORTF 02536 #define PF4_PWM NULL 02537 #define PF4_DDR DDRF 02538 #undef PF5 02539 #define PF5_PIN PINF5 02540 #define PF5_RPORT PINF 02541 #define PF5_WPORT PORTF 02542 #define PF5_PWM NULL 02543 #define PF5_DDR DDRF 02544 #undef PF6 02545 #define PF6_PIN PINF6 02546 #define PF6_RPORT PINF 02547 #define PF6_WPORT PORTF 02548 #define PF6_PWM NULL 02549 #define PF6_DDR DDRF 02550 #undef PF7 02551 #define PF7_PIN PINF7 02552 #define PF7_RPORT PINF 02553 #define PF7_WPORT PORTF 02554 #define PF7_PWM NULL 02555 #define PF7_DDR DDRF 02556 #endif 02557 02558 #ifndef DIO0_PIN 02559 #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 02560 #endif 02561 02562 #endif // FASTIO_H