4#ifndef SRC_SUPLA_DEVICE_STATUS_LED_H_
5#define SRC_SUPLA_DEVICE_STATUS_LED_H_
7#include <supla/control/blinking_led.h>
15enum LedMode : uint8_t {
16 LED_ON_WHEN_CONNECTED ,
17 LED_OFF_WHEN_CONNECTED,
19 LED_IN_CONFIG_MODE_ONLY
28enum LedSequence : uint8_t {
31 REGISTERED_AND_READY ,
34 PACZKOW_WE_HAVE_A_PROBLEM ,
46 explicit StatusLed(uint8_t outPin,
bool invert =
false);
54 void setCustomSequence(uint32_t onDurationMs,
55 uint32_t offDurationMs,
56 uint32_t pauseDurrationMs = 0,
58 uint8_t repeatLimit = 0,
59 bool startWithOff =
true)
override;
61 enum LedSequence getCurrentSequence()
const;
66 void setAutoSequence();
69 void setMode(LedMode newMode);
70 LedMode getMode()
const;
71 void storeModeToConfig();
72 void setDefaultMode(
enum LedMode newMode);
73 void setUseDeviceConfig(
bool value);
77 LedSequence currentSequence = NETWORK_CONNECTING;
78 LedMode ledMode = LED_ON_WHEN_CONNECTED;
79 int8_t defaultMode = 0;
80 bool useDeviceConfig =
true;
Definition SuplaDevice.h:167
Definition blinking_led.h:16
Definition status_led.h:43
void onLoadConfig(SuplaDeviceClass *) override
First method called on element in SuplaDevice.begin().
Definition status_led.cpp:29
void onDeviceConfigChange(uint64_t fieldBit) override
Method called when device config is changed.
Definition status_led.cpp:337
void iterateAlways() override
Method called on each SuplaDevice iteration.
Definition status_led.cpp:97