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