123swk123 / neoLED-frame-grabber

Addressable led (ws2811,ws212b,SK6812RGBW) frame grabber hardware and neoLED virtual viewer as per any given layout
GNU General Public License v3.0
2 stars 0 forks source link

Not getting any view from input, only layout opened. #2

Open Kamal-Sonani opened 4 years ago

Kamal-Sonani commented 4 years ago

I tried as your documentation , but not getting any animation on matrix.

Is their any other way to verify ?

123swk123 commented 4 years ago

Use --verbose command line option which will show you how the internal buffer is filled and managed, that will give you rough idea where to focus troubleshooting.

123swk123 commented 4 years ago

By the way can you post your command line options?

Kamal-Sonani commented 4 years ago

cd path neoLEDViewer.py --led WS2811 --layout SnakeL2R --width 10 --height 10 --port com6

https://www.youtube.com/watch?v=QBZyEKiyt6U

just check this video

123swk123 commented 4 years ago

Append --verbose to your command line options

neoLEDViewer.py --led WS2811 --layout SnakeL2R --width 10 --height 10 --port com6 --verbose

Just make sure led panel width and height mention the command line and you led controller's configured width and height matches.

As per your video I think hardware is working at least, try to view the terminal output in hex mode.

Kamal-Sonani commented 4 years ago

neoLEDViewer.py --led WS2811 --layout SnakeL2R --width 10 --height 10 --port com6 --verbose

--verbose showing some data, but no success

check it here https://youtu.be/Y6RfQIV-6Gs

123swk123 commented 4 years ago

Could you copy paste the log? It's difficult to read the log over the video. Also upload the dump.bin which you can find it in the folder from where you executed the neoLEDViewer.py

Also did you tune the pot to match your led timing?

For ws2811 approximately you have to keep the pot @ middle position (10k)

123swk123 commented 4 years ago

In your led controller how many leds have you configured to drive? And what's your led panel size in number of rows and columns.

Kamal-Sonani commented 4 years ago

@123swk123 yes, i placed 50k variable pot & set to 10k with 33pf cap.

Dump file remains 0kb (while running or closed GUI of python)

I'll verify & update with same.

I'm driving 2000 led @ 40 width & 50 height With T1000 controller (ws2811)

123swk123 commented 4 years ago

As per your youtube log I see that python application is unable to find the EOS (0D 0A) sequence, this can happen only when clock recovery is having some trouble.

Without the verbose log and dump file it's very difficult for me to help you with troubleshooting.

Possible solution for now,

Set the led size to 2 or 4 through command line option, for rendering 2000 leds Qt QML takes huge CPU resource if LED size > 8, so this may lead to buffer loss.

--ledsize 2

Also you could tune the POT slowly until you see some activity on the python viewer.

Kamal-Sonani commented 4 years ago

Here is log file dump.zip

& For verbose check video https://youtu.be/w-OPn9B3ZMA

Kamal-Sonani commented 4 years ago

image

suspect (i think ) >>my controller's dataline blue dataline = 600 led yellow dataline = 2000 led

led works well on both dataline yellow line is without any reset pulse in between each 3 byte (RGB) & blue dataline have small delay pulse

after one complete frame (600 led & 2000 led )each dataline have little bit longer reset pulse

123swk123 commented 4 years ago

Let me go through the dump zip, by the way did you try to tune the pot while led controller running?

Kamal-Sonani commented 4 years ago

Yes,

I tried with tune.

123swk123 commented 4 years ago

in the dump.bin does not have '0D 0A' sequence this means your hardware was not able to sense the reset led signal which is generated by LED controller. so the root cause of this problem is clock recovery mechanism.

using your DSO check the pin 9 and 8 of pic16f18325 for clock recovery, it should have approximately 50% to 60% duty cycle.

FYI: this hardware expects 5v LED signal and not 3.3v voltage level.

123swk123 commented 4 years ago

image

suspect (i think ) >>my controller's dataline blue dataline = 600 led yellow dataline = 2000 led

led works well on both dataline yellow line is without any reset pulse in between each 3 byte (RGB) & blue dataline have small delay pulse

after one complete frame (600 led & 2000 led )each dataline have little bit longer reset pulse

I just remembered due to python implementation it has limitation on FPS, currently at the max it supports 5 ~ 8fps for 2000LEDs and 20 ~ 25fps for about 600LEDs

for more higher speed we may have to do native implementation using C/C++.

123swk123 commented 4 years ago

capturing 2000 LEDs @ ledsize 5

&$env:pythonpath .\neoLEDViewer.py --led WS2811 --layout ZigZagL2R --width 100 --height 20 --port COM10 --ledsize 5

neoLED_Viewer_20x100_ZigZagL2R