#include RGBled::RGBled(const uint8_t pin) : m_led(pin) { pinMode(m_led, OUTPUT); writeStatus(RGBled::ERROR); } RGBled::~RGBled() { pinMode(m_led, INPUT); } void RGBled::setStatus(const LedStatus s) { if (m_status == s) return; std::lock_guard lock(m_mutex); m_status = s; writeStatus(m_status); } const RGBled::LedStatus RGBled::getSatus(void) { return m_status; } void RGBled::writeStatus(const RGBled::LedStatus s) { RGBled::color_u u{.status = s}; rgbLedWrite(m_led, u.color.r, u.color.g, u.color.b); }