30 #if defined(ARDUINO_ARCH_AVR) && !defined(__arm__)
42 DotStarMethodBase(uint8_t pinClock, uint8_t pinData, uint16_t pixelCount,
size_t elementSize,
size_t settingsSize) :
43 _sizeData(pixelCount * elementSize + settingsSize),
44 _sizeEndFrame((pixelCount + 15) / 16),
45 _wire(pinClock, pinData)
47 _data =
static_cast<uint8_t*
>(malloc(_sizeData));
51 #if !defined(__AVR_ATtiny85__) && !defined(ARDUINO_attiny)
68 #if defined(ARDUINO_ARCH_ESP32)
69 void Initialize(int8_t sck, int8_t miso, int8_t mosi, int8_t ss)
71 _wire.begin(sck, miso, mosi, ss);
82 const uint8_t startFrame[4] = { 0x00 };
83 const uint8_t resetFrame[4] = { 0x00 };
85 _wire.beginTransaction();
88 _wire.transmitBytes(startFrame,
sizeof(startFrame));
91 _wire.transmitBytes(_data, _sizeData);
94 _wire.transmitBytes(resetFrame,
sizeof(resetFrame));
99 for (
size_t endFrameByte = 0; endFrameByte < _sizeEndFrame; endFrameByte++)
101 _wire.transmitByte(0x00);
104 _wire.endTransaction();
125 _wire.applySettings(settings);
129 const size_t _sizeData;
130 const size_t _sizeEndFrame;
138 #if !defined(__AVR_ATtiny85__) && !defined(ARDUINO_attiny)
152 #if defined(ARDUINO_ARCH_ESP32)
175 typedef DotStarEsp32Hspi10MhzMethod DotStarEsp32HspiMethod;
DotStarMethodBase< TwoWireSpiImple< SpiSpeedHz > > DotStarSpiHzMethod
Definition: DotStarGenericMethod.h:147
DotStarMethodBase< TwoWireSpiImple< SpiSpeed40Mhz > > DotStarSpi40MhzMethod
Definition: DotStarGenericMethod.h:140
DotStarMethodBase< TwoWireSpiImple< SpiSpeed500Khz > > DotStarSpi500KhzMethod
Definition: DotStarGenericMethod.h:146
DotStarMethodBase< TwoWireSpiImple< SpiSpeed2Mhz > > DotStarSpi2MhzMethod
Definition: DotStarGenericMethod.h:144
DotStarSpi10MhzMethod DotStarSpiMethod
Definition: DotStarGenericMethod.h:149
DotStarMethodBase< TwoWireSpiImple< SpiSpeed10Mhz > > DotStarSpi10MhzMethod
Definition: DotStarGenericMethod.h:142
DotStarMethodBase< TwoWireBitBangImple > DotStarMethod
Definition: DotStarGenericMethod.h:136
DotStarMethodBase< TwoWireSpiImple< SpiSpeed20Mhz > > DotStarSpi20MhzMethod
Definition: DotStarGenericMethod.h:141
DotStarMethodBase< TwoWireSpiImple< SpiSpeed1Mhz > > DotStarSpi1MhzMethod
Definition: DotStarGenericMethod.h:145
DotStarMethodBase< TwoWireSpiImple< SpiSpeed5Mhz > > DotStarSpi5MhzMethod
Definition: DotStarGenericMethod.h:143
Definition: DotStarGenericMethod.h:38
bool AlwaysUpdate()
Definition: DotStarGenericMethod.h:107
size_t getDataSize() const
Definition: DotStarGenericMethod.h:118
void Update(bool)
Definition: DotStarGenericMethod.h:80
T_TWOWIRE::SettingsObject SettingsObject
Definition: DotStarGenericMethod.h:40
bool IsReadyToUpdate() const
Definition: DotStarGenericMethod.h:63
void applySettings([[maybe_unused]] const SettingsObject &settings)
Definition: DotStarGenericMethod.h:123
DotStarMethodBase(uint16_t pixelCount, size_t elementSize, size_t settingsSize)
Definition: DotStarGenericMethod.h:52
void Initialize()
Definition: DotStarGenericMethod.h:75
~DotStarMethodBase()
Definition: DotStarGenericMethod.h:58
DotStarMethodBase(uint8_t pinClock, uint8_t pinData, uint16_t pixelCount, size_t elementSize, size_t settingsSize)
Definition: DotStarGenericMethod.h:42
uint8_t * getData() const
Definition: DotStarGenericMethod.h:113