These are chat archives for Makuna/NeoPixelBus
Show()in inside the timer? This is not supported on the Esp8266. All timer handlers should do the minimal work and not call any complex methods, in this case show() will check and set some DMA hardware features which can not be called within an ISR (interrupt service routine), like timer handlers. Set a volatile flag and then in the main loop check for the flag and call show().
typedef instead like this
typedef NeoMosaic<ColumnMajorAlternatingLayout> MyMosaic;
This is just so you don't have to type so much but you can just place the class definition in every place.
But, you need to understand that inheritance design model is not what this library was based on. I use a more modern template models; which at times seems more verbose but is far more flexible and creates smaller/faster code. A great book on the subject is "Modern C++ Design" by Andrei Alexandrescu.
If you are wanting to be able to change which layout for your class, then you also need to use templates.