Jelajahi Sumber

deep sleep: allow wakeup from touch sensor interrupt

Wangjialin 9 tahun lalu
induk
melakukan
cc13b0ea05
2 mengubah file dengan 13 tambahan dan 0 penghapusan
  1. 6 0
      components/esp32/deep_sleep.c
  2. 7 0
      components/esp32/include/esp_deep_sleep.h

+ 6 - 0
components/esp32/deep_sleep.c

@@ -177,6 +177,12 @@ esp_err_t esp_deep_sleep_enable_timer_wakeup(uint64_t time_in_us)
     return ESP_OK;
 }
 
+esp_err_t esp_deep_sleep_enable_touchpad_wakeup()
+{
+    s_config.wakeup_triggers |= TOUCH_TRIG_EN;
+    return ESP_OK;
+}
+
 esp_err_t esp_deep_sleep_enable_ext0_wakeup(gpio_num_t gpio_num, int level)
 {
     if (level < 0 || level > 1) {

+ 7 - 0
components/esp32/include/esp_deep_sleep.h

@@ -68,6 +68,13 @@ esp_err_t esp_deep_sleep_enable_ulp_wakeup();
  */
 esp_err_t esp_deep_sleep_enable_timer_wakeup(uint64_t time_in_us);
 
+/**
+ * @brief Enable wakeup by touch sensor
+ * @return
+ *      - ESP_OK on success
+ */
+esp_err_t esp_deep_sleep_enable_touchpad_wakeup();
+
 /**
  * @brief Enable wakeup using a pin
  *