From 6169dadae7b8caf9b5ebccf72f5aa649cf7a667c Mon Sep 17 00:00:00 2001 From: Michael Moon Date: Mon, 18 Oct 2010 18:38:14 +1100 Subject: [PATCH] split arduino pin definitions out into different files --- arduino.h | 744 +-------------------------------------------- arduino_1280.h | 385 +++++++++++++++++++++++ arduino_168_328p.h | 127 ++++++++ arduino_644.h | 227 ++++++++++++++ 4 files changed, 742 insertions(+), 741 deletions(-) create mode 100644 arduino_1280.h create mode 100644 arduino_168_328p.h create mode 100644 arduino_644.h diff --git a/arduino.h b/arduino.h index bd65c98..d80089b 100644 --- a/arduino.h +++ b/arduino.h @@ -46,753 +46,15 @@ */ #if defined (__AVR_ATmega168__) || defined (__AVR_ATmega328__) || defined (__AVR_ATmega328P__) - // UART - #define RXD DIO0 - #define TXD DIO1 - - // SPI - #define SCK DIO13 - #define MISO DIO12 - #define MOSI DIO11 - #define SS DIO10 - - // TWI (I2C) - #define SCL AIO5 - #define SDA AIO4 - - // timers and PWM - #define OC0A DIO6 - #define OC0B DIO5 - #define OC1A DIO9 - #define OC1B DIO10 - #define OC2A DIO11 - #define OC2B DIO3 - - #define ICP1 DIO8 - - /* - pins - */ - - #define DIO0_PIN PIND0 - #define DIO0_RPORT PIND - #define DIO0_WPORT PORTD - #define DIO0_DDR DDRD - - #define DIO1_PIN PIND1 - #define DIO1_RPORT PIND - #define DIO1_WPORT PORTD - #define DIO1_DDR DDRD - - #define DIO2_PIN PIND2 - #define DIO2_RPORT PIND - #define DIO2_WPORT PORTD - #define DIO2_DDR DDRD - - #define DIO3_PIN PIND3 - #define DIO3_RPORT PIND - #define DIO3_WPORT PORTD - #define DIO3_DDR DDRD - - #define DIO4_PIN PIND4 - #define DIO4_RPORT PIND - #define DIO4_WPORT PORTD - #define DIO4_DDR DDRD - - #define DIO5_PIN PIND5 - #define DIO5_RPORT PIND - #define DIO5_WPORT PORTD - #define DIO5_DDR DDRD - - #define DIO6_PIN PIND6 - #define DIO6_RPORT PIND - #define DIO6_WPORT PORTD - #define DIO6_DDR DDRD - - #define DIO7_PIN PIND7 - #define DIO7_RPORT PIND - #define DIO7_WPORT PORTD - #define DIO7_DDR DDRD - - #define DIO8_PIN PINB0 - #define DIO8_RPORT PINB - #define DIO8_WPORT PORTB - #define DIO8_DDR DDRB - - #define DIO9_PIN PINB1 - #define DIO9_RPORT PINB - #define DIO9_WPORT PORTB - #define DIO9_DDR DDRB - - #define DIO10_PIN PINB2 - #define DIO10_RPORT PINB - #define DIO10_WPORT PORTB - #define DIO10_DDR DDRB - - #define DIO11_PIN PINB3 - #define DIO11_RPORT PINB - #define DIO11_WPORT PORTB - #define DIO11_DDR DDRB - - #define DIO12_PIN PINB4 - #define DIO12_RPORT PINB - #define DIO12_WPORT PORTB - #define DIO12_DDR DDRB - - #define DIO13_PIN PINB5 - #define DIO13_RPORT PINB - #define DIO13_WPORT PORTB - #define DIO13_DDR DDRB - - #define AIO0_PIN PINC0 - #define AIO0_RPORT PINC - #define AIO0_WPORT PORTC - #define AIO0_DDR DDRC - - #define AIO1_PIN PINC1 - #define AIO1_RPORT PINC - #define AIO1_WPORT PORTC - #define AIO1_DDR DDRC - - #define AIO2_PIN PINC2 - #define AIO2_RPORT PINC - #define AIO2_WPORT PORTC - #define AIO2_DDR DDRC - - #define AIO3_PIN PINC3 - #define AIO3_RPORT PINC - #define AIO3_WPORT PORTC - #define AIO3_DDR DDRC - - #define AIO4_PIN PINC4 - #define AIO4_RPORT PINC - #define AIO4_WPORT PORTC - #define AIO4_DDR DDRC - - #define AIO5_PIN PINC5 - #define AIO5_RPORT PINC - #define AIO5_WPORT PORTC - #define AIO5_DDR DDRC + #include "arduino_168_328p.h" #endif /* _AVR_ATmega{168,328,328P}__) */ #if defined (__AVR_ATmega644__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__) - // UART - #define RXD DIO0 - #define TXD DIO1 - - // SPI - #define SCK DIO13 - #define MISO DIO12 - #define MOSI DIO11 - #define SS DIO10 - - // TWI (I2C) - #define SCL AIO5 - #define SDA AIO4 - - // timers and PWM - #define OC0A DIO6 - #define OC0B DIO5 - #define OC1A DIO9 - #define OC1B DIO10 - #define OC2A DIO11 - #define OC2B DIO3 - - #define ICP1 DIO8 - - /* - pins - */ - - #define DIO0_PIN PINB0 - #define DIO0_RPORT PINB - #define DIO0_WPORT PORTB - #define DIO0_DDR DDRB - - #define DIO1_PIN PINB1 - #define DIO1_RPORT PINB - #define DIO1_WPORT PORTB - #define DIO1_DDR DDRB - - #define DIO2_PIN PINB2 - #define DIO2_RPORT PINB - #define DIO2_WPORT PORTB - #define DIO2_DDR DDRB - - #define DIO3_PIN PINB3 - #define DIO3_RPORT PINB - #define DIO3_WPORT PORTB - #define DIO3_DDR DDRB - - #define DIO4_PIN PINB4 - #define DIO4_RPORT PINB - #define DIO4_WPORT PORTB - #define DIO4_DDR DDRB - - #define DIO5_PIN PINB5 - #define DIO5_RPORT PINB - #define DIO5_WPORT PORTB - #define DIO5_DDR DDRB - - #define DIO6_PIN PINB6 - #define DIO6_RPORT PINB - #define DIO6_WPORT PORTB - #define DIO6_DDR DDRB - - #define DIO7_PIN PINB7 - #define DIO7_RPORT PINB - #define DIO7_WPORT PORTB - #define DIO7_DDR DDRB - - #define DIO8_PIN PIND0 - #define DIO8_RPORT PIND - #define DIO8_WPORT PORTD - #define DIO8_DDR DDRD - - #define DIO9_PIN PIND1 - #define DIO9_RPORT PIND - #define DIO9_WPORT PORTD - #define DIO9_DDR DDRD - - #define DIO10_PIN PIND2 - #define DIO10_RPORT PIND - #define DIO10_WPORT PORTD - #define DIO10_DDR DDRD - - #define DIO11_PIN PIND3 - #define DIO11_RPORT PIND - #define DIO11_WPORT PORTD - #define DIO11_DDR DDRD - - #define DIO12_PIN PIND4 - #define DIO12_RPORT PIND - #define DIO12_WPORT PORTD - #define DIO12_DDR DDRD - - #define DIO13_PIN PIND5 - #define DIO13_RPORT PIND - #define DIO13_WPORT PORTD - #define DIO13_DDR DDRD - - #define DIO14_PIN PIND6 - #define DIO14_RPORT PIND - #define DIO14_WPORT PORTD - #define DIO14_DDR DDRD - - #define DIO15_PIN PIND7 - #define DIO15_RPORT PIND - #define DIO15_WPORT PORTD - #define DIO15_DDR DDRD - - #define DIO16_PIN PINC0 - #define DIO16_RPORT PINC - #define DIO16_WPORT PORTC - #define DIO16_DDR DDRC - - #define DIO17_PIN PINC1 - #define DIO17_RPORT PINC - #define DIO17_WPORT PORTC - #define DIO17_DDR DDRC - - #define DIO18_PIN PINC2 - #define DIO18_RPORT PINC - #define DIO18_WPORT PORTC - #define DIO18_DDR DDRC - - #define DIO19_PIN PINC3 - #define DIO19_RPORT PINC - #define DIO19_WPORT PORTC - #define DIO19_DDR DDRC - - #define DIO20_PIN PINC4 - #define DIO20_RPORT PINC - #define DIO20_WPORT PORTC - #define DIO20_DDR DDRC - - #define DIO21_PIN PINC5 - #define DIO21_RPORT PINC - #define DIO21_WPORT PORTC - #define DIO21_DDR DDRC - - #define DIO22_PIN PINC6 - #define DIO22_RPORT PINC - #define DIO22_WPORT PORTC - #define DIO22_DDR DDRC - - #define DIO23_PIN PINC7 - #define DIO23_RPORT PINC - #define DIO23_WPORT PORTC - #define DIO23_DDR DDRC - - #define DIO24_PIN PINA7 - #define DIO24_RPORT PINA - #define DIO24_WPORT PORTA - #define DIO24_DDR DDRA - - #define DIO25_PIN PINA6 - #define DIO25_RPORT PINA - #define DIO25_WPORT PORTA - #define DIO25_DDR DDRA - - #define DIO26_PIN PINA5 - #define DIO26_RPORT PINA - #define DIO26_WPORT PORTA - #define DIO26_DDR DDRA - - #define DIO27_PIN PINA4 - #define DIO27_RPORT PINA - #define DIO27_WPORT PORTA - #define DIO27_DDR DDRA - - #define DIO28_PIN PINA3 - #define DIO28_RPORT PINA - #define DIO28_WPORT PORTA - #define DIO28_DDR DDRA - - #define DIO29_PIN PINA2 - #define DIO29_RPORT PINA - #define DIO29_WPORT PORTA - #define DIO29_DDR DDRA - - #define DIO30_PIN PINA1 - #define DIO30_RPORT PINA - #define DIO30_WPORT PORTA - #define DIO30_DDR DDRA - - #define DIO31_PIN PINA0 - #define DIO31_RPORT PINA - #define DIO31_WPORT PORTA - #define DIO31_DDR DDRA - - #define AIO0_PIN PINA0 - #define AIO0_RPORT PINA - #define AIO0_WPORT PORTA - #define AIO0_DDR DDRA - - #define AIO1_PIN PINA1 - #define AIO1_RPORT PINA - #define AIO1_WPORT PORTA - #define AIO1_DDR DDRA - - #define AIO2_PIN PINA2 - #define AIO2_RPORT PINA - #define AIO2_WPORT PORTA - #define AIO2_DDR DDRA - - #define AIO3_PIN PINA3 - #define AIO3_RPORT PINA - #define AIO3_WPORT PORTA - #define AIO3_DDR DDRA - - #define AIO4_PIN PINA4 - #define AIO4_RPORT PINA - #define AIO4_WPORT PORTA - #define AIO4_DDR DDRA - - #define AIO5_PIN PINA5 - #define AIO5_RPORT PINA - #define AIO5_WPORT PORTA - #define AIO5_DDR DDRA - - #define AIO6_PIN PINA6 - #define AIO6_RPORT PINA - #define AIO6_WPORT PORTA - #define AIO6_DDR DDRA - - #define AIO7_PIN PINA7 - #define AIO7_RPORT PINA - #define AIO7_WPORT PORTA - #define AIO7_DDR DDRA + #include "arduino_644.h" #endif #if defined (__AVR_ATmega1280__) - - // UART - #define RXD DIO0 - #define TXD DIO1 - - // SPI - #define SCK DIO52 - #define MISO DIO50 - #define MOSI DIO51 - #define SS DIO53 - - // TWI (I2C) - #define SCL DIO21 - #define SDA DIO20 - - // timers and PWM - #define OC0A DIO13 - #define OC0B DIO4 - #define OC1A DIO11 - #define OC1B DIO12 - #define OC2A DIO10 - #define OC2B DIO9 - #define OC3A DIO5 - #define OC3B DIO2 - #define OC3C DIO3 - #define OC4A DIO6 - #define OC4B DIO7 - #define OC4C DIO8 - #define OC5A DIO46 - #define OC5B DIO45 - #define OC5C DIO44 - -// #define ICP1 NULL /* not brought out on the Arduino Mega, remove line as not used ?? */ - - /* - pins - */ - #define DIO0_PIN PINE0 - #define DIO0_RPORT PINE - #define DIO0_WPORT PORTE - #define DIO0_DDR DDRE - - #define DIO1_PIN PINE1 - #define DIO1_RPORT PINE - #define DIO1_WPORT PORTE - #define DIO1_DDR DDRE - - #define DIO2_PIN PINE4 - #define DIO2_RPORT PINE - #define DIO2_WPORT PORTE - #define DIO2_DDR DDRE - - #define DIO3_PIN PINE5 - #define DIO3_RPORT PINE - #define DIO3_WPORT PORTE - #define DIO3_DDR DDRE - - #define DIO4_PIN PING5 - #define DIO4_RPORT PING - #define DIO4_WPORT PORTG - #define DIO4_DDR DDRG - - #define DIO5_PIN PINE3 - #define DIO5_RPORT PINE - #define DIO5_WPORT PORTE - #define DIO5_DDR DDRE - - #define DIO6_PIN PINH3 - #define DIO6_RPORT PINH - #define DIO6_WPORT PORTH - #define DIO6_DDR DDRH - - #define DIO7_PIN PINH4 - #define DIO7_RPORT PINH - #define DIO7_WPORT PORTH - #define DIO7_DDR DDRH - - #define DIO8_PIN PINH5 - #define DIO8_RPORT PINH - #define DIO8_WPORT PORTH - #define DIO8_DDR DDRH - - #define DIO9_PIN PINH6 - #define DIO9_RPORT PINH - #define DIO9_WPORT PORTH - #define DIO9_DDR DDRH - - #define DIO10_PIN PINB4 - #define DIO10_RPORT PINB - #define DIO10_WPORT PORTB - #define DIO10_DDR DDRB - - #define DIO11_PIN PINB5 - #define DIO11_RPORT PINB - #define DIO11_WPORT PORTB - #define DIO11_DDR DDRB - - #define DIO12_PIN PINB6 - #define DIO12_RPORT PINB - #define DIO12_WPORT PORTB - #define DIO12_DDR DDRB - - #define DIO13_PIN PINB7 - #define DIO13_RPORT PINB - #define DIO13_WPORT PORTB - #define DIO13_DDR DDRB - - #define DIO14_PIN PINJ1 - #define DIO14_RPORT PINJ - #define DIO14_WPORT PORTJ - #define DIO14_DDR DDRJ - - #define DIO15_PIN PINJ0 - #define DIO15_RPORT PINJ - #define DIO15_WPORT PORTJ - #define DIO15_DDR DDRJ - - #define DIO16_PIN PINH1 - #define DIO16_RPORT PINH - #define DIO16_WPORT PORTH - #define DIO16_DDR DDRH - - #define DIO17_PIN PINH0 - #define DIO17_RPORT PINH - #define DIO17_WPORT PORTH - #define DIO17_DDR DDRH - - #define DIO18_PIN PIND3 - #define DIO18_RPORT PIND - #define DIO18_WPORT PORTD - #define DIO18_DDR DDRD - - #define DIO19_PIN PIND2 - #define DIO19_RPORT PIND - #define DIO19_WPORT PORTD - #define DIO19_DDR DDRD - - #define DIO20_PIN PIND1 - #define DIO20_RPORT PIND - #define DIO20_WPORT PORTD - #define DIO20_DDR DDRD - - #define DIO21_PIN PIND0 - #define DIO21_RPORT PIND - #define DIO21_WPORT PORTD - #define DIO21_DDR DDRD - - #define DIO22_PIN PINA0 - #define DIO22_RPORT PINA - #define DIO22_WPORT PORTA - #define DIO22_DDR DDRA - - #define DIO23_PIN PINA1 - #define DIO23_RPORT PINA - #define DIO23_WPORT PORTA - #define DIO23_DDR DDRA - - #define DIO24_PIN PINA2 - #define DIO24_RPORT PINA - #define DIO24_WPORT PORTA - #define DIO24_DDR DDRA - - #define DIO25_PIN PINA3 - #define DIO25_RPORT PINA - #define DIO25_WPORT PORTA - #define DIO25_DDR DDRA - - #define DIO26_PIN PINA4 - #define DIO26_RPORT PINA - #define DIO26_WPORT PORTA - #define DIO26_DDR DDRA - - #define DIO27_PIN PINA5 - #define DIO27_RPORT PINA - #define DIO27_WPORT PORTA - #define DIO27_DDR DDRA - - #define DIO28_PIN PINA6 - #define DIO28_RPORT PINA - #define DIO28_WPORT PORTA - #define DIO28_DDR DDRA - - #define DIO29_PIN PINA7 - #define DIO29_RPORT PINA - #define DIO29_WPORT PORTA - #define DIO29_DDR DDRA - - #define DIO30_PIN PINC7 - #define DIO30_RPORT PINC - #define DIO30_WPORT PORTC - #define DIO30_DDR DDRC - - #define DIO31_PIN PINC6 - #define DIO31_RPORT PINC - #define DIO31_WPORT PORTC - #define DIO31_DDR DDRC - - #define DIO32_PIN PINC5 - #define DIO32_RPORT PINC - #define DIO32_WPORT PORTC - #define DIO32_DDR DDRC - - #define DIO33_PIN PINC4 - #define DIO33_RPORT PINC - #define DIO33_WPORT PORTC - #define DIO33_DDR DDRC - - #define DIO34_PIN PINC3 - #define DIO34_RPORT PINC - #define DIO34_WPORT PORTC - #define DIO34_DDR DDRC - - #define DIO35_PIN PINC2 - #define DIO35_RPORT PINC - #define DIO35_WPORT PORTC - #define DIO35_DDR DDRC - - #define DIO36_PIN PINC1 - #define DIO36_RPORT PINC - #define DIO36_WPORT PORTC - #define DIO36_DDR DDRC - - #define DIO37_PIN PINC0 - #define DIO37_RPORT PINC - #define DIO37_WPORT PORTC - #define DIO37_DDR DDRC - - #define DIO38_PIN PIND7 - #define DIO38_RPORT PIND - #define DIO38_WPORT PORTD - #define DIO38_DDR DDRD - - #define DIO39_PIN PING2 - #define DIO39_RPORT PING - #define DIO39_WPORT PORTG - #define DIO39_DDR DDRG - - #define DIO40_PIN PING1 - #define DIO40_RPORT PING - #define DIO40_WPORT PORTG - #define DIO40_DDR DDRG - - #define DIO41_PIN PING0 - #define DIO41_RPORT PING - #define DIO41_WPORT PORTG - #define DIO41_DDR DDRG - - #define DIO42_PIN PINL7 - #define DIO42_RPORT PINL - #define DIO42_WPORT PORTL - #define DIO42_DDR DDRL - - #define DIO43_PIN PINL6 - #define DIO43_RPORT PINL - #define DIO43_WPORT PORTL - #define DIO43_DDR DDRL - - #define DIO44_PIN PINL5 - #define DIO44_RPORT PINL - #define DIO44_WPORT PORTL - #define DIO44_DDR DDRL - - #define DIO45_PIN PINL4 - #define DIO45_RPORT PINL - #define DIO45_WPORT PORTL - #define DIO45_DDR DDRL - - #define DIO46_PIN PINL3 - #define DIO46_RPORT PINL - #define DIO46_WPORT PORTL - #define DIO46_DDR DDRL - - #define DIO47_PIN PINL2 - #define DIO47_RPORT PINL - #define DIO47_WPORT PORTL - #define DIO47_DDR DDRL - - #define DIO48_PIN PINL1 - #define DIO48_RPORT PINL - #define DIO48_WPORT PORTL - #define DIO48_DDR DDRL - - #define DIO49_PIN PINL0 - #define DIO49_RPORT PINL - #define DIO49_WPORT PORTL - #define DIO49_DDR DDRL - - #define DIO50_PIN PINB3 - #define DIO50_RPORT PINB - #define DIO50_WPORT PORTB - #define DIO50_DDR DDRB - - #define DIO51_PIN PINB2 - #define DIO51_RPORT PINB - #define DIO51_WPORT PORTB - #define DIO51_DDR DDRB - - #define DIO52_PIN PINB1 - #define DIO52_RPORT PINB - #define DIO52_WPORT PORTB - #define DIO52_DDR DDRB - - #define DIO53_PIN PINB0 - #define DIO53_RPORT PINB - #define DIO53_WPORT PORTB - #define DIO53_DDR DDRB - - #define AIO0_PIN PINF0 - #define AIO0_RPORT PINF - #define AIO0_WPORT PORTF - #define AIO0_DDR DDRF - - #define AIO1_PIN PINF1 - #define AIO1_RPORT PINF - #define AIO1_WPORT PORTF - #define AIO1_DDR DDRF - - #define AIO2_PIN PINF2 - #define AIO2_RPORT PINF - #define AIO2_WPORT PORTF - #define AIO2_DDR DDRF - - #define AIO3_PIN PINF3 - #define AIO3_RPORT PINF - #define AIO3_WPORT PORTF - #define AIO3_DDR DDRF - - #define AIO4_PIN PINF4 - #define AIO4_RPORT PINF - #define AIO4_WPORT PORTF - #define AIO4_DDR DDRF - - #define AIO5_PIN PINF5 - #define AIO5_RPORT PINF - #define AIO5_WPORT PORTF - #define AIO5_DDR DDRF - - #define AIO6_PIN PINF6 - #define AIO6_RPORT PINF - #define AIO6_WPORT PORTF - #define AIO6_DDR DDRF - - #define AIO7_PIN PINF7 - #define AIO7_RPORT PINF - #define AIO7_WPORT PORTF - #define AIO7_DDR DDRF - - #define AIO8_PIN PINK0 - #define AIO8_RPORT PINK - #define AIO8_WPORT PORTK - #define AIO8_DDR DDRK - - #define AIO9_PIN PINK1 - #define AIO9_RPORT PINK - #define AIO9_WPORT PORTK - #define AIO9_DDR DDRK - - #define AIO10_PIN PINK2 - #define AIO10_RPORT PINK - #define AIO10_WPORT PORTK - #define AIO10_DDR DDRK - - #define AIO11_PIN PINK3 - #define AIO11_RPORT PINK - #define AIO11_WPORT PORTK - #define AIO11_DDR DDRK - - #define AIO12_PIN PINK4 - #define AIO12_RPORT PINK - #define AIO12_WPORT PORTK - #define AIO12_DDR DDRK - - #define AIO13_PIN PINK5 - #define AIO13_RPORT PINK - #define AIO13_WPORT PORTK - #define AIO13_DDR DDRK - - #define AIO14_PIN PINK6 - #define AIO14_RPORT PINK - #define AIO14_WPORT PORTK - #define AIO14_DDR DDRK - - #define AIO15_PIN PINK7 - #define AIO15_RPORT PINK - #define AIO15_WPORT PORTK - #define AIO15_DDR DDRK - + #include "arduino_1280.h" #endif /* __AVR_ATmega1280__) */ #ifndef DIO0_PIN diff --git a/arduino_1280.h b/arduino_1280.h new file mode 100644 index 0000000..81594db --- /dev/null +++ b/arduino_1280.h @@ -0,0 +1,385 @@ +// UART +#define RXD DIO0 +#define TXD DIO1 + +// SPI +#define SCK DIO52 +#define MISO DIO50 +#define MOSI DIO51 +#define SS DIO53 + +// TWI (I2C) +#define SCL DIO21 +#define SDA DIO20 + +// timers and PWM +#define OC0A DIO13 +#define OC0B DIO4 +#define OC1A DIO11 +#define OC1B DIO12 +#define OC2A DIO10 +#define OC2B DIO9 +#define OC3A DIO5 +#define OC3B DIO2 +#define OC3C DIO3 +#define OC4A DIO6 +#define OC4B DIO7 +#define OC4C DIO8 +#define OC5A DIO46 +#define OC5B DIO45 +#define OC5C DIO44 + +// #define ICP1 NULL /* not brought out on the Arduino Mega, remove line as not used ?? */ + +/* +pins +*/ +#define DIO0_PIN PINE0 +#define DIO0_RPORT PINE +#define DIO0_WPORT PORTE +#define DIO0_DDR DDRE + +#define DIO1_PIN PINE1 +#define DIO1_RPORT PINE +#define DIO1_WPORT PORTE +#define DIO1_DDR DDRE + +#define DIO2_PIN PINE4 +#define DIO2_RPORT PINE +#define DIO2_WPORT PORTE +#define DIO2_DDR DDRE + +#define DIO3_PIN PINE5 +#define DIO3_RPORT PINE +#define DIO3_WPORT PORTE +#define DIO3_DDR DDRE + +#define DIO4_PIN PING5 +#define DIO4_RPORT PING +#define DIO4_WPORT PORTG +#define DIO4_DDR DDRG + +#define DIO5_PIN PINE3 +#define DIO5_RPORT PINE +#define DIO5_WPORT PORTE +#define DIO5_DDR DDRE + +#define DIO6_PIN PINH3 +#define DIO6_RPORT PINH +#define DIO6_WPORT PORTH +#define DIO6_DDR DDRH + +#define DIO7_PIN PINH4 +#define DIO7_RPORT PINH +#define DIO7_WPORT PORTH +#define DIO7_DDR DDRH + +#define DIO8_PIN PINH5 +#define DIO8_RPORT PINH +#define DIO8_WPORT PORTH +#define DIO8_DDR DDRH + +#define DIO9_PIN PINH6 +#define DIO9_RPORT PINH +#define DIO9_WPORT PORTH +#define DIO9_DDR DDRH + +#define DIO10_PIN PINB4 +#define DIO10_RPORT PINB +#define DIO10_WPORT PORTB +#define DIO10_DDR DDRB + +#define DIO11_PIN PINB5 +#define DIO11_RPORT PINB +#define DIO11_WPORT PORTB +#define DIO11_DDR DDRB + +#define DIO12_PIN PINB6 +#define DIO12_RPORT PINB +#define DIO12_WPORT PORTB +#define DIO12_DDR DDRB + +#define DIO13_PIN PINB7 +#define DIO13_RPORT PINB +#define DIO13_WPORT PORTB +#define DIO13_DDR DDRB + +#define DIO14_PIN PINJ1 +#define DIO14_RPORT PINJ +#define DIO14_WPORT PORTJ +#define DIO14_DDR DDRJ + +#define DIO15_PIN PINJ0 +#define DIO15_RPORT PINJ +#define DIO15_WPORT PORTJ +#define DIO15_DDR DDRJ + +#define DIO16_PIN PINH1 +#define DIO16_RPORT PINH +#define DIO16_WPORT PORTH +#define DIO16_DDR DDRH + +#define DIO17_PIN PINH0 +#define DIO17_RPORT PINH +#define DIO17_WPORT PORTH +#define DIO17_DDR DDRH + +#define DIO18_PIN PIND3 +#define DIO18_RPORT PIND +#define DIO18_WPORT PORTD +#define DIO18_DDR DDRD + +#define DIO19_PIN PIND2 +#define DIO19_RPORT PIND +#define DIO19_WPORT PORTD +#define DIO19_DDR DDRD + +#define DIO20_PIN PIND1 +#define DIO20_RPORT PIND +#define DIO20_WPORT PORTD +#define DIO20_DDR DDRD + +#define DIO21_PIN PIND0 +#define DIO21_RPORT PIND +#define DIO21_WPORT PORTD +#define DIO21_DDR DDRD + +#define DIO22_PIN PINA0 +#define DIO22_RPORT PINA +#define DIO22_WPORT PORTA +#define DIO22_DDR DDRA + +#define DIO23_PIN PINA1 +#define DIO23_RPORT PINA +#define DIO23_WPORT PORTA +#define DIO23_DDR DDRA + +#define DIO24_PIN PINA2 +#define DIO24_RPORT PINA +#define DIO24_WPORT PORTA +#define DIO24_DDR DDRA + +#define DIO25_PIN PINA3 +#define DIO25_RPORT PINA +#define DIO25_WPORT PORTA +#define DIO25_DDR DDRA + +#define DIO26_PIN PINA4 +#define DIO26_RPORT PINA +#define DIO26_WPORT PORTA +#define DIO26_DDR DDRA + +#define DIO27_PIN PINA5 +#define DIO27_RPORT PINA +#define DIO27_WPORT PORTA +#define DIO27_DDR DDRA + +#define DIO28_PIN PINA6 +#define DIO28_RPORT PINA +#define DIO28_WPORT PORTA +#define DIO28_DDR DDRA + +#define DIO29_PIN PINA7 +#define DIO29_RPORT PINA +#define DIO29_WPORT PORTA +#define DIO29_DDR DDRA + +#define DIO30_PIN PINC7 +#define DIO30_RPORT PINC +#define DIO30_WPORT PORTC +#define DIO30_DDR DDRC + +#define DIO31_PIN PINC6 +#define DIO31_RPORT PINC +#define DIO31_WPORT PORTC +#define DIO31_DDR DDRC + +#define DIO32_PIN PINC5 +#define DIO32_RPORT PINC +#define DIO32_WPORT PORTC +#define DIO32_DDR DDRC + +#define DIO33_PIN PINC4 +#define DIO33_RPORT PINC +#define DIO33_WPORT PORTC +#define DIO33_DDR DDRC + +#define DIO34_PIN PINC3 +#define DIO34_RPORT PINC +#define DIO34_WPORT PORTC +#define DIO34_DDR DDRC + +#define DIO35_PIN PINC2 +#define DIO35_RPORT PINC +#define DIO35_WPORT PORTC +#define DIO35_DDR DDRC + +#define DIO36_PIN PINC1 +#define DIO36_RPORT PINC +#define DIO36_WPORT PORTC +#define DIO36_DDR DDRC + +#define DIO37_PIN PINC0 +#define DIO37_RPORT PINC +#define DIO37_WPORT PORTC +#define DIO37_DDR DDRC + +#define DIO38_PIN PIND7 +#define DIO38_RPORT PIND +#define DIO38_WPORT PORTD +#define DIO38_DDR DDRD + +#define DIO39_PIN PING2 +#define DIO39_RPORT PING +#define DIO39_WPORT PORTG +#define DIO39_DDR DDRG + +#define DIO40_PIN PING1 +#define DIO40_RPORT PING +#define DIO40_WPORT PORTG +#define DIO40_DDR DDRG + +#define DIO41_PIN PING0 +#define DIO41_RPORT PING +#define DIO41_WPORT PORTG +#define DIO41_DDR DDRG + +#define DIO42_PIN PINL7 +#define DIO42_RPORT PINL +#define DIO42_WPORT PORTL +#define DIO42_DDR DDRL + +#define DIO43_PIN PINL6 +#define DIO43_RPORT PINL +#define DIO43_WPORT PORTL +#define DIO43_DDR DDRL + +#define DIO44_PIN PINL5 +#define DIO44_RPORT PINL +#define DIO44_WPORT PORTL +#define DIO44_DDR DDRL + +#define DIO45_PIN PINL4 +#define DIO45_RPORT PINL +#define DIO45_WPORT PORTL +#define DIO45_DDR DDRL + +#define DIO46_PIN PINL3 +#define DIO46_RPORT PINL +#define DIO46_WPORT PORTL +#define DIO46_DDR DDRL + +#define DIO47_PIN PINL2 +#define DIO47_RPORT PINL +#define DIO47_WPORT PORTL +#define DIO47_DDR DDRL + +#define DIO48_PIN PINL1 +#define DIO48_RPORT PINL +#define DIO48_WPORT PORTL +#define DIO48_DDR DDRL + +#define DIO49_PIN PINL0 +#define DIO49_RPORT PINL +#define DIO49_WPORT PORTL +#define DIO49_DDR DDRL + +#define DIO50_PIN PINB3 +#define DIO50_RPORT PINB +#define DIO50_WPORT PORTB +#define DIO50_DDR DDRB + +#define DIO51_PIN PINB2 +#define DIO51_RPORT PINB +#define DIO51_WPORT PORTB +#define DIO51_DDR DDRB + +#define DIO52_PIN PINB1 +#define DIO52_RPORT PINB +#define DIO52_WPORT PORTB +#define DIO52_DDR DDRB + +#define DIO53_PIN PINB0 +#define DIO53_RPORT PINB +#define DIO53_WPORT PORTB +#define DIO53_DDR DDRB + +#define AIO0_PIN PINF0 +#define AIO0_RPORT PINF +#define AIO0_WPORT PORTF +#define AIO0_DDR DDRF + +#define AIO1_PIN PINF1 +#define AIO1_RPORT PINF +#define AIO1_WPORT PORTF +#define AIO1_DDR DDRF + +#define AIO2_PIN PINF2 +#define AIO2_RPORT PINF +#define AIO2_WPORT PORTF +#define AIO2_DDR DDRF + +#define AIO3_PIN PINF3 +#define AIO3_RPORT PINF +#define AIO3_WPORT PORTF +#define AIO3_DDR DDRF + +#define AIO4_PIN PINF4 +#define AIO4_RPORT PINF +#define AIO4_WPORT PORTF +#define AIO4_DDR DDRF + +#define AIO5_PIN PINF5 +#define AIO5_RPORT PINF +#define AIO5_WPORT PORTF +#define AIO5_DDR DDRF + +#define AIO6_PIN PINF6 +#define AIO6_RPORT PINF +#define AIO6_WPORT PORTF +#define AIO6_DDR DDRF + +#define AIO7_PIN PINF7 +#define AIO7_RPORT PINF +#define AIO7_WPORT PORTF +#define AIO7_DDR DDRF + +#define AIO8_PIN PINK0 +#define AIO8_RPORT PINK +#define AIO8_WPORT PORTK +#define AIO8_DDR DDRK + +#define AIO9_PIN PINK1 +#define AIO9_RPORT PINK +#define AIO9_WPORT PORTK +#define AIO9_DDR DDRK + +#define AIO10_PIN PINK2 +#define AIO10_RPORT PINK +#define AIO10_WPORT PORTK +#define AIO10_DDR DDRK + +#define AIO11_PIN PINK3 +#define AIO11_RPORT PINK +#define AIO11_WPORT PORTK +#define AIO11_DDR DDRK + +#define AIO12_PIN PINK4 +#define AIO12_RPORT PINK +#define AIO12_WPORT PORTK +#define AIO12_DDR DDRK + +#define AIO13_PIN PINK5 +#define AIO13_RPORT PINK +#define AIO13_WPORT PORTK +#define AIO13_DDR DDRK + +#define AIO14_PIN PINK6 +#define AIO14_RPORT PINK +#define AIO14_WPORT PORTK +#define AIO14_DDR DDRK + +#define AIO15_PIN PINK7 +#define AIO15_RPORT PINK +#define AIO15_WPORT PORTK +#define AIO15_DDR DDRK diff --git a/arduino_168_328p.h b/arduino_168_328p.h new file mode 100644 index 0000000..77b3242 --- /dev/null +++ b/arduino_168_328p.h @@ -0,0 +1,127 @@ +// UART +#define RXD DIO0 +#define TXD DIO1 + +// SPI +#define SCK DIO13 +#define MISO DIO12 +#define MOSI DIO11 +#define SS DIO10 + +// TWI (I2C) +#define SCL AIO5 +#define SDA AIO4 + +// timers and PWM +#define OC0A DIO6 +#define OC0B DIO5 +#define OC1A DIO9 +#define OC1B DIO10 +#define OC2A DIO11 +#define OC2B DIO3 + +#define ICP1 DIO8 + +/* +pins +*/ + +#define DIO0_PIN PIND0 +#define DIO0_RPORT PIND +#define DIO0_WPORT PORTD +#define DIO0_DDR DDRD + +#define DIO1_PIN PIND1 +#define DIO1_RPORT PIND +#define DIO1_WPORT PORTD +#define DIO1_DDR DDRD + +#define DIO2_PIN PIND2 +#define DIO2_RPORT PIND +#define DIO2_WPORT PORTD +#define DIO2_DDR DDRD + +#define DIO3_PIN PIND3 +#define DIO3_RPORT PIND +#define DIO3_WPORT PORTD +#define DIO3_DDR DDRD + +#define DIO4_PIN PIND4 +#define DIO4_RPORT PIND +#define DIO4_WPORT PORTD +#define DIO4_DDR DDRD + +#define DIO5_PIN PIND5 +#define DIO5_RPORT PIND +#define DIO5_WPORT PORTD +#define DIO5_DDR DDRD + +#define DIO6_PIN PIND6 +#define DIO6_RPORT PIND +#define DIO6_WPORT PORTD +#define DIO6_DDR DDRD + +#define DIO7_PIN PIND7 +#define DIO7_RPORT PIND +#define DIO7_WPORT PORTD +#define DIO7_DDR DDRD + +#define DIO8_PIN PINB0 +#define DIO8_RPORT PINB +#define DIO8_WPORT PORTB +#define DIO8_DDR DDRB + +#define DIO9_PIN PINB1 +#define DIO9_RPORT PINB +#define DIO9_WPORT PORTB +#define DIO9_DDR DDRB + +#define DIO10_PIN PINB2 +#define DIO10_RPORT PINB +#define DIO10_WPORT PORTB +#define DIO10_DDR DDRB + +#define DIO11_PIN PINB3 +#define DIO11_RPORT PINB +#define DIO11_WPORT PORTB +#define DIO11_DDR DDRB + +#define DIO12_PIN PINB4 +#define DIO12_RPORT PINB +#define DIO12_WPORT PORTB +#define DIO12_DDR DDRB + +#define DIO13_PIN PINB5 +#define DIO13_RPORT PINB +#define DIO13_WPORT PORTB +#define DIO13_DDR DDRB + +#define AIO0_PIN PINC0 +#define AIO0_RPORT PINC +#define AIO0_WPORT PORTC +#define AIO0_DDR DDRC + +#define AIO1_PIN PINC1 +#define AIO1_RPORT PINC +#define AIO1_WPORT PORTC +#define AIO1_DDR DDRC + +#define AIO2_PIN PINC2 +#define AIO2_RPORT PINC +#define AIO2_WPORT PORTC +#define AIO2_DDR DDRC + +#define AIO3_PIN PINC3 +#define AIO3_RPORT PINC +#define AIO3_WPORT PORTC +#define AIO3_DDR DDRC + +#define AIO4_PIN PINC4 +#define AIO4_RPORT PINC +#define AIO4_WPORT PORTC +#define AIO4_DDR DDRC + +#define AIO5_PIN PINC5 +#define AIO5_RPORT PINC +#define AIO5_WPORT PORTC +#define AIO5_DDR DDRC diff --git a/arduino_644.h b/arduino_644.h new file mode 100644 index 0000000..9debeda --- /dev/null +++ b/arduino_644.h @@ -0,0 +1,227 @@ +// UART +#define RXD DIO0 +#define TXD DIO1 + +// SPI +#define SCK DIO13 +#define MISO DIO12 +#define MOSI DIO11 +#define SS DIO10 + +// TWI (I2C) +#define SCL AIO5 +#define SDA AIO4 + +// timers and PWM +#define OC0A DIO6 +#define OC0B DIO5 +#define OC1A DIO9 +#define OC1B DIO10 +#define OC2A DIO11 +#define OC2B DIO3 + +#define ICP1 DIO8 + +/* +pins +*/ + +#define DIO0_PIN PINB0 +#define DIO0_RPORT PINB +#define DIO0_WPORT PORTB +#define DIO0_DDR DDRB + +#define DIO1_PIN PINB1 +#define DIO1_RPORT PINB +#define DIO1_WPORT PORTB +#define DIO1_DDR DDRB + +#define DIO2_PIN PINB2 +#define DIO2_RPORT PINB +#define DIO2_WPORT PORTB +#define DIO2_DDR DDRB + +#define DIO3_PIN PINB3 +#define DIO3_RPORT PINB +#define DIO3_WPORT PORTB +#define DIO3_DDR DDRB + +#define DIO4_PIN PINB4 +#define DIO4_RPORT PINB +#define DIO4_WPORT PORTB +#define DIO4_DDR DDRB + +#define DIO5_PIN PINB5 +#define DIO5_RPORT PINB +#define DIO5_WPORT PORTB +#define DIO5_DDR DDRB + +#define DIO6_PIN PINB6 +#define DIO6_RPORT PINB +#define DIO6_WPORT PORTB +#define DIO6_DDR DDRB + +#define DIO7_PIN PINB7 +#define DIO7_RPORT PINB +#define DIO7_WPORT PORTB +#define DIO7_DDR DDRB + +#define DIO8_PIN PIND0 +#define DIO8_RPORT PIND +#define DIO8_WPORT PORTD +#define DIO8_DDR DDRD + +#define DIO9_PIN PIND1 +#define DIO9_RPORT PIND +#define DIO9_WPORT PORTD +#define DIO9_DDR DDRD + +#define DIO10_PIN PIND2 +#define DIO10_RPORT PIND +#define DIO10_WPORT PORTD +#define DIO10_DDR DDRD + +#define DIO11_PIN PIND3 +#define DIO11_RPORT PIND +#define DIO11_WPORT PORTD +#define DIO11_DDR DDRD + +#define DIO12_PIN PIND4 +#define DIO12_RPORT PIND +#define DIO12_WPORT PORTD +#define DIO12_DDR DDRD + +#define DIO13_PIN PIND5 +#define DIO13_RPORT PIND +#define DIO13_WPORT PORTD +#define DIO13_DDR DDRD + +#define DIO14_PIN PIND6 +#define DIO14_RPORT PIND +#define DIO14_WPORT PORTD +#define DIO14_DDR DDRD + +#define DIO15_PIN PIND7 +#define DIO15_RPORT PIND +#define DIO15_WPORT PORTD +#define DIO15_DDR DDRD + +#define DIO16_PIN PINC0 +#define DIO16_RPORT PINC +#define DIO16_WPORT PORTC +#define DIO16_DDR DDRC + +#define DIO17_PIN PINC1 +#define DIO17_RPORT PINC +#define DIO17_WPORT PORTC +#define DIO17_DDR DDRC + +#define DIO18_PIN PINC2 +#define DIO18_RPORT PINC +#define DIO18_WPORT PORTC +#define DIO18_DDR DDRC + +#define DIO19_PIN PINC3 +#define DIO19_RPORT PINC +#define DIO19_WPORT PORTC +#define DIO19_DDR DDRC + +#define DIO20_PIN PINC4 +#define DIO20_RPORT PINC +#define DIO20_WPORT PORTC +#define DIO20_DDR DDRC + +#define DIO21_PIN PINC5 +#define DIO21_RPORT PINC +#define DIO21_WPORT PORTC +#define DIO21_DDR DDRC + +#define DIO22_PIN PINC6 +#define DIO22_RPORT PINC +#define DIO22_WPORT PORTC +#define DIO22_DDR DDRC + +#define DIO23_PIN PINC7 +#define DIO23_RPORT PINC +#define DIO23_WPORT PORTC +#define DIO23_DDR DDRC + +#define DIO24_PIN PINA7 +#define DIO24_RPORT PINA +#define DIO24_WPORT PORTA +#define DIO24_DDR DDRA + +#define DIO25_PIN PINA6 +#define DIO25_RPORT PINA +#define DIO25_WPORT PORTA +#define DIO25_DDR DDRA + +#define DIO26_PIN PINA5 +#define DIO26_RPORT PINA +#define DIO26_WPORT PORTA +#define DIO26_DDR DDRA + +#define DIO27_PIN PINA4 +#define DIO27_RPORT PINA +#define DIO27_WPORT PORTA +#define DIO27_DDR DDRA + +#define DIO28_PIN PINA3 +#define DIO28_RPORT PINA +#define DIO28_WPORT PORTA +#define DIO28_DDR DDRA + +#define DIO29_PIN PINA2 +#define DIO29_RPORT PINA +#define DIO29_WPORT PORTA +#define DIO29_DDR DDRA + +#define DIO30_PIN PINA1 +#define DIO30_RPORT PINA +#define DIO30_WPORT PORTA +#define DIO30_DDR DDRA + +#define DIO31_PIN PINA0 +#define DIO31_RPORT PINA +#define DIO31_WPORT PORTA +#define DIO31_DDR DDRA + +#define AIO0_PIN PINA0 +#define AIO0_RPORT PINA +#define AIO0_WPORT PORTA +#define AIO0_DDR DDRA + +#define AIO1_PIN PINA1 +#define AIO1_RPORT PINA +#define AIO1_WPORT PORTA +#define AIO1_DDR DDRA + +#define AIO2_PIN PINA2 +#define AIO2_RPORT PINA +#define AIO2_WPORT PORTA +#define AIO2_DDR DDRA + +#define AIO3_PIN PINA3 +#define AIO3_RPORT PINA +#define AIO3_WPORT PORTA +#define AIO3_DDR DDRA + +#define AIO4_PIN PINA4 +#define AIO4_RPORT PINA +#define AIO4_WPORT PORTA +#define AIO4_DDR DDRA + +#define AIO5_PIN PINA5 +#define AIO5_RPORT PINA +#define AIO5_WPORT PORTA +#define AIO5_DDR DDRA + +#define AIO6_PIN PINA6 +#define AIO6_RPORT PINA +#define AIO6_WPORT PORTA +#define AIO6_DDR DDRA + +#define AIO7_PIN PINA7 +#define AIO7_RPORT PINA +#define AIO7_WPORT PORTA +#define AIO7_DDR DDRA