Hi Pimoroni community!
I am trying to run a 16x9 led matrix driven by an IS31FL3731 (matrix and driver both by Adafruit and bought from Pimoroni). Since it is the same driver as in the Scroll pHAT HD I figured it should be easy to use the library provided on github (links to the one I used below) and fiddle around to accomodate for the slightly larger matrix. There seems to be more to be changed.
Just adapting width and height (in init.py and is31fl3731.py) leaves me with a nicely flashing matrix (e.g. using the swirl example provided with the library) that seems to fall apart between the first 72 leds addressed by the driver and the second half (changing directions). Any ideas what to look for in the library or if there are differences in the wiring between the pHAT and the Adafruit matrix would be highly appreciated.
I suspect the class definition and address transformation taking place there to be in the center of the issue. But I struggle to comprehend what is done there and how to adapt for the different matrix size.
class ScrollPhatHD(Matrix): width = 17 height = 7 def _pixel_addr(self, x, y): if x > 8: x = x - 8 y = 6 - (y + 8) else: x = 8 - x return x * 16 + y