hyperion.ng
LedDeviceSk6812SPI.h
1 #pragma once
2 
3 // hyperion incluse
4 #include "ProviderSpi.h"
5 
10 {
11 public:
17  LedDeviceSk6812SPI(const QJsonObject &deviceConfig);
18 
20  static LedDevice* construct(const QJsonObject &deviceConfig);
21 
27  bool init(const QJsonObject &deviceConfig);
28 
29 private:
36  virtual int write(const std::vector<ColorRgb> &ledValues);
37 
38  RGBW::WhiteAlgorithm _whiteAlgorithm;
39 
40  const int SPI_BYTES_PER_COLOUR;
41 
42  uint8_t bitpair_to_byte[4];
43 
44  ColorRgbw _temp_rgbw;
45 };
Implementation of the LedDevice interface for writing to Sk6801 led device via SPI.
Definition: LedDeviceSk6812SPI.h:9
Interface (pure virtual base class) for LedDevices.
Definition: LedDevice.h:32
static LedDevice * construct(const QJsonObject &deviceConfig)
constructs leddevice
Definition: LedDeviceSk6812SPI.cpp:17
bool init(const QJsonObject &deviceConfig)
Sets configuration.
Definition: LedDeviceSk6812SPI.cpp:22
LedDeviceSk6812SPI(const QJsonObject &deviceConfig)
Constructs specific LedDevice.
Definition: LedDeviceSk6812SPI.cpp:3
The ProviderSpi implements an abstract base-class for LedDevices using the SPI-device.
Definition: ProviderSpi.h:12
Plain-Old-Data structure containing the red-green-blue color specification.
Definition: ColorRgbw.h:13