1#ifndef SENSESP_SRC_SENSESP_SYSTEM_SYSTEM_STATUS_LED_H_
2#define SENSESP_SRC_SENSESP_SYSTEM_SYSTEM_STATUS_LED_H_
12#include "esp_arduino_version.h"
13#include "esp_idf_version.h"
15#if ESP_ARDUINO_VERSION_MAJOR < 3
17#define rgbLedWrite neopixelWrite
59 blinker_ = std::unique_ptr<LEDBlinker>(
63 this->blinker_->tick();
115#if ESP_ARDUINO_VERSION_MAJOR >= 3
116 ledcAttach(pin, 2000, 8);
122#if ESP_ARDUINO_VERSION_MAJOR < 3
130 int value = ((0.2126 *
leds_[0].r +
131 0.7152 *
leds_[0].g +
135#if ESP_ARDUINO_VERSION_MAJOR >= 3
136 ledcWrite(
pin_, value);
Consumes the networking and websocket states and delta counts and updates the device LED accordingly.
virtual void set_brightness(uint8_t brightness)=0
virtual void set_wifi_disconnected()
virtual void set_ws_disconnected()
virtual void set_ws_connecting()
virtual void set_ws_authorizing()
std::unique_ptr< LEDBlinker > blinker_
ValueConsumer< int > & get_delta_tx_count_consumer()
ValueConsumer< SystemStatus > & get_system_status_consumer()
virtual void set_wifi_no_ap()
virtual void set_ws_connected()
LambdaConsumer< SystemStatus > system_status_consumer_
Blink the LED with a pattern specified by a vector of callback functions.
Provides an easy way of calling a function based on the output of any ValueProducer.
DEPRECATED. Use Android native ledcAttach and ledcWrite instead.
virtual void set(const float &new_value) override
RGBSystemStatusLed(uint8_t pin, uint8_t brightness=40)
void set_brightness(uint8_t brightness) override
Monochromatic system status LED.
SystemStatusLed(uint8_t pin, uint8_t brightness=255)
void set_brightness(uint8_t brightness) override
A base class for piece of code (like a transform) that accepts data for input. ValueConsumers can acc...
std::shared_ptr< reactesp::EventLoop > event_loop()
LEDPattern ws_authorizing_pattern
LEDPattern ws_disconnected_pattern
LEDPattern ws_connected_pattern
LEDPattern wifi_connected_pattern
LEDPattern ws_connecting_pattern
LEDPattern wifi_disconnected_pattern