Skip to content

Commit dbb6f5f

Browse files
authored
Merge pull request #6246 from DavePutz/issue_6148
Don't reset GPIO4 on the MagTag (used for voltage monitoring)
2 parents 742c05d + 99dc402 commit dbb6f5f

File tree

2 files changed

+8
-0
lines changed
  • ports/espressif

2 files changed

+8
-0
lines changed

ports/espressif/boards/adafruit_magtag_2.9_grayscale/board.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,10 @@ bool espressif_board_reset_pin_number(gpio_num_t pin_number) {
188188
gpio_config(&cfg);
189189
return true;
190190
}
191+
// Pin 4 is used for voltage monitoring, so don't reset
192+
if (pin_number == 4) {
193+
return true;
194+
}
191195
return false;
192196
}
193197

ports/espressif/common-hal/analogio/AnalogIn.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ void common_hal_analogio_analogin_construct(analogio_analogin_obj_t *self,
5555
}
5656
common_hal_mcu_pin_claim(pin);
5757
self->pin = pin;
58+
// Pull-ups are enabled by default for power-saving reasons on quiescent pins.
59+
// Turn off the pull-up as soon as we know the pin will be used for analog reads,
60+
// since it may take a while for the voltage to stabilize if the input is high-impedance.
61+
gpio_pullup_dis(pin->number);
5862
}
5963

6064
bool common_hal_analogio_analogin_deinited(analogio_analogin_obj_t *self) {

0 commit comments

Comments
 (0)