

The pin is configured in esp_sleep_start, immediately before entering sleep mode. This function does not modify pin configuration. Once the pin transitions into the state given by level argument, the chip will be woken up. This feature can monitor any pin which is an RTC IO. It will work only if RTC peripherals are kept on during sleep. This function uses external wakeup feature of RTC_IO peripheral.

Touch pad which caused wakeup esp_err_t esp_sleep_enable_ext0_wakeup ( gpio_num_t gpio_num, int level ) ¶ If wakeup was caused by another source, this function will return TOUCH_PAD_MAX Touch_pad_t esp_sleep_get_touchpad_wakeup_status (void ) ¶ ReturnĮSP_ERR_INVALID_STATE if wakeup triggers conflict The FSM mode of the touch button should be configured as the timer trigger mode. Touch wakeup source cannot be used when RTC_PERIPH power domain is forced to be powered on (ESP_PD_OPTION_ON) or when ext0 wakeup source is used. Time_in_us: time before wakeup, in microsecondsĮsp_err_t esp_sleep_enable_touchpad_wakeup (void ) ¶ ReturnĮSP_ERR_NOT_SUPPORTED if additional current by touch (CONFIG_ESP32_RTC_EXT_CRYST_ADDIT_CURRENT) is enabled.ĮSP_ERR_INVALID_STATE if ULP co-processor is not enabled or if wakeup triggers conflictĮsp_err_t esp_sleep_enable_timer_wakeup (uint64_t time_in_us ) ¶ĮSP_ERR_INVALID_ARG if value is out of range (TBD) ULP wakeup source cannot be used when RTC_PERIPH power domain is forced to be powered on (ESP_PD_OPTION_ON) or when ext0 wakeup source is used. Source: - number of source to disable of type esp_sleep_source_tĮsp_err_t esp_sleep_enable_ulp_wakeup (void ) ¶ It will be performed in esp_sleep_start function.ĮSP_ERR_INVALID_STATE if trigger was not active

This function does not modify wake up configuration in RTC. This function is used to deactivate wake up trigger for source defined as parameter of the function. At this point the hardware will be configured according to the requested wakeup sources, and RTC controller will either power down or power off the CPUs and digital peripherals.įunctions ¶ esp_err_t esp_sleep_disable_wakeup_source ( esp_sleep_source_t source ) ¶ Once wakeup sources are configured, application can enter sleep mode using esp_light_sleep_start() or esp_deep_sleep_start() APIs. Wakeup sources can be configured at any moment before entering light or deep sleep mode.Īdditionally, the application can force specific powerdown modes for the RTC peripherals and RTC memories using esp_sleep_pd_config() API. Next section describes these APIs in detail. Wakeup sources can be enabled using esp_sleep_enable_X_wakeup APIs and can be disabled using esp_sleep_disable_wakeup_source() API. These sources can be combined, in this case the chip will wake up when any one of the sources is triggered. Wakeup from deep and light sleep modes can be done using several sources. The only parts of the chip which can still be powered on are: RTC controller, RTC peripherals (including ULP coprocessor), and RTC memories (slow and fast). In deep sleep mode, CPUs, most of the RAM, and all the digital peripherals which are clocked from APB_CLK are powered off. Upon exit from light sleep, peripherals and CPUs resume operation, their internal state is preserved. In light sleep mode, digital peripherals, most of the RAM, and CPUs are clock-gated, and supply voltage is reduced. ESP32 is capable of light sleep and deep sleep power saving modes.
