// STL includes #include #include #include // Linux includes #include #include // hyperion local includes #include "LedDeviceWs2801.h" LedDeviceWs2801::LedDeviceWs2801(const std::string& outputDevice, const unsigned baudrate) : LedSpiDevice(outputDevice, baudrate, 500000), mLedCount(0) { // empty } LedDeviceWs2801::LedDeviceWs2801(const std::string& outputDevice, const unsigned baudrate, const unsigned latchTime) : LedSpiDevice(outputDevice, baudrate, latchTime), mLedCount(0) { // empty } int LedDeviceWs2801::write(const std::vector &ledValues) { mLedCount = ledValues.size(); const unsigned dataLen = ledValues.size() * sizeof(ColorRgb); const uint8_t * dataPtr = reinterpret_cast(ledValues.data()); return writeBytes(dataLen, dataPtr); } int LedDeviceWs2801::switchOff() { return write(std::vector(mLedCount, ColorRgb{0,0,0})); }