Skip to content

Commit

Permalink
Touchin.c - fix clean up in constructor before exception is thrown
Browse files Browse the repository at this point in the history
When the constructor value reading times out, an exception is thrown, but the digital pin is not de-initialised. Make sure to run the clean up, so user could catch the exception and retry using the same pin.
  • Loading branch information
Sciss authored Aug 10, 2022
1 parent c2a45c1 commit 92231e8
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions shared-module/touchio/TouchIn.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ void common_hal_touchio_touchin_construct(touchio_touchin_obj_t *self, const mcu

uint16_t raw_reading = get_raw_reading(self);
if (raw_reading == TIMEOUT_TICKS) {
common_hal_touchio_touchin_deinit(self);
mp_raise_ValueError(translate("No pulldown on pin; 1Mohm recommended"));
}
self->threshold = raw_reading * 1.05 + 100;
Expand Down

0 comments on commit 92231e8

Please sign in to comment.