refactor led class
This commit is contained in:
@@ -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;
|
||||
};
|
||||
Reference in New Issue
Block a user