touch_sensor: forbid from using touch sensor with sleep on ESP32-S3

This is not supported yet.
This commit is contained in:
Michael (XIAO Xufeng) 2022-03-24 03:00:47 +08:00
parent c29343eb94
commit ea27a8543a
4 changed files with 19 additions and 3 deletions

View File

@ -248,6 +248,10 @@ esp_err_t touch_pad_config(touch_pad_t touch_num)
esp_err_t touch_pad_init(void)
{
//TODO: IDF-4813
extern bool esp_no_sleep;
esp_no_sleep = true;
if (rtc_touch_mux == NULL) {
rtc_touch_mux = xSemaphoreCreateMutex();
}

View File

@ -357,8 +357,17 @@ inline static void IRAM_ATTR misc_modules_wake_prepare(void)
inline static uint32_t IRAM_ATTR call_rtc_sleep_start(uint32_t reject_triggers, uint32_t lslp_mem_inf_fpu);
//TODO: IDF-4813
bool esp_no_sleep = false;
static uint32_t IRAM_ATTR esp_sleep_start(uint32_t pd_flags)
{
#if CONFIG_IDF_TARGET_ESP32S3
if (esp_no_sleep) {
ESP_LOGE(TAG, "Sleep cannot be used with Touch/ULP for now.");
abort();
}
#endif //CONFIG_IDF_TARGET_ESP32S3
// Stop UART output so that output is not lost due to APB frequency change.
// For light sleep, suspend UART output — it will resume after wakeup.
// For deep sleep, wait for the contents of UART FIFO to be sent.

View File

@ -1,3 +1,6 @@
| Supported Targets | ESP32 | ESP32-S2 | ESP32-C3 |
| ----------------- | ----- | -------- | -------- |
# Deep Sleep Example
(See the README.md file in the upper level 'examples' directory for more information about examples.)

View File

@ -3,7 +3,7 @@ menu "Example Configuration"
config EXAMPLE_TOUCH_WAKEUP
bool "Enable touch wake up"
default y
depends on !IDF_TARGET_ESP32C3
depends on !IDF_TARGET_ESP32C3 && !IDF_TARGET_ESP32S3
help
This option enables wake up from deep sleep using touch pads
TOUCH8 and TOUCH9, which correspond to GPIO33 and GPIO32.
@ -33,8 +33,8 @@ menu "Example Configuration"
default y
depends on IDF_TARGET_ESP32C3
help
This option enables wake up from GPIO, only GPIO0~5 can be used to wake up. Be aware that if you use low level
to trigger wakeup, we strongly recommand you to connect external pull-up resistance.
This option enables wake up from GPIO, only GPIO0~5 can be used to wake up. Be aware that if you use low
level to trigger wakeup, we strongly recommand you to connect external pull-up resistance.
menu "GPIO wakeup configuration"
visible if IDF_TARGET_ESP32C3