// STL includes #include #include #include // Linux includes #include #include // hyperion local includes #include "LedDeviceUdpRaw.h" LedDeviceUdpRaw::LedDeviceUdpRaw(const Json::Value &deviceConfig) : LedUdpDevice(deviceConfig) { setConfig(deviceConfig); } bool LedDeviceUdpRaw::setConfig(const Json::Value &deviceConfig) { LedUdpDevice::setConfig(deviceConfig); _LatchTime_ns = deviceConfig.get("latchtime",500000).asInt(); return true; } LedDevice* LedDeviceUdpRaw::construct(const Json::Value &deviceConfig) { return new LedDeviceUdpRaw(deviceConfig); } int LedDeviceUdpRaw::write(const std::vector &ledValues) { _ledCount = ledValues.size(); const unsigned dataLen = _ledCount * sizeof(ColorRgb); const uint8_t * dataPtr = reinterpret_cast(ledValues.data()); return writeBytes(dataLen, dataPtr); } int LedDeviceUdpRaw::switchOff() { return write(std::vector(_ledCount, ColorRgb{0,0,0})); }