mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-08 12:37:01 +03:00
take into account case with no wake option
This commit is contained in:
@@ -176,11 +176,13 @@ void services_sleep_activate(sleep_cause_e cause) {
|
|||||||
if (sleep_config.wake_gpio & (sleep_config.wake_gpio - 1)) {
|
if (sleep_config.wake_gpio & (sleep_config.wake_gpio - 1)) {
|
||||||
ESP_LOGI(TAG, "going to sleep cause %d, wake-up on multiple GPIO, any '1' wakes up 0x%llx", cause, sleep_config.wake_gpio);
|
ESP_LOGI(TAG, "going to sleep cause %d, wake-up on multiple GPIO, any '1' wakes up 0x%llx", cause, sleep_config.wake_gpio);
|
||||||
esp_sleep_enable_ext1_wakeup(sleep_config.wake_gpio, ESP_EXT1_WAKEUP_ANY_HIGH);
|
esp_sleep_enable_ext1_wakeup(sleep_config.wake_gpio, ESP_EXT1_WAKEUP_ANY_HIGH);
|
||||||
} else {
|
} else if (sleep_config.wake_gpio) {
|
||||||
int gpio = __builtin_ctz(sleep_config.wake_gpio);
|
int gpio = __builtin_ctz(sleep_config.wake_gpio);
|
||||||
int level = (sleep_config.wake_level >> gpio) & 0x01;
|
int level = (sleep_config.wake_level >> gpio) & 0x01;
|
||||||
ESP_LOGI(TAG, "going to sleep cause %d, wake-up on GPIO %d level %d", cause, gpio, level);
|
ESP_LOGI(TAG, "going to sleep cause %d, wake-up on GPIO %d level %d", cause, gpio, level);
|
||||||
esp_sleep_enable_ext0_wakeup(gpio, level);
|
esp_sleep_enable_ext0_wakeup(gpio, level);
|
||||||
|
} else {
|
||||||
|
ESP_LOGW(TAG, "going to sleep cause %d, no wake-up option", cause);
|
||||||
}
|
}
|
||||||
|
|
||||||
// we need to use a timer in case the same button is used for sleep and wake-up and it's "pressed" vs "released" selected
|
// we need to use a timer in case the same button is used for sleep and wake-up and it's "pressed" vs "released" selected
|
||||||
|
|||||||
Reference in New Issue
Block a user