diff options
author | Angus Gratton <angus@redyak.com.au> | 2024-11-06 17:14:09 +1100 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2024-11-28 23:08:26 +1100 |
commit | 33f50d4f20de3543f81a8404545eeeffb4aebbc0 (patch) | |
tree | 697faafc369ea9bff66e460c0942dfca27197238 | |
parent | eb0027b82f77e9c9f072cecc1130c66ac287bc8a (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.c | 7 |
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")); |