In case anyone is interested in doing SmartMatrix + FastLED with Neopixels, I did some testing, and it is possible, although only on the beta ESP32 branch of SmartMatrix.
I wrote up the details there, so won’t repeat them here:
The main issue on teensy is that SmartMatrix’s interrupt runs for too long to allow FastLED to still update another pixel after SmartMatrix has been given a chance to run.
So, FastLED updates up to 10 pixels before when it re-enables interrupts, SmartMatrix gets scheduled, then it runs for too long and when FastLED is scheduled again, it notices that it should not update the n+1 pixel because it’s too late, so it does not.
On ESP32, FastLED uses RMT in the background thanks to @Sam_Guyer , so it’s not a problem at all.
The only thing of note is that FastLED does cause of a crash if I use the git master version, while the @Sam_Guyer version works seamlessly with SmartMatrix on ESP32.
I’ll also use the opportunity to recognize all the work @Louis_Beaudoin has done for RGBPanels, from designing multiple versions of the SmartMatrix plug in board that makes life a lot easier, to writing most of the SmartMatrix code, and having done user support almost single handedly for many years, including coming here to answer my questions on his AnimatedGIFs lib when I ported it to SPIFFS and FastLED::NeoMatrix ( http://marc.merlins.org/perso/arduino/post_2018-07-13_AnimatedGIFs-for-SmartMatrix-or-NeoMatrix-Neopixel-WS2812B-from-SDcard-or-SPIFFS_-on-Teensy-3_x_-ESP8266_-or-ESP32.html ), or giving me enough useful answers here that I was willing to start looking into RGBPanels despite their downsides I was already aware of.
For those wondering, I’m looking at porting all my demo/shirt code from FastLED::NeoMatrix to SmartMatrix, hopefully thanks to a new SmartMatrix::GFX I’m still hoping to write (but use of C++ templates are making it tricky)