From 7e38508ec8bd9c91f7bd8e4dc7af9f73de0e54f7 Mon Sep 17 00:00:00 2001 From: Steven Cohen Date: Thu, 9 Feb 2023 20:47:26 -0800 Subject: [PATCH] DotStarEsp32DmaSpiMethod: adjust start+end frames to reflect bus width (#637) --- src/internal/DotStarEsp32DmaSpiMethod.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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;