1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-11 15:52:20 +01:00

Optimize application loop speed (#860)

* Optimize application loop speed

* Also check call_loop

* Remove duplicate code

* Fixes
This commit is contained in:
Otto Winter
2019-12-04 16:03:37 +01:00
committed by GitHub
parent e86f2e993f
commit e9e92afc9e
5 changed files with 24 additions and 3 deletions

View File

@@ -138,6 +138,16 @@ float Component::get_actual_setup_priority() const {
return this->setup_priority_override_;
}
void Component::set_setup_priority(float priority) { this->setup_priority_override_ = priority; }
bool Component::has_overridden_loop() const {
#ifdef CLANG_TIDY
bool loop_overridden = true;
bool call_loop_overridden = true;
#else
bool loop_overridden = (void *) (this->*(&Component::loop)) != (void *) (&Component::loop);
bool call_loop_overridden = (void *) (this->*(&Component::call_loop)) != (void *) (&Component::call_loop);
#endif
return loop_overridden || call_loop_overridden;
}
PollingComponent::PollingComponent(uint32_t update_interval) : Component(), update_interval_(update_interval) {}