summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAngus Gratton <angus@redyak.com.au>2024-11-06 17:14:09 +1100
committerDamien George <damien@micropython.org>2024-11-28 23:08:26 +1100
commit33f50d4f20de3543f81a8404545eeeffb4aebbc0 (patch)
tree697faafc369ea9bff66e460c0942dfca27197238
parenteb0027b82f77e9c9f072cecc1130c66ac287bc8a (diff)
esp32: Fix machine.TouchPad startup on ESP32-S2 and S3.
Closes #13178. TouchPad confirmed working on both chips, and fixes the the ESP32-S3 reading constant max value. Was unable to reproduce the bug on ESP32-S2 but this may be due to my test setup, and it still works with the fix. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
-rw-r--r--ports/esp32/machine_touchpad.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/ports/esp32/machine_touchpad.c b/ports/esp32/machine_touchpad.c
index a35e7fccd..48250280b 100644
--- a/ports/esp32/machine_touchpad.c
+++ b/ports/esp32/machine_touchpad.c
@@ -96,9 +96,6 @@ static mp_obj_t mtp_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_
if (!initialized) {
touch_pad_init();
touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
- #if TOUCH_HW_VER == 2
- touch_pad_fsm_start();
- #endif
initialized = 1;
}
#if SOC_TOUCH_VERSION_1
@@ -107,6 +104,10 @@ static mp_obj_t mtp_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_
esp_err_t err = touch_pad_config(self->touchpad_id);
#endif
if (err == ESP_OK) {
+ #if SOC_TOUCH_VERSION_2
+ touch_pad_fsm_start();
+ #endif
+
return MP_OBJ_FROM_PTR(self);
}
mp_raise_ValueError(MP_ERROR_TEXT("Touch pad error"));