From 5b3121abc59321937f7d6cb3888762abe8859f51 Mon Sep 17 00:00:00 2001 From: Markus Hitter Date: Wed, 13 Aug 2014 14:11:49 +0200 Subject: [PATCH] arduino_xxx.h: add DIO names next to AIO names. This is mostly for less confusion, because analog pins can be used as digital ones, too. It also matches what other firmwares do, so people can simply copy & paste pin definitions. Definitions were taken from Sprinter's fastio.h (which was initially crafted by copying Teacup's arduino*.h files :-) ) --- arduino_1280.h | 107 +++++++++++++++++++++++++++++++++++++++++++-- arduino_168_328p.h | 59 +++++++++++++++++++++++-- arduino_644.h | 12 +++-- 3 files changed, 167 insertions(+), 11 deletions(-) diff --git a/arduino_1280.h b/arduino_1280.h index 493bcfc..e2ef24f 100644 --- a/arduino_1280.h +++ b/arduino_1280.h @@ -30,9 +30,7 @@ #define OC5C DIO44 -/* -pins -*/ +// digital pins #define DIO0_PIN PINE0 #define DIO0_RPORT PINE #define DIO0_WPORT PORTE @@ -357,6 +355,109 @@ pins #define DIO53_DDR DDRB #define DIO53_PWM NULL +/** + DIO54 ... DIO69 are added for compatibility with other + firmwares and duplicate names for AIO0 ... AIO15, + so DIO54 == AIO0, DIO55 == AIO1, DIO56 == AIO2, ... +*/ +#define DIO54_PIN PINF0 +#define DIO54_RPORT PINF +#define DIO54_WPORT PORTF +#define DIO54_DDR DDRF +#define DIO54_PWM NULL + +#define DIO55_PIN PINF1 +#define DIO55_RPORT PINF +#define DIO55_WPORT PORTF +#define DIO55_DDR DDRF +#define DIO55_PWM NULL + +#define DIO56_PIN PINF2 +#define DIO56_RPORT PINF +#define DIO56_WPORT PORTF +#define DIO56_DDR DDRF +#define DIO56_PWM NULL + +#define DIO57_PIN PINF3 +#define DIO57_RPORT PINF +#define DIO57_WPORT PORTF +#define DIO57_DDR DDRF +#define DIO57_PWM NULL + +#define DIO58_PIN PINF4 +#define DIO58_RPORT PINF +#define DIO58_WPORT PORTF +#define DIO58_DDR DDRF +#define DIO58_PWM NULL + +#define DIO59_PIN PINF5 +#define DIO59_RPORT PINF +#define DIO59_WPORT PORTF +#define DIO59_DDR DDRF +#define DIO59_PWM NULL + +#define DIO60_PIN PINF6 +#define DIO60_RPORT PINF +#define DIO60_WPORT PORTF +#define DIO60_DDR DDRF +#define DIO60_PWM NULL + +#define DIO61_PIN PINF7 +#define DIO61_RPORT PINF +#define DIO61_WPORT PORTF +#define DIO61_DDR DDRF +#define DIO61_PWM NULL + +#define DIO62_PIN PINK0 +#define DIO62_RPORT PINK +#define DIO62_WPORT PORTK +#define DIO62_DDR DDRK +#define DIO62_PWM NULL + +#define DIO63_PIN PINK1 +#define DIO63_RPORT PINK +#define DIO63_WPORT PORTK +#define DIO63_DDR DDRK +#define DIO63_PWM NULL + +#define DIO64_PIN PINK2 +#define DIO64_RPORT PINK +#define DIO64_WPORT PORTK +#define DIO64_DDR DDRK +#define DIO64_PWM NULL + +#define DIO65_PIN PINK3 +#define DIO65_RPORT PINK +#define DIO65_WPORT PORTK +#define DIO65_DDR DDRK +#define DIO65_PWM NULL + +#define DIO66_PIN PINK4 +#define DIO66_RPORT PINK +#define DIO66_WPORT PORTK +#define DIO66_DDR DDRK +#define DIO66_PWM NULL + +#define DIO67_PIN PINK5 +#define DIO67_RPORT PINK +#define DIO67_WPORT PORTK +#define DIO67_DDR DDRK +#define DIO67_PWM NULL + +#define DIO68_PIN PINK6 +#define DIO68_RPORT PINK +#define DIO68_WPORT PORTK +#define DIO68_DDR DDRK +#define DIO68_PWM NULL + +#define DIO69_PIN PINK7 +#define DIO69_RPORT PINK +#define DIO69_WPORT PORTK +#define DIO69_DDR DDRK +#define DIO69_PWM NULL + + +// analog pins #define AIO0_PIN PINF0 #define AIO0_RPORT PINF #define AIO0_WPORT PORTF diff --git a/arduino_168_328p.h b/arduino_168_328p.h index 23ca34d..e3b02f0 100644 --- a/arduino_168_328p.h +++ b/arduino_168_328p.h @@ -21,10 +21,7 @@ #define OC2B DIO3 -/* -pins -*/ - +// digital pins #define DIO0_PIN PIND0 #define DIO0_RPORT PIND #define DIO0_WPORT PORTD @@ -109,7 +106,61 @@ pins #define DIO13_DDR DDRB #define DIO13_PWM NULL +/** + DIO14 ... DIO21 are added for compatibility with other + firmwares and duplicate names for AIO0 ... AIO7, + so DIO14 == AIO0, DIO15 == AIO1, DIO16 == AIO2, ... +*/ +#define DIO14_PIN PINC0 +#define DIO14_RPORT PINC +#define DIO14_WPORT PORTC +#define DIO14_DDR DDRC +#define DIO14_PWM NULL +#define DIO15_PIN PINC1 +#define DIO15_RPORT PINC +#define DIO15_WPORT PORTC +#define DIO15_DDR DDRC +#define DIO15_PWM NULL + +#define DIO16_PIN PINC2 +#define DIO16_RPORT PINC +#define DIO16_WPORT PORTC +#define DIO16_DDR DDRC +#define DIO16_PWM NULL + +#define DIO17_PIN PINC3 +#define DIO17_RPORT PINC +#define DIO17_WPORT PORTC +#define DIO17_DDR DDRC +#define DIO17_PWM NULL + +#define DIO18_PIN PINC4 +#define DIO18_RPORT PINC +#define DIO18_WPORT PORTC +#define DIO18_DDR DDRC +#define DIO18_PWM NULL + +#define DIO19_PIN PINC5 +#define DIO19_RPORT PINC +#define DIO19_WPORT PORTC +#define DIO19_DDR DDRC +#define DIO19_PWM NULL + +#define DIO20_PIN PINC6 +#define DIO20_RPORT PINC +#define DIO20_WPORT PORTC +#define DIO20_DDR DDRC +#define DIO20_PWM NULL + +#define DIO21_PIN PINC7 +#define DIO21_RPORT PINC +#define DIO21_WPORT PORTC +#define DIO21_DDR DDRC +#define DIO21_PWM NULL + + +// analog pins #define AIO0_PIN PINC0 #define AIO0_RPORT PINC #define AIO0_WPORT PORTC diff --git a/arduino_644.h b/arduino_644.h index aab99ff..3fe34d1 100644 --- a/arduino_644.h +++ b/arduino_644.h @@ -26,10 +26,7 @@ #define OC2B DIO14 -/* -pins -*/ - +// digital pins #define DIO0_PIN PINB0 #define DIO0_RPORT PINB #define DIO0_WPORT PORTB @@ -174,6 +171,11 @@ pins #define DIO23_DDR DDRC #define DIO23_PWM NULL +/** + DIO24 ... DIO31 are duplicate names for AIO0 ... AIO7 in opposite order, so + DIO24 == AIO7, DIO25 == AIO6, DIO26 == AIO5, DIO27 == AIO4, + DIO28 == AIO3, DIO29 == AIO2, DIO30 == AIO1 and DIO31 == AIO0 +*/ #define DIO24_PIN PINA7 #define DIO24_RPORT PINA #define DIO24_WPORT PORTA @@ -222,6 +224,8 @@ pins #define DIO31_DDR DDRA #define DIO31_PWM NULL + +// analog pins #define AIO0_PIN PINA0 #define AIO0_RPORT PINA #define AIO0_WPORT PORTA