adafruit / Adafruit_Protomatter

RGB matrix library for Arduino
57 stars 20 forks source link

Matrix tiling support #31

Closed PaintYourDragon closed 3 years ago

PaintYourDragon commented 3 years ago

Allows matrices to be stacked vertically.

This is a partially breaking change. At the C level, definitely breaking: the _PM_init() function REQUIRES an extra argument for tiling, and this is inserted BEFORE the void *timer arg. At the C++ level, potentially but rarely breaking: the Adafruit_Protomatter constructor likewise accepts an extra argument in a similar position, but with defaults assigned for this and the timer arg, it'll rarely be encountered, UNLESS someone was using the timer arg (super exceedingly rare). I put them in this order because tiling seems more likely than ever using the alt timer functionality.

Tiling + parallel chains doesn’t seem to work. I struggled with this for a bit, but it seems this is not a new problem; parallel chains apparently didn’t work even without chaining, I just hadn’t sufficiently tested that until now. This is super esoteric and we’ve never used it (or attempted to), and the only board that would be able to handle it right now is Grand Central.