diff --git a/src/internal/DotStarEsp32DmaSpiMethod.h b/src/internal/DotStarEsp32DmaSpiMethod.h index e340769..fd35b1f 100644 --- a/src/internal/DotStarEsp32DmaSpiMethod.h +++ b/src/internal/DotStarEsp32DmaSpiMethod.h @@ -38,8 +38,9 @@ public: typedef typename T_SPISPEED::SettingsObject SettingsObject; _DotStarEsp32DmaSpiMethod(uint16_t pixelCount, size_t elementSize, size_t settingsSize) : + _sizeStartFrame(4 * T_SPIBUS::ParallelBits), _sizePixelData(pixelCount * elementSize + settingsSize), - _sizeEndFrame((pixelCount + 15) / 16) // 16 = div 2 (bit for every two pixels) div 8 (bits to bytes) + _sizeEndFrame((pixelCount + 15) / 16 * T_SPIBUS::ParallelBits) // 16 = div 2 (bit for every two pixels) div 8 (bits to bytes) { _spiBufferSize = _sizeStartFrame + _sizePixelData + _sizeEndFrame; @@ -235,7 +236,7 @@ private: ESP_ERROR_CHECK(ret); } - const size_t _sizeStartFrame = 4; + const size_t _sizeStartFrame; const size_t _sizePixelData; // Size of '_data' buffer below, minus (_sizeStartFrame + _sizeEndFrame) const size_t _sizeEndFrame;