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>
This commit is contained in:
parent
eb0027b82f
commit
33f50d4f20
@ -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) {
|
if (!initialized) {
|
||||||
touch_pad_init();
|
touch_pad_init();
|
||||||
touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
|
touch_pad_set_fsm_mode(TOUCH_FSM_MODE_TIMER);
|
||||||
#if TOUCH_HW_VER == 2
|
|
||||||
touch_pad_fsm_start();
|
|
||||||
#endif
|
|
||||||
initialized = 1;
|
initialized = 1;
|
||||||
}
|
}
|
||||||
#if SOC_TOUCH_VERSION_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);
|
esp_err_t err = touch_pad_config(self->touchpad_id);
|
||||||
#endif
|
#endif
|
||||||
if (err == ESP_OK) {
|
if (err == ESP_OK) {
|
||||||
|
#if SOC_TOUCH_VERSION_2
|
||||||
|
touch_pad_fsm_start();
|
||||||
|
#endif
|
||||||
|
|
||||||
return MP_OBJ_FROM_PTR(self);
|
return MP_OBJ_FROM_PTR(self);
|
||||||
}
|
}
|
||||||
mp_raise_ValueError(MP_ERROR_TEXT("Touch pad error"));
|
mp_raise_ValueError(MP_ERROR_TEXT("Touch pad error"));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user