summaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authormicroDev <70126934+microDev1@users.noreply.github.com>2020-11-26 11:22:44 +0530
committermicroDev <70126934+microDev1@users.noreply.github.com>2020-11-26 11:22:44 +0530
commit6af48bb24cc12a9547aef8d18d56acf8e0f5695d (patch)
tree6bb9d7414e5a447398cffdcd6ca8d149ef2e7fbf /ports
parent048ca2a57003d6f122db57dfc93513222380cff0 (diff)
reset touchin on every vm run
Diffstat (limited to 'ports')
-rw-r--r--ports/esp32s2/common-hal/touchio/TouchIn.c8
-rw-r--r--ports/esp32s2/supervisor/port.c5
2 files changed, 12 insertions, 1 deletions
diff --git a/ports/esp32s2/common-hal/touchio/TouchIn.c b/ports/esp32s2/common-hal/touchio/TouchIn.c
index 4589c46a7..b27cbcf86 100644
--- a/ports/esp32s2/common-hal/touchio/TouchIn.c
+++ b/ports/esp32s2/common-hal/touchio/TouchIn.c
@@ -31,6 +31,13 @@
bool touch_inited = false;
+void touchin_reset(void) {
+ if (touch_inited) {
+ touch_pad_deinit();
+ touch_inited = false;
+ }
+}
+
static uint16_t get_raw_reading(touchio_touchin_obj_t *self) {
uint32_t touch_value;
touch_pad_read_raw_data((touch_pad_t)self->pin->touch_channel, &touch_value);
@@ -78,7 +85,6 @@ void common_hal_touchio_touchin_deinit(touchio_touchin_obj_t* self) {
if (common_hal_touchio_touchin_deinited(self)) {
return;
}
- touch_pad_deinit();
reset_pin_number(self->pin->touch_channel);
self->pin = NULL;
}
diff --git a/ports/esp32s2/supervisor/port.c b/ports/esp32s2/supervisor/port.c
index 876ad739d..e2defc5af 100644
--- a/ports/esp32s2/supervisor/port.c
+++ b/ports/esp32s2/supervisor/port.c
@@ -43,6 +43,7 @@
#include "common-hal/busio/UART.h"
#include "common-hal/pulseio/PulseIn.h"
#include "common-hal/pwmio/PWMOut.h"
+#include "common-hal/touchio/TouchIn.h"
#include "common-hal/watchdog/WatchDogTimer.h"
#include "common-hal/wifi/__init__.h"
#include "supervisor/memory.h"
@@ -127,6 +128,10 @@ void reset_port(void) {
rtc_reset();
#endif
+#if CIRCUITPY_TOUCHIO_USE_NATIVE
+ touchin_reset();
+#endif
+
#if CIRCUITPY_WATCHDOG
watchdog_reset();
#endif