30 #if defined(ARDUINO_ARCH_AVR) && !defined(__arm__)
42 Lpd8806MethodBase(uint8_t pinClock, uint8_t pinData, uint16_t pixelCount,
size_t elementSize,
size_t settingsSize) :
43 _sizeData(pixelCount * elementSize + settingsSize),
44 _sizeFrame((pixelCount + 31) / 32),
45 _wire(pinClock, pinData)
47 _data =
static_cast<uint8_t*
>(malloc(_sizeData));
51 #if !defined(__AVR_ATtiny85__) && !defined(ARDUINO_attiny)
69 #if defined(ARDUINO_ARCH_ESP32)
70 void Initialize(int8_t sck, int8_t miso, int8_t mosi, int8_t ss)
72 _wire.begin(sck, miso, mosi, ss);
83 _wire.beginTransaction();
86 for (
size_t frameByte = 0; frameByte < _sizeFrame; frameByte++)
88 _wire.transmitByte(0x00);
92 _wire.transmitBytes(_data, _sizeData);
95 for (
size_t frameByte = 0; frameByte < _sizeFrame; frameByte++)
97 _wire.transmitByte(0xff);
100 _wire.endTransaction();
121 _wire.applySettings(settings);
125 const size_t _sizeData;
126 const size_t _sizeFrame;
134 #if !defined(__AVR_ATtiny85__) && !defined(ARDUINO_attiny)
Lpd8806MethodBase< TwoWireSpiImple< SpiSpeedHz > > Lpd8806SpiHzMethod
Definition: Lpd8806GenericMethod.h:143
Lpd8806MethodBase< TwoWireSpiImple< SpiSpeed1Mhz > > Lpd8806Spi1MhzMethod
Definition: Lpd8806GenericMethod.h:140
Lpd8806MethodBase< TwoWireSpiImple< SpiSpeed10Mhz > > Lpd8806Spi10MhzMethod
Definition: Lpd8806GenericMethod.h:137
Lpd8806MethodBase< TwoWireSpiImple< SpiSpeed2Mhz > > Lpd8806Spi2MhzMethod
Definition: Lpd8806GenericMethod.h:139
Lpd8806MethodBase< TwoWireBitBangImple > Lpd8806Method
Definition: Lpd8806GenericMethod.h:132
Lpd8806MethodBase< TwoWireSpiImple< SpiSpeed500Khz > > Lpd8806Spi500KhzMethod
Definition: Lpd8806GenericMethod.h:141
Lpd8806MethodBase< TwoWireSpiImple< SpiSpeed20Mhz > > Lpd8806Spi20MhzMethod
Definition: Lpd8806GenericMethod.h:136
Lpd8806MethodBase< TwoWireSpiImple< SpiSpeed5Mhz > > Lpd8806Spi5MhzMethod
Definition: Lpd8806GenericMethod.h:138
Lpd8806Spi10MhzMethod Lpd8806SpiMethod
Definition: Lpd8806GenericMethod.h:145
Definition: Lpd8806GenericMethod.h:38
Lpd8806MethodBase(uint8_t pinClock, uint8_t pinData, uint16_t pixelCount, size_t elementSize, size_t settingsSize)
Definition: Lpd8806GenericMethod.h:42
T_TWOWIRE::SettingsObject SettingsObject
Definition: Lpd8806GenericMethod.h:40
bool IsReadyToUpdate() const
Definition: Lpd8806GenericMethod.h:64
size_t getDataSize() const
Definition: Lpd8806GenericMethod.h:114
void Initialize()
Definition: Lpd8806GenericMethod.h:76
~Lpd8806MethodBase()
Definition: Lpd8806GenericMethod.h:59
void Update(bool)
Definition: Lpd8806GenericMethod.h:81
bool AlwaysUpdate()
Definition: Lpd8806GenericMethod.h:103
uint8_t * getData() const
Definition: Lpd8806GenericMethod.h:109
void applySettings([[maybe_unused]] const SettingsObject &settings)
Definition: Lpd8806GenericMethod.h:119
Lpd8806MethodBase(uint16_t pixelCount, size_t elementSize, size_t settingsSize)
Definition: Lpd8806GenericMethod.h:52