@Louis ok, I’m done moving my code to your new library.
Basically I’m not really using any of the new functionality, but then again, I didn’t need it the good news is that things continue to “just work”.
Yeah, I’m still using the callback with a function pointer, which I didn’t love when I wrote it, but it works, and I have little incentive to change it now, unless someone sends me a carefully tested patch. I guess I’m just not a fan of template syntax, and I’m happy to avoid it
The last thing I was worried about was memory use, and I can confirm that I actually have 4 extra bytes of free RAM after switching to the new lib, so all is good.
Allocating refresh buffer:
lsbMsbTransitionBit of 0 requires 49152 RAM, 64624 available, leaving 15472 free:
lsbMsbTransitionBit of 1 requires 24576 RAM, 64624 available, leaving 40048 free:
Raised lsbMsbTransitionBit to 1/7 to fit in RAM
lsbMsbTransitionBit of 1 gives 50 Hz refresh, 120 requested:
lsbMsbTransitionBit of 2 gives 100 Hz refresh, 120 requested:
lsbMsbTransitionBit of 3 gives 191 Hz refresh, 120 requested:
Raised lsbMsbTransitionBit to 3/7 to meet minimum refresh rate
Descriptors for lsbMsbTransitionBit 3/7 with 16 rows require 6144 bytes of DMA RAM
SmartMatrix Mallocs Complete
Heap/32-bit Memory Available: 125172 bytes total, 64624 bytes largest free block
8-bit/DMA Memory Available : 82624 bytes total, 64624 bytes largest free block
Total PSRAM used: 36864 bytes total, 4157356 PSRAM bytes free
Setting up parallel I2S bus at I2S1