Ws281x SPI connection device type

  • No pwm? Really? Yeah remove the pwm code :D
    People complain to often with issues. For testing you may able to attach a hyperiond. I could test it with a small "21 LEDs ring" - ws2812 chips
    :)


    Great work!

  • I should add - the low level code has had a couple of hours testing, the Hyperion driver has had 5 mins of testing.


    RPi 3, OSMC current and a 60 led ring
    Lightly loaded system - haven't even tried playing a movie - just some effects

  • Just been playing despicable me for the last hour - so far so good !


    Some notes:
    1) you need to make sure the core frequency is consistent. That might mean playing with some over clock aettings.


    2) I don't know how it will behave with longer strips - I'm assuming the kernal driver is using DMA to ensure it all get sent in one hit.


    3) the SPI rate is critical. The default works for me but is 60% higher than I calculated it should be.
    If you use a value too low, the strip is white
    If too big, the strip is all back

  • In case you get a voltage drop and pi lower the clock speed (should kick in? you could prevent it, yes), the leds will be black or white? For a short period or the whole time?
    Great so far!

  • I am embarrassed to even ask this question, but I have to...


    I have the beta version working on a RPI B+... still using the PWM as attempting to use the SPI had my LED's flashing well out of control......


    Unfortunately, I am completely unable to get anything working on my 2 RPI2's or my 3... Hyperion starts without errors but no output to my WS2812b LEDs... not at all sure why but I must be missing something in the config.txt or perhaps the STK1160 USB capture isn't working correctly, even though it will do a framegrab...


    Any thoughts on what I might be missing? It's all pretty standard...openelec V6.0.3, latest hyperion beta, etc..

  • you bet..


    [MEDIA=pastebin]YV1JQFV8[/MEDIA]



    I have 2 RIP B+'s that this all works perfectly on... hopefully, I haven't missed something incredibly simple and stupid, but you never know..


    These are WS2812b led's (256 total) , the wiring is ground on pin 6, data on pin 12. I am running all of this off of a 20a power supply...


    if you need any other info, just let me know...

  • There are now 3 ways to directly drive ws2812 strips from Hyperion
    - ws2812b - RPi 1 ONLY. Not pi2 nor pi3 (but maybe pi zero)
    - ws281x - should work on rpi 1,2,3 but is sensitive to the rpi firmware/OS and whether HDMI is plugged in. Eg OSMC needs an HDMI device attached at startup
    - my new SPI based 2812 driver - should work on any PI but you need a stable core_clock. Dynamic CPU will fiddle with this and under voltage also screw you over

  • This was the interesting part. On the pi2, with the 2nd option selected, fresh install of openelec, fresh install of Hyperion and my config, it all fired up without any issues. Once I rebooted, it never worked again. This was repeatable.


    I will try it again though cause I cannot confirm that I had hdmi plugged in on the reboot. It definitely was plugged in during the initial setup.

  • I've just tested a bit and similar to cbabbman I had the flashing results. After rebooting it usually doesn't start flashing but after restarting hyperion it generally starts flashing again.


    When using many leds (over 300) it appears to be doing nothing but I haven't debugged that yet.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!