refactor led class

This commit is contained in:
2026-04-11 11:37:40 +02:00
parent d41a99ee88
commit 9c012efef1
2 changed files with 33 additions and 15 deletions

View File

@@ -2,7 +2,7 @@
// System Inlcudes
#include <Arduino.h>
#include <Adafruit_NeoPixel.h>
#include <mutex>
#define RED 0x00FF00
#define GREEN 0xFF0000
@@ -35,14 +35,29 @@ public:
IDLE = GRAY
};
struct color_t
{
uint8_t a, g, r, b;
};
union color_u
{
uint32_t status;
color_t color;
};
public:
RGBled(const uint8_t pin = 48, const uint8_t num = 1);
RGBled(const uint8_t pin = 48);
~RGBled();
void setStatus(const LedStatus s);
const LedStatus getSatus(void);
private:
Adafruit_NeoPixel m_led;
void writeStatus(const LedStatus s);
private:
LedStatus m_status = LedStatus::IDLE;
std::mutex m_mutex;
const uint8_t m_led;
};