aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid A. Mellis <d.mellis@arduino.cc>2013-03-06 17:49:44 -0500
committerDavid A. Mellis <d.mellis@arduino.cc>2013-03-06 17:49:44 -0500
commitaa218e803a8fd1bffd79fbcbe7ca2fef56a2fe37 (patch)
tree8c592d7eeae0ea7889f9b47e51b56ed9576314b2
parent09b755fb9c3f5c42fa9b38ffeef0dbfa2cfd8315 (diff)
Use analogPinToChannel() macro if present for ATtiny25/45/85.
This allows use of A0, A1, A2, A3 constants and for them to be mapped to the appropriate analog input channel. It should only be used if the macro is actually defined.
-rw-r--r--cores/arduino/wiring_analog.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/cores/arduino/wiring_analog.c b/cores/arduino/wiring_analog.c
index 23b01c6..3f19c7f 100644
--- a/cores/arduino/wiring_analog.c
+++ b/cores/arduino/wiring_analog.c
@@ -47,6 +47,8 @@ int analogRead(uint8_t pin)
if (pin >= 18) pin -= 18; // allow for channel or pin numbers
#elif defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644P__)
if (pin >= 24) pin -= 24; // allow for channel or pin numbers
+#elif defined(analogPinToChannel) && (defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__))
+ pin = analogPinToChannel(pin);
#else
if (pin >= 14) pin -= 14; // allow for channel or pin numbers
#endif