19#ifndef SRC_SUPLA_DEVICE_STATUS_LED_H_
20#define SRC_SUPLA_DEVICE_STATUS_LED_H_
22#include <supla/control/blinking_led.h>
26enum LedMode : uint8_t {
27 LED_ON_WHEN_CONNECTED ,
28 LED_OFF_WHEN_CONNECTED,
30 LED_IN_CONFIG_MODE_ONLY
39enum LedSequence : uint8_t {
42 REGISTERED_AND_READY ,
45 PACZKOW_WE_HAVE_A_PROBLEM ,
55 explicit StatusLed(
Supla::Io *io, uint8_t outPin,
bool invert =
false);
56 explicit StatusLed(uint8_t outPin,
bool invert =
false);
64 void setCustomSequence(uint32_t onDurationMs,
65 uint32_t offDurationMs,
66 uint32_t pauseDurrationMs = 0,
68 uint8_t repeatLimit = 0,
69 bool startWithOff =
true)
override;
71 enum LedSequence getCurrentSequence()
const;
76 void setAutoSequence();
79 void setMode(LedMode newMode);
80 LedMode getMode()
const;
81 void storeModeToConfig();
82 void setDefaultMode(
enum LedMode newMode);
83 void setUseDeviceConfig(
bool value);
87 LedSequence currentSequence = NETWORK_CONNECTING;
88 LedMode ledMode = LED_ON_WHEN_CONNECTED;
89 int8_t defaultMode = 0;
90 bool useDeviceConfig =
true;
Definition SuplaDevice.h:96
Definition blinking_led.h:31
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition status_led.cpp:42
void onDeviceConfigChange(uint64_t fieldBit) override
Method called when device config is changed.
Definition status_led.cpp:306
void iterateAlways() override
Method called on each SuplaDevice iteration.
Definition status_led.cpp:110