ESPHome 2025.5.0
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 ESP_LOGCONFIG(TAG, "Setting up Status LED...");
15 this->pin_->setup();
16 this->pin_->digital_write(false);
17}
19 ESP_LOGCONFIG(TAG, "Status LED:");
20 LOG_PIN(" Pin: ", this->pin_);
21}
23 if ((App.get_app_state() & STATUS_LED_ERROR) != 0u) {
24 this->pin_->digital_write(millis() % 250u < 150u);
25 } else if ((App.get_app_state() & STATUS_LED_WARNING) != 0u) {
26 this->pin_->digital_write(millis() % 1500u < 250u);
27 } else {
28 this->pin_->digital_write(false);
29 }
30}
32float StatusLED::get_loop_priority() const { return 50.0f; }
33
34} // namespace status_led
35} // namespace esphome
uint32_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:18
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 uint32_t STATUS_LED_ERROR
Definition component.cpp:40
uint32_t IRAM_ATTR HOT millis()
Definition core.cpp:27
Application App
Global storage of Application pointer - only one Application can exist.
const uint32_t STATUS_LED_WARNING
Definition component.cpp:39