hyperion.ng/libsrc/leddevice/dev_spi/LedDeviceWs2801.cpp

28 lines
667 B
C++

#include "LedDeviceWs2801.h"
LedDeviceWs2801::LedDeviceWs2801(const QJsonObject &deviceConfig)
: ProviderSpi()
{
_devConfig = deviceConfig;
_deviceReady = false;
}
LedDevice* LedDeviceWs2801::construct(const QJsonObject &deviceConfig)
{
return new LedDeviceWs2801(deviceConfig);
}
bool LedDeviceWs2801::init(const QJsonObject &deviceConfig)
{
bool isInitOK = ProviderSpi::init(deviceConfig);
return isInitOK;
}
int LedDeviceWs2801::write(const std::vector<ColorRgb> &ledValues)
{
const unsigned dataLen = _ledCount * sizeof(ColorRgb);
const uint8_t * dataPtr = reinterpret_cast<const uint8_t *>(ledValues.data());
return writeBytes(dataLen, dataPtr);
}