Adjust _PM_timerGetCount() fudge constant on ESP32-S3

This commit is contained in:
Phillip Burgess 2023-07-26 11:25:55 -07:00
parent 9766126f13
commit 5f0b40ed59
2 changed files with 4 additions and 4 deletions

View file

@ -1,5 +1,5 @@
name=Adafruit Protomatter
version=1.5.8
version=1.5.9
author=Adafruit
maintainer=Adafruit <info@adafruit.com>
sentence=A library for Adafruit RGB LED matrices.

View file

@ -67,11 +67,11 @@ static uint32_t dmaSetupTime = 100;
// timer frequency (40 MHz), i.e. 2 cycles/column, to return a fair estimate
// of the one-scanline transfer time, from which everything is extrapolated:
IRAM_ATTR inline uint32_t _PM_timerGetCount(Protomatter_core *core) {
// Time estimate seems to come in a little high, so the -25 here is an
// Time estimate seems to come in a little high, so the -10 here is an
// empirically-derived fudge factor that may yield ever-so-slightly better
// refresh in some edge cases. If visual glitches are encountered, might
// need to dial back this number a bit.
return dmaSetupTime + core->chainBits * 2 - 25;
// need to dial back this number a bit or remove it.
return dmaSetupTime + core->chainBits * 2 - 10;
}
// Note that dmaSetupTime can vary from line to line, potentially influenced
// by interrupts, nondeterministic DMA channel clearing times, etc., which is