aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/wiring_analog.c
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 /cores/arduino/wiring_analog.c
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.
Diffstat (limited to 'cores/arduino/wiring_analog.c')
-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