From aa218e803a8fd1bffd79fbcbe7ca2fef56a2fe37 Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Wed, 6 Mar 2013 17:49:44 -0500 Subject: [PATCH] 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. --- cores/arduino/wiring_analog.c | 2 ++ 1 file changed, 2 insertions(+) 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