hzeller / rpi-rgb-led-matrix

Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO
GNU General Public License v2.0
3.64k stars 1.16k forks source link

FM6127 does not work reliably past 2 panels chained? #1103

Open marcmerlin opened 4 years ago

marcmerlin commented 4 years ago

I just received some newer panels which turned out had FM6127 instead of FM6126A. They almost work, except for chaining: image

If I put the panel first in the chain, it's all good, but by the time it's 3rd, I pseudo randomly get some sections that do not get initalized correctly and a color component won't turn on. If I go back to FM6126A with the same rPi4 and cables, it works perfectly, so I think the tming for FM6127A may be off by just a bit?

arahasya commented 4 years ago

It is most probably a fault in that particular driver IC of that board Any boards after that will show problems

arahasya commented 4 years ago

With all your knowledge just wondering why don't you solve any issues and create a PR? @daveythacher

marcmerlin commented 4 years ago

As an update to this original thread, I wasn't able to reproduce this reliably. I think there was something electrically weird that caused issues. For now, I have an array where I replaced an FM6126A with an FM6127, and things work fine. Whatever problem I saw was likely a borderline effect that may not happen if I swap panels around or use a different cable. On the plus side (for me), my current application will be 3 panels connected in parallel, so I don't have to worry as much about chaining. Otherwise, I'll second @arahasya : @daveythacher get yourself some hardware if you haven't already, try out everything you've been saying, and submit a PR if you have improvements. PRs >>> ideas in bugs :)

marcmerlin commented 4 years ago

Ok, I got 8 more panels. There is definitely something wrong in the timing, but it's not deterministic Those are 2 chains of 8. The 2 bottom panels are connected to the rPi. I swapped the 2 bottom panels between the 2 pictures, and the display got fixed on those.

PXL_20200916_030415802 PXL_20200916_030606410

marcmerlin commented 4 years ago

what's interesting between the 2 pictures is that it shows the init string that works reliably on FM6126A, is off my enough to fail to init some portions of the screens, not always the same, and sometimes the last panel gets portions initialized even though they're not correctly initialized on a panel before it. I'll also add that FM6126A is apparently dead, my supplier only has FM6127 from now on.

marcmerlin commented 4 years ago

@daveythacher not sure if that should have helped, but no difference outside of worse refresh rate

root@rPi4:~# ~/rpi-rgb-led-matrix/examples-api-use/demo --led-gpio-mapping=regular --led-rows=64 --led-cols=128 --led-row-addr-type=0 --led-chain=4 --led-show-refresh --led-slowdown-gpio=5 --led-pwm-bits=2 --led-panel-type=FM6126A --led-parallel=3 --led-pwm-dither-bits=2 --led-pwm-lsb-nanoseconds=100 -D4 --led-pixel-mapper=V-mapper

I did 3000 nanoseconds too, but the refresh rate is so terrible that I can't use it at all.

marcmerlin commented 4 years ago

PXL_20200917_192618863 PXL_20200917_192639432

marcmerlin commented 4 years ago

Mmmh, this really looks like shooting in the dark, you're cubing the value, that's a huge slowdown. How are you doing on the front of getting yourself some panels? Which connection board are you using? passive? active? passive-3? active-3? What hardware have you setup for yourself and gotten working so far? Do you want a source of FM6127 panels so that you can get your own and try all the code you'd like against them?

marcmerlin commented 4 years ago

https://www.amazon.com/dp/B0869P1DCH is now using FM6127

marcmerlin commented 4 years ago

@daveythacher I hear you, and this is not my project, but having done open source for around 30 years, this is not how things work. You can't just contribute code and ideas you've never tested. Talking theory is all nice and good, but at the end of the day, it's just words and you need to test it if you want people to pay attention. If you want to contribute, you really need to get yourself some hardware, test what you're saying, and then submit a patch, or in this case you could send me a patch to test to check that what seems to have fixed the issue for you, also works for me (because not all panels are identical). So, please test, and if you aren't interested in doing so/don't want to get the hardware, lots of theory in bugs or ranting that you'd have done it a different way, isn't really that helpful, sorry.

arahasya commented 4 years ago

I hate to say this but this has become quite irritating now. @daveythacher You aren't the owner of this library. But you have hijacked almost all the issues with your long posts with 0 outcome.

Maybe have those long discussion in the PR sections and only refer them in the comments in the issue section.

arahasya commented 4 years ago

Instead we have semi-spaghetti C++ OO code - Did you change one line of this code to improve the repo?

I think the library integrates features in the wrong locations. I think C++ is a little forced in certain places. - Did you improve any of this code?

And if you feel like it's "wasting your time" to send a PR then you don't know how GitHub works.

arahasya commented 3 years ago

well, Henner has an open source library which thousands of people have successfully used. All your ideas may be good but aren't worth anything if you don't devote your "time" without expecting anything in return like Henner has done. Or just create your own library which is superior. So if you aren't ready to do anything on your own and just expect Henner to improve the library with your "superior knowledge" might as well pay him to do that.

alsaleem00 commented 3 years ago

I have similar issue here with FM6127. It looks the initialization sequence is not propagated well to the second unit. The first one in-line is working ok, but not the next (it is dimmed). I reversed the order and still the same.

alsaleem00 commented 3 years ago

I am using 2 of 126x64 (P2.5). The power supply (for both) is 10A. The panels are mounted on a lexan plate and chaining them by a 30cm ribbon. The distance from controller to matrix is about 40cm. I am using breadboard with 74AHCT245 to level shift signals. The problem has been solved. I just re-adjust wires going to matrix.

Thank you for the links. They are very helpful.

arahasya commented 3 years ago

Facing similar issue. Need help from you Henner, @hzeller

Data is propagating to exactly 7 FM6127 individual IC's properly, After that it is either blank or garbage.

I have manufactured the panels myself so have done all possible tests and swapped the cabled and panels.

Definitely issue with FM6127.

arahasya commented 3 years ago

worked when I used slowdown-gpio=5