8#include <zephyr/kernel.h>
26 k_sem_give(&esphome_wake_sem);
31 if (ms == 0) [[unlikely]] {
35 k_sem_take(&esphome_wake_sem, ms == UINT32_MAX ? K_FOREVER : K_MSEC(ms));
void ESPHOME_ALWAYS_INLINE wakeable_delay(uint32_t ms)
Host wakeable_delay uses select() over the registered fds — defined in wake_host.cpp.
std::atomic< uint8_t > g_wake_requested
void wake_loop_threadsafe()
Non-ISR: always inline.
K_SEM_DEFINE(esphome_wake_sem, 0, 1)
Platform-specific main loop wake primitives.