1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

RPi + Other Software Raspberry Pi4 WS2801 Kodi No LEDS Working

Discussion in 'Hardware Support' started by noz1380, 1 October 2020.

  1. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    Been lurking for a while, and making changes to my setup and now I'm stuck....

    I have a current Hyperion setup with an old Raspberry Pi on network, with a PC running Kodi and the Hyperion add-on.

    This seup works ok, but the PC is old and being replaced with a Pi4

    I have setup a Pi4 with Raspberry Pi OS, installed Kodi and Hyperion. The capture seems to work, but no output to the LEDS.

    I have turned on SPI, and I know all the LEDS are working fine (from previous setup)

    The Pi is wired to the LEDS with GND, Mosi (pin 19) and SCLK (pin 23). I have a good 10amp 5v PSU.

    I cant understand why Hyperion isnt outputting to the LEDS.

    What am I doing wrong??

    Thank you.
     
  2. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    1,886
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    not providing logs and configs
     
    • Like Like x 1
  3. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    Sorry, I'm a plonker.


    2020-10-01T11:13:16.952Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:50:handleCompStateChangeRequest()) Disable Hyperion, store current component states
    2020-10-01T11:13:16.955Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Hyperion: disabled
    2020-10-01T11:13:16.955Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: disabled
    2020-10-01T11:13:16.955Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: disabled
    2020-10-01T11:13:16.955Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:255:clearInput()) Removed source priority 250
    2020-10-01T11:13:16.955Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 254
    2020-10-01T11:13:16.956Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[254], previousPriority[250]
    2020-10-01T11:13:16.956Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: disabled
    2020-10-01T11:13:16.959Z [hyperiond Dispmanx] (DEBUG) (GrabberWrapper.cpp:58:stop()) Grabber stop()
    2020-10-01T11:13:16.966Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
    2020-10-01T11:13:16.967Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1041:handleLoggingCommand()) log streaming deactivated for client ::ffff:42.1.1.50
    2020-10-01T11:13:18.807Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:63:handleCompStateChangeRequest()) Enable Hyperion, recover previous component states
    2020-10-01T11:13:18.807Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Hyperion: enabled
    2020-10-01T11:13:18.807Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled
    2020-10-01T11:13:18.808Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled
    2020-10-01T11:13:18.808Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/GRABBER' with priority 250 as inactive
    2020-10-01T11:13:18.808Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: enabled
    2020-10-01T11:13:18.811Z [hyperiond Dispmanx] (DEBUG) (GrabberWrapper.cpp:48:start()) Grabber start()
    2020-10-01T11:13:18.808Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
    2020-10-01T11:13:18.918Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now active
    2020-10-01T11:13:18.918Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250
    2020-10-01T11:13:18.918Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[250], previousPriority[254]
    2020-10-01T11:13:27.656Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:204:sendClose()) send close: 1000
    2020-10-01T11:13:27.906Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:42.1.1.50
    2020-10-01T11:13:27.907Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:81:handleInstanceSwitch()) Client '::ffff:42.1.1.50' switch to Hyperion instance 0
    2020-10-01T11:13:28.080Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1032:handleLoggingCommand()) log streaming activated for client ::ffff:42.1.1.50
     

    Attached Files:

  4. Awawa

    Awawa Active Member

    Messages:
    227
    Hardware:
    RPi1/Zero, RPi3, +nodeMCU/ESP8266
    Any particular reason for using /dev/spidev0.1 instead of /dev/spidev0.0?
    Got Rpi3/4 and same WS2801 and everything works OK without level shifters.
     
  5. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    I think I was just testing both. It doesn’t work on either.

    Excuse my ignorance what do you mean by level shifters.
     
  6. Awawa

    Awawa Active Member

    Messages:
    227
    Hardware:
    RPi1/Zero, RPi3, +nodeMCU/ESP8266
    Set /dev/spidev0.0 if you dont have any other devices on SPI line, latchTime=1,rewriteTime: 5000
    Post your full debug after reboot and compare if wiring is the same as on the photo (Rpi4 is second setup but wiring is the same as for Rpi 3 on first picture link)
    From top: 4 empty, ground, 4 empty, MOSI, empty, CLOCK
    Level shifter: Rpi Mosi,ck on GPIO 3.3V -> 5V LED
     
  7. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    Log with the changes you suggested....

    2020-10-01T14:44:11.977Z [hyperiond DAEMON] (INFO) CEC handler created
    2020-10-01T14:44:11.991Z [hyperiond EFFECTFILES] (INFO) 39 effects loaded from directory :/effects/
    2020-10-01T14:44:11.995Z [hyperiond EFFECTFILES] (INFO) 22 effect schemas loaded from directory :/effects/schema/
    2020-10-01T14:44:11.999Z [hyperiond EFFECTFILES] (INFO) 0 effects loaded from directory /home/pi/.hyperion/custom-effects
    2020-10-01T14:44:12.021Z [hyperiond SETTINGSMGR] (DEBUG) (SettingsManager.cpp:107:SettingsManager()) Settings database initialized
    2020-10-01T14:44:12.022Z [hyperiond BLACKBORDER] (DEBUG) (BlackBorderProcessor.cpp:64:handleSettingsUpdate()) Set mode to: default
    2020-10-01T14:44:12.023Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled
    2020-10-01T14:44:12.100Z [hyperiond DAEMON] (INFO) set screen capture device to 'dispmanx'
    2020-10-01T14:44:12.101Z [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:30:setVideoMode()) Set videomode to 0
    2020-10-01T14:44:12.102Z [hyperiond DISPMANXGRABBER] (INFO) Display opened with resolution: 1920x1080
    2020-10-01T14:44:12.102Z [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:90:setWidthHeight()) Set new width: 80, height: 45 for capture
    2020-10-01T14:44:12.103Z [hyperiond DAEMON] (INFO) DISPMANX frame grabber created
    2020-10-01T14:44:12.104Z [hyperiond V4L2:AUTO] (DEBUG) (Grabber.cpp:30:setVideoMode()) Set videomode to 0
    2020-10-01T14:44:12.105Z [hyperiond V4L2:AUTO] (INFO) Signal threshold set to: {12, 12, 12}
    2020-10-01T14:44:12.105Z [hyperiond V4L2:AUTO] (INFO) CEC detection is now disabled
    2020-10-01T14:44:12.106Z [hyperiond V4L2:AUTO] (INFO) Signal detection is now disabled
    2020-10-01T14:44:12.106Z [hyperiond V4L2:AUTO] (INFO) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
    2020-10-01T14:44:12.106Z [hyperiond DAEMON] (DEBUG) (hyperiond.cpp:568:handleSettingsUpdate()) V4L2 grabber created
    2020-10-01T14:44:12.115Z [hyperiond JSONSERVER] (DEBUG) (JsonServer.cpp:27:JsonServer()) Created instance
    2020-10-01T14:44:12.130Z [hyperiond JSONSERVER] (INFO) Started on port 19444
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (INFO) Start LedDevice 'ws2801'.
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:147:init()) deviceConfig: [{"colorOrder":"rgb","currentLedCount":80,"hardwareLedCount":1,"invert":false,"latchTime":1,"output":"/dev/spidev0.0","rate":1e+06,"rewriteTime":5000,"type":"ws2801"}]
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:403:setLatchTime()) LatchTime updated to 1ms
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:423:setRewriteTime()) Refresh interval = 5000ms
    2020-10-01T14:44:12.110Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:429:setRewriteTime()) RewriteTime updated to 5000ms
    2020-10-01T14:44:12.110Z [hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:45:init()) _baudRate_Hz [1000000], _latchTime_ms [1]
    2020-10-01T14:44:12.110Z [hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:46:init()) _spiDataInvert [0], _spiMode [0]
    2020-10-01T14:44:12.111Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled
    2020-10-01T14:44:12.115Z [hyperiond FLATBUFCONN] (INFO) Connecting to Hyperion: 127.0.0.1:19401
    2020-10-01T14:44:12.131Z [hyperiond FLATBUFSERVER] (INFO) Started on port 19400
    2020-10-01T14:44:12.131Z [hyperiond EFFECTENGINE] (INFO) Run effect "Rainbow swirl fast" on channel 0
    2020-10-01T14:44:12.131Z [hyperiond PROTOSERVER] (INFO) Started on port 19445
    2020-10-01T14:44:12.131Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:32:initServer()) Initialize Webserver
    2020-10-01T14:44:12.132Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:32:initServer()) Initialize Webserver
    2020-10-01T14:44:12.230Z [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:183:runEffectScript()) Start the effect: name [Rainbow swirl fast], smoothCfg [2]
    2020-10-01T14:44:12.231Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/EFFECT' with priority 0 as inactive
    2020-10-01T14:44:12.231Z [hyperiond HYPERION] (INFO) Initial foreground effect 'Rainbow swirl fast' started
    2020-10-01T14:44:12.232Z [hyperiond EFFECTENGINE] (INFO) Run effect "Warm mood blobs" on channel 254
    2020-10-01T14:44:12.233Z [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:183:runEffectScript()) Start the effect: name [Warm mood blobs], smoothCfg [2]
    2020-10-01T14:44:12.233Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/EFFECT' with priority 254 as inactive
    2020-10-01T14:44:12.234Z [hyperiond HYPERION] (INFO) Inital background effect 'Warm mood blobs' started
    2020-10-01T14:44:12.235Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/GRABBER' with priority 250 as inactive
    2020-10-01T14:44:12.235Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: enabled
    2020-10-01T14:44:12.236Z [hyperiond Dispmanx] (DEBUG) (GrabberWrapper.cpp:48:start()) Grabber start()
    2020-10-01T14:44:12.237Z [hyperiond BOBLIGHT] (DEBUG) (BoblightServer.cpp:28:BoblightServer()) Instance created
    2020-10-01T14:44:12.238Z [hyperiond HYPERION] (INFO) Hyperion instance 'Pi4-Kodi' has been started
    2020-10-01T14:44:12.237Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:90:handleSettingsUpdate()) Apply Webserver settings
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:108:handleSettingsUpdate()) Set document root to: :/webconfig
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:90:handleSettingsUpdate()) Apply Webserver settings
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:108:handleSettingsUpdate()) Set document root to: :/webconfig
    2020-10-01T14:44:12.288Z [hyperiond WEBSERVER] (INFO) Started on port 8090 name 'Hyperion Webserver'
    2020-10-01T14:44:12.324Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:174:handleSettingsUpdate()) Setup SSL certificate
    2020-10-01T14:44:12.325Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:190:handleSettingsUpdate()) Setup private SSL key
    2020-10-01T14:44:12.325Z [hyperiond WEBSERVER] (INFO) Started on port 8092 name 'Hyperion Webserver'
    2020-10-01T14:44:12.340Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now active
    2020-10-01T14:44:12.341Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 0
    2020-10-01T14:44:12.342Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[0], previousPriority[255]
    2020-10-01T14:44:12.342Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:548:handlPriorityChangedLedDevice()) new source available -> switch LED-Device on
    2020-10-01T14:44:12.399Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:198:setInput()) Priority 254 is now active
    2020-10-01T14:44:12.411Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 0 is now active
    2020-10-01T14:44:15.390Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:298:setCurrentTime()) Timeout clear for priority 0
    2020-10-01T14:44:15.643Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250
    2020-10-01T14:44:15.644Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[250], previousPriority[0]
    2020-10-01T14:51:17.921Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:42.1.1.50
    2020-10-01T14:51:17.922Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:81:handleInstanceSwitch()) Client '::ffff:42.1.1.50' switch to Hyperion instance 0
    2020-10-01T14:51:24.837Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1032:handleLoggingCommand()) log streaming activated for client ::ffff:42.1.1.50
     
  8. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    CL - SCLK (Red Wire) goes to pin 23
    DI - MOSI (Green Wire) goes to pin19

    Below is my little pcb, main 4 wires to the input end of the LED, just power to the other side. Long wires from the Pi4
     
  9. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
  10. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    Oh and no level shifters, I didnt use them on the original setup either.
     
  11. Awawa

    Awawa Active Member

    Messages:
    227
    Hardware:
    RPi1/Zero, RPi3, +nodeMCU/ESP8266
    And "old Raspberry Pi" was which model? From pcb photo is hard to guess how is connected to Rpi and if ground cable is connected to GPIO of Rpi4.
     
  12. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    So my old setup is an original Pi B Rev 1. I was running the old Hyperion on this and a kodi addon from pc to grab.

    my new setup, the Pi 4 has 3 wires to gpio, 19, 23 and Ground.
     
  13. Awawa

    Awawa Active Member

    Messages:
    227
    Hardware:
    RPi1/Zero, RPi3, +nodeMCU/ESP8266
    One detail picture would tell much more ;) Anyway, double check again connection or verify if MOSI is working properly (connecting it to MISO in a loop and use one of test programs for SPI troubleshooting )
     
    • Agree Agree x 1
  14. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    I’ll get some photos, working off my phone atm.

    I’ll get more info, and test the SPI.
     
  15. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    I’ll get some photos, working off my phone atm.

    I’ll get more info, and test the SPI.
     
  16. Awawa

    Awawa Active Member

    Messages:
    227
    Hardware:
    RPi1/Zero, RPi3, +nodeMCU/ESP8266
    OK. BTW if you still have the old Pi zero then you can perform full test connecting Rp4 and Pi zero using SPI in master/slave communication. But before that verify wiring. EDIT: seems Rpi can be only master...arduino could help.
     
    • Thank you Thank you x 1
  17. noz1380

    noz1380 New Member

    Messages:
    11
    Hardware:
    RPi3, 32/64bit
    Right this is sorted now.

    After your input it seemed thatone link in the chain was an issue, so when as requested I spotted that one connectors wires to the Pi didnt align corrently, so re-jigged and all is working great.

    Thank you all for your help!! Very impressed with the support.
     
    • Like Like x 1