Skip to content

Commit 02e8577

Browse files
authored
Add support for reverse numbering of analog pins. (earlephilhower#283)
1 parent 8451bc2 commit 02e8577

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

cores/rp2040/wiring_analog.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,15 +121,18 @@ auto_init_mutex(_adcMutex);
121121
extern "C" int analogRead(pin_size_t pin) {
122122
CoreMutex m(&_adcMutex);
123123

124-
if ((pin < A0) || (pin > A3) || !m) {
124+
pin_size_t maxPin = max(A0, A3);
125+
pin_size_t minPin = min(A0, A3);
126+
127+
if ((pin < minPin) || (pin > maxPin) || !m) {
125128
DEBUGCORE("ERROR: Illegal analogRead pin (%d)\n", pin);
126129
return 0;
127130
}
128131
if (!adcInitted) {
129132
adc_init();
130133
}
131134
adc_gpio_init(pin);
132-
adc_select_input(pin - A0);
135+
adc_select_input(pin - minPin);
133136
return adc_read();
134137
}
135138

variants/challenger_2040_lte/pins_arduino.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ static const uint8_t D15 = (14u);
6767
static const uint8_t D16 = (15u);
6868
static const uint8_t D17 = (19u);
6969

70-
static const uint8_t A0 = (26u);
71-
static const uint8_t A1 = (27u);
72-
static const uint8_t A2 = (28u);
73-
static const uint8_t A3 = (29u);
70+
static const uint8_t A0 = (29u);
71+
static const uint8_t A1 = (28u);
72+
static const uint8_t A2 = (27u);
73+
static const uint8_t A3 = (26u);
7474
static const uint8_t A4 = (25u);
7575
static const uint8_t A5 = (21u);

0 commit comments

Comments
 (0)