forked from Makuna/NeoPixelBus
DotStarEsp32DmaSpiMethod: adjust start+end frames to reflect bus width (#637)
This commit is contained in:
@@ -38,8 +38,9 @@ public:
|
|||||||
typedef typename T_SPISPEED::SettingsObject SettingsObject;
|
typedef typename T_SPISPEED::SettingsObject SettingsObject;
|
||||||
|
|
||||||
_DotStarEsp32DmaSpiMethod(uint16_t pixelCount, size_t elementSize, size_t settingsSize) :
|
_DotStarEsp32DmaSpiMethod(uint16_t pixelCount, size_t elementSize, size_t settingsSize) :
|
||||||
|
_sizeStartFrame(4 * T_SPIBUS::ParallelBits),
|
||||||
_sizePixelData(pixelCount * elementSize + settingsSize),
|
_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;
|
_spiBufferSize = _sizeStartFrame + _sizePixelData + _sizeEndFrame;
|
||||||
|
|
||||||
@@ -235,7 +236,7 @@ private:
|
|||||||
ESP_ERROR_CHECK(ret);
|
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 _sizePixelData; // Size of '_data' buffer below, minus (_sizeStartFrame + _sizeEndFrame)
|
||||||
const size_t _sizeEndFrame;
|
const size_t _sizeEndFrame;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user