Skip to content

Commit ab82b1a

Browse files
committed
Merge branch 'master' into ide-1.5.x
2 parents 1b0e47e + 293e46b commit ab82b1a

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

hardware/arduino/avr/cores/arduino/wiring_analog.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -41,22 +41,22 @@ int analogRead(uint8_t pin)
4141
{
4242
uint8_t low, high;
4343

44-
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
44+
#if defined(analogPinToChannel)
45+
#if defined(__AVR_ATmega32U4__)
46+
if (pin >= 18) pin -= 18; // allow for channel or pin numbers
47+
#endif
48+
pin = analogPinToChannel(pin);
49+
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
4550
if (pin >= 54) pin -= 54; // allow for channel or pin numbers
4651
#elif defined(__AVR_ATmega32U4__)
4752
if (pin >= 18) pin -= 18; // allow for channel or pin numbers
4853
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)
4954
if (pin >= 24) pin -= 24; // allow for channel or pin numbers
50-
#elif defined(analogPinToChannel) && (defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__))
51-
pin = analogPinToChannel(pin);
5255
#else
5356
if (pin >= 14) pin -= 14; // allow for channel or pin numbers
5457
#endif
55-
56-
#if defined(__AVR_ATmega32U4__)
57-
pin = analogPinToChannel(pin);
58-
ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
59-
#elif defined(ADCSRB) && defined(MUX5)
58+
59+
#if defined(ADCSRB) && defined(MUX5)
6060
// the MUX5 bit of ADCSRB selects whether we're reading from channels
6161
// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
6262
ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);

hardware/arduino/avr/cores/robot/wiring_analog.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -41,22 +41,22 @@ int analogRead(uint8_t pin)
4141
{
4242
uint8_t low, high;
4343

44-
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
44+
#if defined(analogPinToChannel)
45+
#if defined(__AVR_ATmega32U4__)
46+
if (pin >= 18) pin -= 18; // allow for channel or pin numbers
47+
#endif
48+
pin = analogPinToChannel(pin);
49+
#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
4550
if (pin >= 54) pin -= 54; // allow for channel or pin numbers
4651
#elif defined(__AVR_ATmega32U4__)
4752
if (pin >= 18) pin -= 18; // allow for channel or pin numbers
4853
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)
4954
if (pin >= 24) pin -= 24; // allow for channel or pin numbers
50-
#elif defined(analogPinToChannel) && (defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__))
51-
pin = analogPinToChannel(pin);
5255
#else
5356
if (pin >= 14) pin -= 14; // allow for channel or pin numbers
5457
#endif
55-
56-
#if defined(__AVR_ATmega32U4__)
57-
pin = analogPinToChannel(pin);
58-
ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
59-
#elif defined(ADCSRB) && defined(MUX5)
58+
59+
#if defined(ADCSRB) && defined(MUX5)
6060
// the MUX5 bit of ADCSRB selects whether we're reading from channels
6161
// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
6262
ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);

0 commit comments

Comments
 (0)