ESPHome 2025.9.0-dev
Loading...
Searching...
No Matches
status_led.cpp
Go to the documentation of this file.
1#include "status_led.h"
2#include "esphome/core/log.h"
4
5namespace esphome {
6namespace status_led {
7
8static const char *const TAG = "status_led";
9
10StatusLED *global_status_led = nullptr; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables)
11
12StatusLED::StatusLED(GPIOPin *pin) : pin_(pin) { global_status_led = this; }
14 this->pin_->setup();
15 this->pin_->digital_write(false);
16}
18 ESP_LOGCONFIG(TAG, "Status LED:");
19 LOG_PIN(" Pin: ", this->pin_);
20}
22 if ((App.get_app_state() & STATUS_LED_ERROR) != 0u) {
23 this->pin_->digital_write(millis() % 250u < 150u);
24 } else if ((App.get_app_state() & STATUS_LED_WARNING) != 0u) {
25 this->pin_->digital_write(millis() % 1500u < 250u);
26 } else {
27 this->pin_->digital_write(false);
28 }
29}
31float StatusLED::get_loop_priority() const { return 50.0f; }
32
33} // namespace status_led
34} // namespace esphome
uint8_t get_app_state() const
virtual void setup()=0
virtual void digital_write(bool value)=0
float get_loop_priority() const override
float get_setup_priority() const override
const float HARDWARE
For components that deal with hardware and are very important like GPIO switch.
Definition component.cpp:49
const char *const TAG
Definition spi.cpp:8
StatusLED * global_status_led
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
const uint8_t STATUS_LED_WARNING
Definition component.cpp:73
uint32_t IRAM_ATTR HOT millis()
Definition core.cpp:28
Application App
Global storage of Application pointer - only one Application can exist.
const uint8_t STATUS_LED_ERROR
Definition component.cpp:74