aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Eveland <zeveland@blacklabel-development.com>2011-11-16 10:49:41 -0500
committerZach Eveland <zeveland@blacklabel-development.com>2011-11-16 10:49:41 -0500
commit3c60b1e54fad5b8e5aaf03c972cceb5711c54b89 (patch)
tree5d2104246d1e2a52da07df31766fe8e2d0fc6e79
parent768670f3b3f8d120abf7246ea6535cb2debb3d6e (diff)
Fixed handling of Ax constants on Leonardo
Fixed mistake in assignment and handling of A6-A11 constants. Renumbered constants for all Ax channels.
-rw-r--r--cores/arduino/wiring_analog.c2
-rw-r--r--variants/leonardo/pins_arduino.h26
2 files changed, 15 insertions, 13 deletions
diff --git a/cores/arduino/wiring_analog.c b/cores/arduino/wiring_analog.c
index 2b1f3a0..902b153 100644
--- a/cores/arduino/wiring_analog.c
+++ b/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/variants/leonardo/pins_arduino.h b/variants/leonardo/pins_arduino.h
index 4d83f88..a64eb17 100644
--- a/variants/leonardo/pins_arduino.h
+++ b/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[];