DotStarEsp32DmaSpiMethod: adjust start+end frames to reflect bus width (#637)

This commit is contained in:
Steven Cohen
2023-02-09 20:47:26 -08:00
committed by GitHub
parent bcab173d7c
commit 7e38508ec8

View File

@@ -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;