-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
ABC panels with fm6126A (128x64) require --led-row-addr-type=3 #823
Comments
Previous discussions of the quirky fm6126A" There is some code and comments regarding that chip, in this driver http://ledpixelart.com/pixelv2board/ declares the FM6126A is not compatible with their setup. One guy suggests that only init code must be added to solve his FM6126A problem: https://community.pixelmatix.com/t/smartmatrix-doesnt-support-fm6126a-driver-chips/421 |
@jake653 "One guy suggests that only init code must be added " => that was me :) Sorry that my message was unclear, the problem is not FM6126A which is solved with the out of band init code (hopefully will get integrated in the lib proper soon), it's the ABC addressing. |
I have ABC addressing panel using ICN2037, and I was not able to make it work. |
If this is an FM61A but only has three address lines, would this probably be working with (the new flag) |
ABC sounds like a different led multiplexing. Did you try through the available |
ABC could also means some different row address type; there are a few implemented, but they don't do three address lines. It might be worthwhile doing some reverse engineering, then implement this. It looks a bit like the AB row address type but maybe split into top and bottom half ? So I would try with |
Hello, I might have the same led panel with the same issue.
The same demo with |
I also have one of these ABC-panels and have the same issue as @5onix, @marcmerlin and @mcpgza. |
Good starting point is to get hold of a datasheet |
Hi, I have the same case as @mcpgza. I received two days ago two 128x64 led-matrix with the same ABC addresses and same information written on the panel (P2-128X64-32S-V4.0, LED1515, 2018/06/16). I asked the chinese store from Aliexpress where I bought the panel for some schematics or something useful but they said that their have no information about it |
Hi again, According to the adafruit site (https://learn.adafruit.com/32x16-32x32-rgb-led-matrix/new-wiring), the ABC addresses is the pin arrangement used by 32x16 panels I don't know if this could be useful to someone. Maybe this panel needs a custom internal mapper... |
I also have this 128x64 panel with the ICN2037 and the ABC lines. No luck getting it to work, I get the same image as @mcpgza posted above. Would like to help any way I can. |
It seems it requres a new RowAddressSetter, and I would like to wrtire it, but unfortunately I dont understand how it works, dear @hzeller, can you provide a short descrption how it works, what it does. Thanks. |
According to Adafruit for the 32x16 Led matrix, A is the lowest bit of row address I think ours panels is the same pinout but with a 1:32 scan multiplexing... Anyway, I've contacted the manufacturer of my led matrix (Coreman.cc). Let's see if I'm lucky and they answer me with the information I've requested |
Hi, I found this forum with some information that can be useful https://community.pixelmatix.com/t/led-module-p2-128-64-1-32-driver/414 |
Great work @mcpgza ! |
Based on thread #823, in particular investigations by @rowanG077 and code by @mcpgza
Thanks @mcpgza ! I have added your code to the master branch now and it can be selected with This then allows others who also have the panel to help figure out the remaining issue with the missing line. |
Hi guys, I'm trying the new option for our 128x64 ABC modules. Apart of the black line, I see two things:
I'll upload some images of these things |
For your 1st problem, have you tried the demo #4 - Pulsing color or #11 - Brightness pulse generator ? |
Hi @5onix I've tried with demos and images (as you can see in my previous message) and the result is the bad subpixels on the edges. My second matrix module is failing and the low quarter of the module has no light (I thing something has broken) Following a picture of the two modules working together, (the left one is the broken module). I have 3 LEDs broken too (in the right corner of the right module) |
speaking of P2 panels and pixels that fall off, have you found some kind of glue spray that you can layer on top of them to glue them all in place so that they don't get lost? (and without affecting display quality and/or the space between panels if you put them adjacent to one another) |
Good point @marcmerlin, this panels look very fragile and is very easy to lost pixels. (I found 2 of the pixels, but I don't know how to glue them to the panel again) |
@mcpgza thanks for the answer, can you please guide me how to control any pixel of led panel, |
@arash1221 Please don't hijack an existing issue with an unrelated problem; open a new issue. To your problem: try to gpio slowdown your output ( Also, you really want a level shifter, as not only will be the digital voltage correct (and right now you're just essentially playing jeopardy if it might work), but also, you can't really drive long lines with the GPIO pins directly. |
Thanks @hzeller I recall it. |
Hey, I've seen your discussion about ABC being slower than ABCDE. This is because the code is not using the Shift-Register that is connected to the row selection as it is meant to be used (I guess). To select one out of N rows, you are shifting out N-1 zeroes and one one out to the display. Of course this needs more than N clock cycles which is way longer on 1/16 or even 1/32 panels than just setting 5 GPIOs at once. However: This is actually not necessary if you scan your rows incrementally, which is usually what is done. In this case you actually do only have to shift out one bit for every cycle. You shift out 1 for row 0 and 0 otherwise. Here is the code I contributed to PxMatrix few days ago: If you don't require random row access, it boils down to:
Hope this may also help you :) |
Nice, thanks xsrf |
Nice, thanks @xsrf . |
@hzeller please implement it, i will test and fix it if necessary. I dont know how to translate that code to your library api. |
So, I do have ABC panels somewhere in my garage, but I'm not using them, as my main array is ABCDE, so honestly my enticement to spend time on them for a small improvement that i won't see because I don't use them, is kind of limited :) |
I believe those panels are not ABC, so this is not the place to ask for him on those panels. |
@javiervalero31 actually there is a support group now, I just created one :) |
@xsrf I implemented it in my code and after that I found your message.
If you implement it like this then it also fixes the problem with the black line in the middle of the module (which was reported many times in this issue). |
this has been fixed for a while, closing |
@mcpgza @Sl-Alex @xsrf @javiervalero31 , since apparently these ABC panels still exist and are still being shipped, could someone re-confirm my understanding to make sure I'm correct: |
The big advantage is you can support an arbitrary amount of rows. with ABCDE you are limited to 32 rows. Although it is slower it's not like it's a lot. A single cycle extra every row you are clocking out. |
@rowanG077 let me rephrase to make sure I understand. |
with a good FPGA implementation 128 rows wouldn't really be a problem. Some LED panel usage requires only 1-bit depth for simple signage applications. There you could even imagine 256 rows or 512 rows. Personally I think a uniform interface is much better then just add a pin everytime. It makes connectors and clients much more expensive. But besides that there is no advantage I'm aware of, |
Thanks @rowanG077 that's a reasonable answer, In my easier tests ABC seemed slower for ABCDE, but maybe it was just the current implementation. Your point that ABC allows adding even more rows without adding more pins, is indeed valid. |
This issue is a duplicate of #1025 |
I forgot to give the link for the rpi0 2w vs rpi3 speed tests: https://rpi-rgb-led-matrix.discourse.group/t/rpi0-2w-speed-compared-to-rpi3a/913 (basically they are just as fast) |
This is starting to get annoying...
I get output on them after sending the fm26126A init sequence, but the output is all wrong given the line addressing having changed again. It seems that you only select one of 8 lines, and push 4 times 128 pixels to reach the other 3 rows after filling the first one.
Why, oh why do "they" have to keep changing how to do things? I got those as replacements for a perfectly working ABCDE panel
The text was updated successfully, but these errors were encountered: