17#define uS_TO_S_FACTOR 1000000ULL
19#define TIME_TO_SLEEP 5
21RTC_DATA_ATTR
int bootCount = 0;
40 esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
44 esp_deep_sleep_start();
53 esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_PERIPH, ESP_PD_OPTION_OFF);
54 esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_OFF);
55 esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_FAST_MEM, ESP_PD_OPTION_OFF);
56 esp_sleep_pd_config(ESP_PD_DOMAIN_XTAL, ESP_PD_OPTION_OFF);
69 esp_light_sleep_start();
87 esp_sleep_wakeup_cause_t wakeup_reason;
89 wakeup_reason = esp_sleep_get_wakeup_cause();
93 case ESP_SLEEP_WAKEUP_EXT0 : Serial.println(
"Wakeup caused by external signal using RTC_IO");
break;
94 case ESP_SLEEP_WAKEUP_EXT1 : Serial.println(
"Wakeup caused by external signal using RTC_CNTL");
break;
95 case ESP_SLEEP_WAKEUP_TIMER : Serial.println(
"Wakeup caused by timer");
break;
96 case ESP_SLEEP_WAKEUP_TOUCHPAD : Serial.println(
"Wakeup caused by touchpad");
break;
97 case ESP_SLEEP_WAKEUP_ULP : Serial.println(
"Wakeup caused by ULP program");
break;
98 default : Serial.printf(
"Wakeup was not caused by deep sleep: %d\n",wakeup_reason);
break;
#define DEBUG
Definition config.hpp:17
void hibernate(uint16_t time_to_sleep)
Hibernate for time_to_sleep seconds.
Definition firebeetle_sleep.hpp:52
void light_sleep()
Puts the device into light sleep.
Definition firebeetle_sleep.hpp:67
uint16_t seconds_to_uS(uint16_t seconds)
Convert seconds to micro-seconds.
Definition firebeetle_sleep.hpp:77
void print_wakeup_reason()
Method to print the reason by which ESP32 has been awaken from sleep.
Definition firebeetle_sleep.hpp:85
#define uS_TO_S_FACTOR
Definition firebeetle_sleep.hpp:17
void deep_sleep(uint16_t time_to_sleep)
Configure the ESP32 for sleep and then enter deep sleep.
Definition firebeetle_sleep.hpp:29