mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-29 22:24:26 +00:00 
			
		
		
		
	Esp32c3 deepsleep fix (#3454)
This commit is contained in:
		| @@ -21,6 +21,7 @@ optional<uint32_t> DeepSleepComponent::get_run_duration_() const { | ||||
|     switch (wakeup_cause) { | ||||
|       case ESP_SLEEP_WAKEUP_EXT0: | ||||
|       case ESP_SLEEP_WAKEUP_EXT1: | ||||
|       case ESP_SLEEP_WAKEUP_GPIO: | ||||
|         return this->wakeup_cause_to_run_duration_->gpio_cause; | ||||
|       case ESP_SLEEP_WAKEUP_TOUCHPAD: | ||||
|         return this->wakeup_cause_to_run_duration_->touch_cause; | ||||
| @@ -72,18 +73,27 @@ float DeepSleepComponent::get_loop_priority() const { | ||||
|   return -100.0f;  // run after everything else is ready | ||||
| } | ||||
| void DeepSleepComponent::set_sleep_duration(uint32_t time_ms) { this->sleep_duration_ = uint64_t(time_ms) * 1000; } | ||||
| #ifdef USE_ESP32 | ||||
| #if defined(USE_ESP32) | ||||
| void DeepSleepComponent::set_wakeup_pin_mode(WakeupPinMode wakeup_pin_mode) { | ||||
|   this->wakeup_pin_mode_ = wakeup_pin_mode; | ||||
| } | ||||
| #endif | ||||
|  | ||||
| #if defined(USE_ESP32) | ||||
| #if !defined(USE_ESP32_VARIANT_ESP32C3) | ||||
|  | ||||
| void DeepSleepComponent::set_ext1_wakeup(Ext1Wakeup ext1_wakeup) { this->ext1_wakeup_ = ext1_wakeup; } | ||||
|  | ||||
| void DeepSleepComponent::set_touch_wakeup(bool touch_wakeup) { this->touch_wakeup_ = touch_wakeup; } | ||||
|  | ||||
| #endif | ||||
|  | ||||
| void DeepSleepComponent::set_run_duration(WakeupCauseToRunDuration wakeup_cause_to_run_duration) { | ||||
|   wakeup_cause_to_run_duration_ = wakeup_cause_to_run_duration; | ||||
| } | ||||
|  | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| void DeepSleepComponent::set_run_duration(uint32_t time_ms) { this->run_duration_ = time_ms; } | ||||
| void DeepSleepComponent::begin_sleep(bool manual) { | ||||
|   if (this->prevent_ && !manual) { | ||||
|   | ||||
| @@ -70,17 +70,19 @@ class DeepSleepComponent : public Component { | ||||
|   void set_wakeup_pin_mode(WakeupPinMode wakeup_pin_mode); | ||||
| #endif | ||||
|  | ||||
| #if defined(USE_ESP32) && !defined(USE_ESP32_VARIANT_ESP32C3) | ||||
| #if defined(USE_ESP32) | ||||
| #if !defined(USE_ESP32_VARIANT_ESP32C3) | ||||
|  | ||||
|   void set_ext1_wakeup(Ext1Wakeup ext1_wakeup); | ||||
|  | ||||
|   void set_touch_wakeup(bool touch_wakeup); | ||||
|  | ||||
| #endif | ||||
|   // Set the duration in ms for how long the code should run before entering | ||||
|   // deep sleep mode, according to the cause the ESP32 has woken. | ||||
|   void set_run_duration(WakeupCauseToRunDuration wakeup_cause_to_run_duration); | ||||
|  | ||||
| #endif | ||||
|  | ||||
|   /// Set a duration in ms for how long the code should run before entering deep sleep mode. | ||||
|   void set_run_duration(uint32_t time_ms); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user