yarf 0.1
Yet Another RepRap Firmware
src/hardware/fastio.h
Go to the documentation of this file.
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines