From ba5d66c26f88848fbab6cd5cc23d1c19a7380a32 Mon Sep 17 00:00:00 2001 From: Zach Eveland Date: Wed, 16 Nov 2011 10:49:41 -0500 Subject: [PATCH] Fixed handling of Ax constants on Leonardo Fixed mistake in assignment and handling of A6-A11 constants. Renumbered constants for all Ax channels. --- .../arduino/cores/arduino/wiring_analog.c | 2 ++ .../arduino/variants/leonardo/pins_arduino.h | 26 +++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/hardware/arduino/cores/arduino/wiring_analog.c b/hardware/arduino/cores/arduino/wiring_analog.c index 2b1f3a0a2..902b15362 100644 --- a/hardware/arduino/cores/arduino/wiring_analog.c +++ b/hardware/arduino/cores/arduino/wiring_analog.c @@ -43,6 +43,8 @@ int analogRead(uint8_t pin) #if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) if (pin >= 54) pin -= 54; // allow for channel or pin numbers +#elif defined(__AVR_ATmega32U4__) + if (pin >= 18) pin -= 18; // allow for channel or pin numbers #else if (pin >= 14) pin -= 14; // allow for channel or pin numbers #endif diff --git a/hardware/arduino/variants/leonardo/pins_arduino.h b/hardware/arduino/variants/leonardo/pins_arduino.h index 4d83f881a..a64eb1753 100644 --- a/hardware/arduino/variants/leonardo/pins_arduino.h +++ b/hardware/arduino/variants/leonardo/pins_arduino.h @@ -45,19 +45,19 @@ const static uint8_t MISO = 17; const static uint8_t SCK = 15; // Mapping of analog pins as digital I/O -// A6-A11 are already shared with digital pins -const static uint8_t A0 = 14; -const static uint8_t A1 = 15; -const static uint8_t A2 = 16; -const static uint8_t A3 = 17; -const static uint8_t A4 = 18; -const static uint8_t A5 = 19; -const static uint8_t A6 = 4; -const static uint8_t A7 = 6; -const static uint8_t A8 = 8; -const static uint8_t A9 = 9; -const static uint8_t A10 = 10; -const static uint8_t A11 = 12; +// A6-A11 share with digital pins +const static uint8_t A0 = 18; +const static uint8_t A1 = 19; +const static uint8_t A2 = 20; +const static uint8_t A3 = 21; +const static uint8_t A4 = 22; +const static uint8_t A5 = 23; +const static uint8_t A6 = 24; // D4 +const static uint8_t A7 = 25; // D6 +const static uint8_t A8 = 26; // D8 +const static uint8_t A9 = 27; // D9 +const static uint8_t A10 = 28; // D10 +const static uint8_t A11 = 29; // D12 // __AVR_ATmega32U4__ has an unusual mapping of pins to channels extern const uint8_t PROGMEM analog_pin_to_channel_PGM[];