Spi pattern fix (#502)
* Add files via upload Calls to writePattern() don't send the desired number of bytes when the pattern size doesn't divide evenly into the hardware FIFO size (e.g. sending 18-bit RGB data, 11 patterns take 63 bytes, so 1/64th of the data is never sent). * Add files via upload Remove white space changes.
This commit is contained in:
parent
b3fdfda914
commit
2eaf846134
@ -242,11 +242,12 @@ void SPIClass::writePattern(uint8_t * data, uint8_t size, uint32_t repeat)
|
||||
|
||||
uint32_t byte = (size * repeat);
|
||||
uint8_t r = (64 / size);
|
||||
const uint8_t max_bytes_FIFO = r * size; // Max number of whole patterns (in bytes) that can fit into the hardware FIFO
|
||||
|
||||
while(byte) {
|
||||
if(byte > 64) {
|
||||
if(byte > max_bytes_FIFO) {
|
||||
writePattern_(data, size, r);
|
||||
byte -= 64;
|
||||
byte -= max_bytes_FIFO;
|
||||
} else {
|
||||
writePattern_(data, size, (byte / size));
|
||||
byte = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user