mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 17:49:10 -04:00
When enable sleep reject before this fix, we have two limitations: 1. it must be light sleep 2. RTC GPIO wakeup source must be set We require light sleep because `esp_deep_sleep_start` function has been declared with "noreturn" attribute, So developers don't expect that this function may return (due to an error or a sleep reject). But the requirement for RTC GPIO wakeup source is not reasonable for all chips. This requirement exists because ESP32 only supports RTC GPIO and SDIO sleep reject sources. But later chips support all sleep reject sources. This fix brings the following changes: for ESP32: RTC GPIO and SDIO sleep reject sources can be enabled when corresponding wakeup source is set. for later chips: all sleep reject sources can be enabled when corresponding wakeup source is set.
esp_hw_support
This component contains hardware-related operations for supporting the system. These operations
are one level above that of hal
in that these(1) use system services such as memory allocation, logging, scheduling
or (2) may be multi-step operations involving/affecting multiple parts of the SoC.
Implementations that don't fit other components cleanly, but are not worth creating a new component for (yet) may also be placed here as long as they don't pull dependencies other than the core system components.