8static const char *
const TAG =
"deep_sleep.bk72xx";
14 LOG_PIN(
" Wakeup Pin: ", item.wakeup_pin);
30 ESP_LOGV(TAG,
"Waiting for pin to switch state to enter deep sleep...");
44 item.wakeup_level = !item.wakeup_level;
47 ESP_LOGI(TAG,
"Wake-up on P%u %s (%d)", item.wakeup_pin->get_pin(), item.wakeup_level ?
"HIGH" :
"LOW",
48 static_cast<int32_t
>(item.wakeup_pin_mode));
52 lt_deep_sleep_config_timer((*this->
sleep_duration_ / 1000) & 0xFFFFFFFF);
55 lt_deep_sleep_config_gpio(1 << item.wakeup_pin->get_pin(), item.wakeup_level);
56 lt_deep_sleep_keep_floating_gpio(1 << item.wakeup_pin->get_pin(),
true);
59 lt_deep_sleep_enter();
void status_set_warning(const char *message=nullptr)
optional< uint64_t > sleep_duration_
FixedVector< WakeUpPinItem > wakeup_pins_
optional< uint32_t > get_run_duration_() const
bool pin_prevents_sleep_(WakeUpPinItem &pinItem) const
bool get_real_pin_state_(InternalGPIOPin &pin) const
bool next_enter_deep_sleep_
optional< uint32_t > run_duration_
void dump_config_platform_()
@ WAKEUP_PIN_MODE_KEEP_AWAKE
As long as the wakeup pin is still in the wakeup state, keep awake.
@ WAKEUP_PIN_MODE_INVERT_WAKEUP
Automatically invert the wakeup level.
WakeupPinMode wakeup_pin_mode
InternalGPIOPin * wakeup_pin