// 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), mLedCount(0) { // empty } int LedDeviceWs2801::write(const std::vector &ledValues) { mLedCount = ledValues.size(); const unsigned dataLen = ledValues.size() * sizeof(RgbColor); const char * dataPtr = reinterpret_cast(ledValues.data()); const int retVal = latch(dataLen, dataPtr, 500000); return retVal; } int LedDeviceWs2801::switchOff() { return write(std::vector(mLedCount, RgbColor::BLACK)); }