Hi, first post, looking for some advice or assistance…
With the following hardware (from Pimoroni):
- P4-2121-16S-HL 2P2751A 32x32 LED Matrix
- Adafruit RGB Matrix Bonnet
- Raspberry Pi 3 running DietPi
and either of the following libraries (from GitHub):
Whatever method I attempt to drive the panel with (C or Python, my own code or any of the included Samples/ Utils) I cannot get the odd rows on my panel to light. Have iterated through almost all of the possible configurations (row address type/scan mode/multiplexing etc) in an attempt to resolve the issues but everything outside of the settings listed in the code below makes it worse.
This is the best I can get…
However, I have noticed that when I step through the display with SetPixel (as in the code below) instead of dropping down a row as Y increments the panel lights the same (even) row twice, with the LEDs getting visibly brighter on the pass that should be lighting the odd-numbered row.
Finally, here is the code I used to step through each pixel and discovered it was lighting each even row twice:
#!/usr/bin/env python3 import time import sys from rgbmatrix import RGBMatrix, RGBMatrixOptions # Configuration for the matrix options = RGBMatrixOptions() options.rows = 32 options.cols = 32 options.chain_length = 1 options.parallel = 1 options.hardware_mapping = 'adafruit-hat' options.row_address_type = 0 options.scan_mode = 0 options.multiplexing = 0 options.gpio_slowdown = 2 matrix = RGBMatrix(options=options) # Try to set a pixel x = 0 y = 0 r = 255 g = 0 b = 0 while y < 32: while x < 32: matrix.SetPixel(x, y, r, g, b) x += 1 print (x, " - ", y) time.sleep(.05) x = 0 y += 1 # Wait for CTRL-C try: print("Press CTRL-C to stop.") while True: time.sleep(100) except KeyboardInterrupt: sys.exit(0)
I am starting to think that I have faulty hardware but any help is much appreciated.