This is better, although not quite right either, all the 8x8 squares are supposed to look the same.
missing/deleted image from Google+
@Marc_MERLIN here is your code running on my panel 16 parallel outputs
@Yves_BAZIN thanks for making it run, just had a look and it looks absolutely flawless on yours, outside of the fact that my code wasn’t really meant to scale to a screen so big, so it could be a bit more visually pleasing. I originally wrote it for an 8x8 display and later a “huge” 32x16 one
So, given that the pins I use work fine with Sam’s code but with the same wiring, same demo code and same ESP32, it looks quite bad with your driver, I’m confused now. The same demo code on your setup with your same driver code looks absolutely flawless.
So the only difference maybe is what pins we use for output?
Which FastLED.addLeds<WS281x statement do you use?
I can try to use the exact same. Not using pin0 was per your suggestion, already made things better.
Of course, there is the issue of cross talk between outputs, but if Sam’s driver is also parallel output and there is no crosstalk when I use it, it should hopefully mean that my wiring is ok enough for that parallel output at least
Going to bed now, I’ll try whatever pin mapping you are using to see if it helps.
@Marc_MERLIN I have switched to an old version of my block lib I will send it to you and let me know the difference but otherwise it should not be that big of a difference. Have a good night
Btw if did not touch your code only the mask to have the 16 outputs and the size of the array so it is the same led definition.
@Yves_BAZIN here is the version I have put on the panel https://gist.github.com/hpwit/6b7dd6d9d955a5044d3debf0ddc8f513
@Yves_BAZIN I just tried this (it’s a much bigger file that’s very different), sadly did not really improve things.
At this point, it does seem that changing which output lines I use might be helping, but I have no idea why.
I guess now I have 3 versions of the file to try and for each of them, I can try WS2811 or WS2812B which are different drivers, right? So 6 combinations to try for each change of pin I’ll try.
This may take a while, but you’re already right that pin0 isn’t working right on mine with your driver (and is flawless with Sam’s driver somehow).
For what it’s worth I’m using a non cheap sparkfun ESP32 dev board, so it’s not even a cheap chinese clone.
@Marc_MERLIN you are using the parallel output right ?
you still have the color issues ? this is quite strange I will try to set up 64x32 and see what happens. To debug I need to duplicate your set up. sorry for the inconvenience
@Yves_BAZIN yep, using parallel output with your driver and #define SERIAL_OUTPUT with Sam’s driver although in the end as you pointed out even if I define things as serial in Sam’s driver it uses parallel behind the scenes.
If I mistakenly use serial output in your driver, it’s so slow that it’s hard to miss
Honestly, I don’t think you need to setup 64x32 just for me. I think the problem is elsewhere.
You already pointed out that pin0 is showing issues for me and looking at my output more carefully I can tell the colors are wrong on some sets of 4 lines, meaning that some other pins are also having issues while others are not.
So that’s enough of a hint for me to work with, I think I need to find which pins are pins I should avoid.
question for you: I now have 3 versions of the driver from you. Should I keep trying all 3, or do you recommend one specifcally?
clockless_block_esp32.h > clockless_block_esp32.h.old
9166 Aug 4 10:09 clockless_block_esp32.h.new
20231 Aug 5 10:46 clockless_block_esp32.h.old
9085 Aug 4 10:08 clockless_block_esp32.h.orig
As for WS2811 vs WS2812B, do you recommend I use one definition, or the other?
Thanks
I say that because to have it work I needed to comment the #define SERIAL_OUTPUT in your code
use the last one I have sent you it’s more stable.
I will program my table like it’s 32*64 and see what I. can do
@Yves_BAZIN Ok, I’ll use the big 20KB version, thanks.
You are working with my last version checked in github which likely had serial output defined, yes.
My version on my laptop has it commented out every time I use your code (although I have to remember to do it).
If I don’t remember, then the initial scan is very very slow, so it’s easy to see the mistake.
On my side, do you want me to skip specific pins you have seen don’t work well for you?
And WS2811 vs WS2812B, should I try both each time?
Thanks
I am using pins 2,4,5,12,13,14,15,16,17,18,19,21,22,23,25,26. I don’t see difference between ws2811 and ws2812
@Yves_BAZIN I tried changing pins, and I seem to only be moving the problem around, sadly
I think for now I’m just going to stick to @Sam_Guyer 's branch and figure out if I can get 16 pins out of it, or just change my wiring to use 8 pins only in exchange for half the framerate.
I have no idea why I’m hitting these problems and you’re not, but I appreciate your help in trying to make it work for me.
@Marc_MERLIN sorry for the inconvenience I hope I will find the issue once having a 64x64
@Yves_BAZIN yeah, building the full 64x64 first is my plan now. I just want to see what happens with @Sam_Guyer 's code if I give it 16 lines of output. It might just work somehow
So close, I can taste it. Line #1 is not working yet, need to debug why
missing/deleted image from Google+
@Marc_MERLIN top !!! Beautiful realisation !!! So happy for you
What is your power set up ?
@Yves_BAZIN ok, good news, switching to 16 lines made the problems I had with 8 lines, just go away. No idea if it’s a timing issue of 8 vs 16 lines, or me touching the wiring, or what…
Now, I have this
FastLED.addLeds<WS2811_PORTA,NUM_STRIPS,((1<<2) + (1<<4) + (1<<5) + (1<<12)+ (1<<13) + (1<<14) + (1<<15) + (1<<16) + (1<<18) + (1<<19) + (1<<21) + (1<<22) + (1<<23) + (1<<25) + (1<<26) + (1<<27) )>(leds, NUM_LEDS_PER_STRIP);
Pin #2 seems to output a bit of garbage (blinking pixel or two) sometimes, but most of the time that first line (i.e. 4 lines on my matrix) stay off.
The rest seems to look good, even during animations (need to test more)
Still, much better than it was before. I need to leave this until tonight where I’ll try some more to see what’s wrong. I did try putting a parallel wire directly from the ESP32’s pin2 and touching the neopixel strip’s data line directly, and it didn’t seem to help.
Will try more later and report back.
@Marc_MERLIN Ahha happy to hear !!
If you plug another pin to the first rows is that the same result ?
Try to touch the data line somewhere else on the strip. Could it be that some leds are faulty ?
Finally…missing/deleted image from Google+
missing/deleted image from Google+