|
idfxx 1.0.0
Modern C++23 components for ESP-IDF
|
Light and deep sleep with type-safe wake-up source configuration. More...
#include <idfxx/error>#include <idfxx/gpio>#include <chrono>#include <concepts>#include <cstdint>#include <initializer_list>#include <optional>#include <soc/soc_caps.h>#include <string>#include <type_traits>#include "sdkconfig.h"Go to the source code of this file.
Classes | |
| struct | idfxx::sleep::timer_wake |
| Wakes the chip after a fixed duration of sleep. More... | |
| struct | idfxx::sleep::gpio_wake |
| Wakes the chip from light sleep when a digital pin is at a level. More... | |
| struct | idfxx::sleep::ext0_wake |
| Wakes the chip when a single RTC-capable pin is at a level (EXT0). More... | |
| class | idfxx::sleep::ext1_wake |
| Wakes the chip on levels of one or more RTC-capable pins (EXT1). More... | |
| class | idfxx::sleep::deep_sleep_gpio_wake |
| Wakes the chip from deep sleep on levels of one or more pins. More... | |
Namespaces | |
| namespace | idfxx |
| namespace | idfxx::sleep |
Concepts | |
| concept | idfxx::sleep::wake_spec |
| A wake-up source specification accepted by the sleep functions. | |
Enumerations | |
| enum class | idfxx::sleep::wakeup_source : int { idfxx::sleep::ext0 = 2 , idfxx::sleep::ext1 = 3 , idfxx::sleep::timer = 4 , idfxx::sleep::touchpad = 5 , idfxx::sleep::ulp = 6 , idfxx::sleep::gpio = 7 , idfxx::sleep::uart = 8 , idfxx::sleep::wifi = 9 , idfxx::sleep::cocpu = 10 , idfxx::sleep::cocpu_trap = 11 , idfxx::sleep::bt = 12 , idfxx::sleep::other = 13 } |
| Wake-up sources and causes. More... | |
| enum class | idfxx::sleep::ext1_mode : int { idfxx::sleep::any_low = 0 , idfxx::sleep::any_high = 1 } |
| EXT1 wake-up trigger mode. More... | |
| enum class | idfxx::sleep::deep_sleep_gpio_mode : int { idfxx::sleep::wake_low = 0 , idfxx::sleep::wake_high = 1 } |
| Trigger level for deep-sleep GPIO wake-up. More... | |
Functions | |
| std::string | idfxx::sleep::to_string (wakeup_source source) |
| Returns a string representation of a wake-up source. | |
| template<wake_spec... Sources> | |
| result< wakeup_source > | idfxx::sleep::try_light_sleep (const Sources &... sources) |
| Enters light sleep until one of the given wake-up sources triggers. | |
| template<wake_spec... Sources> | |
| wakeup_source | idfxx::sleep::light_sleep (const Sources &... sources) |
| Enters light sleep until one of the given wake-up sources triggers. | |
| wakeup_source | idfxx::sleep::light_sleep_for (std::chrono::microseconds duration) |
| Enters light sleep for a fixed duration. | |
| result< wakeup_source > | idfxx::sleep::try_light_sleep_for (std::chrono::microseconds duration) |
| Enters light sleep for a fixed duration. | |
| template<wake_spec First, wake_spec... Rest> | |
| result< void > | idfxx::sleep::try_deep_sleep (const First &first, const Rest &... rest) |
| Enters deep sleep until one of the given wake-up sources triggers. | |
| template<wake_spec First, wake_spec... Rest> | |
| void | idfxx::sleep::deep_sleep (const First &first, const Rest &... rest) |
| Enters deep sleep until one of the given wake-up sources triggers. | |
| void | idfxx::sleep::deep_sleep () noexcept |
| Enters deep sleep until a previously armed wake-up source triggers. | |
| void | idfxx::sleep::deep_sleep (std::chrono::microseconds duration) noexcept |
| Enters deep sleep for a fixed duration. | |
| std::optional< wakeup_source > | idfxx::sleep::wakeup_cause () noexcept |
| Returns the cause of the most recent wake from sleep. | |
| uint64_t | idfxx::sleep::ext1_wakeup_status () noexcept |
| Returns the pins that triggered the most recent EXT1 wake. | |
| template<wake_spec Source> | |
| void | idfxx::sleep::enable_wakeup (const Source &source) |
| Arms a wake-up source persistently. | |
| template<wake_spec Source> | |
| result< void > | idfxx::sleep::try_enable_wakeup (const Source &source) |
| Arms a wake-up source persistently. | |
| void | idfxx::sleep::disable_wakeup_source (wakeup_source source) |
| Disarms a previously armed wake-up source. | |
| void | idfxx::sleep::disable_all_wakeup_sources () |
| Disarms every armed wake-up source. | |
| result< void > | idfxx::sleep::try_disable_wakeup_source (wakeup_source source) |
| Disarms a previously armed wake-up source. | |
| result< void > | idfxx::sleep::try_disable_all_wakeup_sources () |
| Disarms every armed wake-up source. | |
Light and deep sleep with type-safe wake-up source configuration.
Definition in file sleep.hpp.