mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	Feed watchdog when no component loops (#2857)
This commit is contained in:
		| @@ -37,6 +37,7 @@ void Application::setup() { | ||||
|  | ||||
|     component->call(); | ||||
|     this->scheduler.process_to_add(); | ||||
|     this->feed_wdt(); | ||||
|     if (component->can_proceed()) | ||||
|       continue; | ||||
|  | ||||
| @@ -46,14 +47,15 @@ void Application::setup() { | ||||
|     do { | ||||
|       uint32_t new_app_state = STATUS_LED_WARNING; | ||||
|       this->scheduler.call(); | ||||
|       this->feed_wdt(); | ||||
|       for (uint32_t j = 0; j <= i; j++) { | ||||
|         this->components_[j]->call(); | ||||
|         new_app_state |= this->components_[j]->get_component_state(); | ||||
|         this->app_state_ |= new_app_state; | ||||
|         this->feed_wdt(); | ||||
|       } | ||||
|       this->app_state_ = new_app_state; | ||||
|       yield(); | ||||
|       this->feed_wdt(); | ||||
|     } while (!component->can_proceed()); | ||||
|   } | ||||
|  | ||||
| @@ -65,6 +67,7 @@ void Application::loop() { | ||||
|   uint32_t new_app_state = 0; | ||||
|  | ||||
|   this->scheduler.call(); | ||||
|   this->feed_wdt(); | ||||
|   for (Component *component : this->looping_components_) { | ||||
|     { | ||||
|       WarnIfComponentBlockingGuard guard{component}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user