Go Down

Topic: ArtNet to WS2812 Pixel LED driver : Using Wemos D1 (arduino-esp8266) (Read 3279 times) previous topic - next topic

patdev

Nice work Bob. My panels will travel through europe this summer mounted on top of the car shown below.

Well thats if i manage to make it complete flickerfree (just 1 led left from the 1200 for one panel) on time and responsive in sync with the music (there is some delay when i stop the output in jinx :-()

Do you have an idea which direction in need to look. I think it is the reading of the universes.


mcnobby

The stop delay you are finding is due to buffering of packets, this means that your device cannot deal with packets fast enough. You need to trim the UDP RX routine right down using every possible trick in the book so that ALL universe can be read as fast as possible - this is what took me weeks to work out. Running at 160MHz is a major help, remove some of the characters from your 'A'r't'-'N'e't' checker, only read the size of the universe ONCE when the data starts streaming as it will always be the same after that

You need to get to a point where you can leave the device running for an hour or two, switch off and have NO stop delay at all, and also watch an animated display (like rain) and check that no packets are dropped, also if you see a green LED at first position every 54 seconds then this also has to do with inefficient universe reading
http://www.youtube.com/user/Recovered
http://www.smartshow.lighting

mcnobby

Also, are you using PCBs with just the ob board 'Reverse-F' PCB antenna ? or the boards with a Ceramic antenna ? or the ones where you can put an external one on ?

With the super cheap PCB antenna boards, it can be twitchy as to the angle of the PCB due to the way the antenna works and really should be in line radially with your router

With the ceramic antenna boards they can have an ex socket for antenna, dont bother with the ceramic as it isnt much of an improvement over the PCB one, but the external antenna works much much better - I found this a Huuuuuuge improvement in efficient reception
http://www.youtube.com/user/Recovered
http://www.smartshow.lighting

patdev

Bob, thanks for the tricks. I allready reduced the check on art-net of the first items in the packet as you proposed earlier in this discussion. The size is calculated once etc. It is running at 160Mhz. I use the standard on board antenna at the moment. But i ducktaped the esp on top of the wifi router ;-).



patdev

Well i removed every check on the header info, i check for universe size only once. And now i have a green blinkin led again ;-( not the first on of the strand, but the last of a strand of 4 strips.

I think i will solder the esp in the wifi router ;-). I think a take a little break or wait until youre finished.


mcnobby

Scope the NRZ signal and check your timing

I think you will find when the green appears you will see a long single first bit appear on the NRZ signal
What I guess is happening is even through the interrupts are turned off the ESP is still interrupting the data flow

Do an experiment systematically removing the ICACHE_FLASH_ATTR tags, I found that when I was running 32 universes I had to remove just about all of them, although I may have left one in the WSout routine

Post the slice of code of how you collect your universes and pack them into arrays and I will check it over
http://www.youtube.com/user/Recovered
http://www.smartshow.lighting

patdev

Well i managed it finally to drive a matrix of 2880 pixels. With many thanks to Bob and his example code and a hint. Next step is mounting it together. 

mcnobby

Well i managed it finally to drive a matrix of 2880 pixels. With many thanks to Bob and his example code and a hint. Next step is mounting it together. 
Very impressive !
Next step 5440 Pixels, and it IS possible ;)
http://www.youtube.com/user/Recovered
http://www.smartshow.lighting

patdev

For now 2880 pixels and a three channel firemachine will do. ;-)

Go Up