Huge thanks for allowing others to use your code to run G35 Christmas lights. I do have one question I hope you can help me out with. I am unable to use six strings of 50 lights. They enumerate and complete a test pattern but the programs wont run correctly, usually just the first string will run. If I use just five strings everything works great. Tried an Arduino Uno and a Mega2560.
I’m 99% sure that the problem is that 50 x 6 is greater than 255, which is the highest value of an unsigned 8-bit octet. The G35 protocol wasn’t designed for really long strings.
You’re next going to ask why the test patterns run. I’m 1% sure it’s because you’re hitting memory limits with the 328p. The test patterns are algorithmic and don’t consume per-light memory, but most of the patterns do allocate a certain number of bytes per light.