OpenDTU/include/Led_Single.h
Thomas Basler c91bd42a77 Feature: Turn off LEDs before reboot
Thanks for the idea to @StefanOberhumer
This prevents always on LEDs if the device profile does not contain LEDs pins anymore after the reboot
2023-08-25 13:15:55 +02:00

39 lines
680 B
C++

// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "PinMapping.h"
#include <TimeoutHelper.h>
#define LEDSINGLE_UPDATE_INTERVAL 2000
enum eLedFunction {
CONNECTED_NETWORK,
CONNECTED_MQTT,
INV_REACHABLE,
INV_PRODUCING,
};
class LedSingleClass {
public:
LedSingleClass();
void init();
void loop();
void turnAllOff();
void turnAllOn();
private:
enum class LedState_t {
On,
Off,
Blink,
};
LedState_t _ledState[PINMAPPING_LED_COUNT];
LedState_t _allState;
TimeoutHelper _updateTimeout;
TimeoutHelper _blinkTimeout;
uint8_t _ledActive = 0;
};
extern LedSingleClass LedSingle;