diff --git a/libsrc/leddevice/LedDeviceFactory.cpp b/libsrc/leddevice/LedDeviceFactory.cpp index 4581a950..fed6d82d 100755 --- a/libsrc/leddevice/LedDeviceFactory.cpp +++ b/libsrc/leddevice/LedDeviceFactory.cpp @@ -129,8 +129,9 @@ LedDevice * LedDeviceFactory::construct(const Json::Value & deviceConfig) { const std::string output = deviceConfig["output"].asString(); const unsigned rate = deviceConfig["rate"].asInt(); + const unsigned latchtime = deviceConfig.get("latchtime",500000).asInt(); - LedDeviceWs2801* deviceWs2801 = new LedDeviceWs2801(output, rate); + LedDeviceWs2801* deviceWs2801 = new LedDeviceWs2801(output, rate, latchtime); deviceWs2801->open(); device = deviceWs2801; diff --git a/libsrc/leddevice/LedDeviceWs2801.cpp b/libsrc/leddevice/LedDeviceWs2801.cpp index 31bb43cd..aaee8cf6 100644 --- a/libsrc/leddevice/LedDeviceWs2801.cpp +++ b/libsrc/leddevice/LedDeviceWs2801.cpp @@ -18,6 +18,13 @@ LedDeviceWs2801::LedDeviceWs2801(const std::string& outputDevice, const unsigned // 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(); diff --git a/libsrc/leddevice/LedDeviceWs2801.h b/libsrc/leddevice/LedDeviceWs2801.h index e7ff6998..c2231cd7 100644 --- a/libsrc/leddevice/LedDeviceWs2801.h +++ b/libsrc/leddevice/LedDeviceWs2801.h @@ -21,6 +21,10 @@ public: LedDeviceWs2801(const std::string& outputDevice, const unsigned baudrate); + LedDeviceWs2801(const std::string& outputDevice, + const unsigned baudrate, + const unsigned latchTime); + /// /// Writes the led color values to the led-device ///