-
Notifications
You must be signed in to change notification settings - Fork 212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
96x64px matrix (6x 32x32 1/8 scan panels) not displaying the bottom row #578
Comments
Why are you not flipping the bottom row 6,5,4) upside down so that row is (4,5 6) (with all panels flipped around)? Then you can use a much shorter cable. That's that serpentine is:
Read the chained panels documentation pdf for the graphical examples. |
@mrfaptastic I have done as you asked and flipped the bottom row of tiles so they are all now upside down. But interestingly, you can see a patch of white pixels on the bottom left of Panel 1 - as if its printing all of the bottom panel contents onto these few pixels, would you say that is correct from what you can see? The SERPENT and TOPDOWN variables are both set HIGH
Can you see anything else in my code above that would prevent the bottom row from displaying? |
There must be some bug in the virtual matrix class pixel remapping logic with 1/4 scan panels. |
Actually, these defines aren't used anymore:
What example did you copy from that still had these? I thought I removed all references to this. Can you please read the chain panels pdf? |
Those two defines were from the 'Four_Scan_Panel' example, which I copied the entire source into PlatformIO before adding in the relevant parts from the 'ChainedPanels' example. I have read the PDF a few times and have therefore added the below statement, which can be seen in the code in my first message.
Also from the PDF, these two below examples seem to contradict each other. Where Example 1) shows the ESP connected at the top right, with Panel 1 also at the top right (Using Top-Right-Down) Anyway, is there any way I can isolate the problem that you are suggesting? Also waiting for the supplier to send me a datasheet for the panels. So should have more details in the coming days. |
I'll take a look. It's most certainly some bug with the VirtualMatrix class. 1/4 Scan support has always been a bit of hack, but given when you only have one row of output, all six panel display something, the class VirtualMatrix must be re-mapping the pixels intended for the bottom row into non-existent co-ordinates, and thus, they remain black. |
Yes, absolutely makes sense to me. Let me know if I can do anything to assist in any way! |
I have come back to this project after some months away, I still can't find a solution to this problem. The library code seems to be printing to pixels that are out of the coordinate bounds of the screen. I have written a simple test loop which just iterates drawPixel() over the x axis and then the y. The panel lights up the top row of panels, but the second row stays dark.
The req.xy is the x,y coords passed to drawPixel() Can you spot any weird behaviour in this output? It seems that once the 2nd row of panels is reached, the Y coordinates are wrapping back around to 31->0 instead of going between 32->63 |
Yes, it seems the bug in In the code for
accidentally used As a result, if your configuration uses a multiple rows of panels, the
@mozzhead164 |
@mozzhead164 Do you have a link to the panels your purchased? |
Hello @mrfaptastic...first of all a thankyou for putting this library together over many MANY hours work! 👏
I am having issue with displaying on a set of 6No. 32x32 1/8 scan (so the label says) panels.
Outdoor P6 panel with code P6-3535(27)-8S-HL1.0
Driver Chip - ICN2037BP
Latch Chip - SM5166PC
Trying to use an Adafruit MatrixPortal S3 to drive these panels (So also using custom pin configuration)
Panels are wired according to the below diagram...
The library works absolutely fine with 1/2/3 panels all in the same row. Text and Shapes are displayed OK.
Problem arises when I chain another 3 panels underneath to produce a 2 row 96x64px panel.
Again the first three panels still behave, but nothing is displayed on the bottom row of panels.
I have tried many different combinations of the setup variables, and cannot get it to work properly.
I have 'glued' together two of your examples, "Four_Scan_Panel" and "ChainedPanels" - (Code Pasted Below)
Could it be something to do with 'FOUR_SCAN_32PX_HIGH' needing to be 'FOUR_SCAN_64PX_HIGH' instead?
I've tried that and it seems to product garbage results. Code Below.
I have also had to include....
...To get the panels to work with the IC that they use.
As a test, I have also tried removing the print text functions in loop() and just writing a fillScreen(RED), and interestingly all 6 of the panels light up red. But I cannot get the bottom half (row 2 - panels 4,5,6) of the display to display any text.
The code above produces the below output
Then, when I change the config to have;
The output then looks like this
The text was updated successfully, but these errors were encountered: