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

REQUEST Change colourOrder halfway through device

Discussion in 'Feature Requests' started by tgbporter, 3 June 2016.

  1. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    I have extended my Hyperion system to a book shelf next to my TV, video below. (All WS2801 LED strips)

    https://drive.google.com/open?id=0B0hmhZ-DmLv9cXB0dHQtTnE3Y2M

    The issue I am having is that the new LED Strip has a colourOrder of "RBG" and the old one is "RGB". So when these are linked together, the blue and green will never be the same.

    I have been trawling the forums and wikis for a long old time, I am more of a hardware hacker but am familiar with coding the hyperion config json files as I have written new arrays for the new LEDs.

    is there any way that I can apply "RBG" only to LEDs over 105? and keep "RGB" to all numbers under 105?

    otherwise I have to get another strip and go through installation all over again. costly pain!

    Another alternative that I have thought about (but don't now exactly how to execute) is to create arduino adalight system and another hyperion server out of the USB port? will this work?

    Any help appreciated.
     
  2. Brindosch

    Brindosch Active Member

    Messages:
    678
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    Greetings,
    currently it is impossible to mix up the rgb byte order with "one" device.

    You could use a arduino
    Step 4 is a sketch https://hyperion-project.org/threads/diy-amblight-project-guide-hyperion-ws2801-ws2812b-apa102.8/

    Use the Hyperion forwarder to push the grabbed pictures to a second hyperion instance (the arduino instance) (the usage of the forwarder (setting it up) will be improved with the next hyperion version)
    https://hyperion-project.org/wiki/Controlling-Multiple-Devices

    Setting it up may need some time, but it is doable.
     
  3. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    What about reading the values from the SPI line with an arduino, and spitting them back out with the G and B values reversed?

    Do you think that could work?
     
  4. Brindosch

    Brindosch Active Member

    Messages:
    678
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    i am not into deep in this spi stuff, so not sure if you could extract and resort this that easy.
     
  5. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    OK thanks, I just wish sellers of these strips would list the Byte order!

    I have ordered more strips for the other side of the room, so I might end up swapping one of the strips out.

    I will experiment with the Arduino methods above this weekend and keep this post updated with my progress.
     
  6. Brindosch

    Brindosch Active Member

    Messages:
    678
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    As long as i know the APA102 stripes has all the same order
     
  7. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    1,257
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    why dont you use some esp8266 to connect them wireless? with different byt order :)
     
  8. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    This would be amazing and open up a lot of possibilities for me.
    Is there any info available on this?
     
  9. Brindosch

    Brindosch Active Member

    Messages:
    678
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    In case i deliver the wrong information
    -> a WIP esp sketch with fastled: https://github.com/SciLor/ESP8266_Hyperion_LED-Controller
    you need to add to config.static.h your settings like byte order wlan ssid/pw led type

    now you start a second hyperion instance with device: udp - add ip and port
    configure the leds (amount) you attached to the esp

    forward the pictures with the enabled hyperion forwarder to the second hyperion if you want to process the grabbed pictures too.

    Not sue if TPmodding wanted to say this. I use just a nodeMCU currently.
     
  10. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    1,257
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    Yes, you are right brindosch. nodeMCU has a esp8266 too, just with a comfortable board :)

    this should be the answer...
     
  11. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    This looks veeeeeery interesting to me, will let you know how it works out when I sit down again with it.
     
  12. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    1,257
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
  13. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
  14. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    1,257
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    Cant see without google account :(
     
  15. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    [​IMG]


    [​IMG]


    I guess dropbox is better than drive!!!

    I'll find a way to share my video out too.
     
  16. TPmodding

    TPmodding Administrator Staff Member Administrator

    Messages:
    1,257
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    That is awesome! I need one who helps me with CAD/pcb design :) i will pm you!
     
  17. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2

    So in order to execute this, I copy the .h and .cpp files to my Arduino Libraries folder, add a file called config.static.h with config details, and compile and upload the .ino file?

    seem about right to you guys?
     
  18. Brindosch

    Brindosch Active Member

    Messages:
    678
    Hardware:
    RPi1/Zero, RPi2, RPi3, +nodeMCU/ESP8266
    i realized there is no readme
    sadly no. you need to active or download
    a) ArduinoThread
    b) ArduinoJson
    c) LinkedList
    d) FastLED (clone from github repo - not the integrated one) https://github.com/FastLED/FastLED
    e) Logging (copy to folder libraries) - https://github.com/SciLor/Arduino-loggin...master.zip
    rename config.static.h.example to
    config.static.h

    I already prepared a portable arduino ide which should hopefully work on other computers. i still didn´t tested it. (is a prepare for a tutorial)
    I will upload it :)


    Edit: https://onedrive.live.com/redir?resid=7236025C06E3C265!3232&authkey=!AKrjCeuWvny-soY&ithint=file,zip
     
    Last edited: 3 June 2016
  19. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    Ok great, thanks, I will try this out.

    Having issues with logging library for some reason.


    EDIT: Great! It compiled! I will next be by my hardware tomorrow and am very looking forward to trying this.

    One of these days you will have to show me that tutorial, and how you made this portable IDE.
     
    Last edited: 3 June 2016
  20. tgbporter

    tgbporter New Member

    Messages:
    15
    Hardware:
    RPi2
    Just a quick update while I work on this:

    I used the arduino method with a second hyperion daemon over USB to get the second LED strip working.

    One issue that caused me to scratch my head for a while: Chinese clone Arduinos with CH340G Usb to Serial converters will not work.
    You need to use a genuine arduino or at the very least one with a better serial interface.

    I want to experiment more with the ESP8266 later today, and add some more lights to my setup.

    Another thing I did find, inside this guide:

    https://hyperion-project.org/threads/diy-amblight-project-guide-hyperion-ws2801-ws2812b-apa102.8/

    In step 4, There is a line that says "Mount boot partition read/write"

    The

    Code:
    mount -o remount,rw /flash
    command did not work for me, so instead what I did was:

    Edit /boot/config.txt and added the line about UART speed.

    Not sure if correct, but the proof is in the pudding. The second strip works.

    It lags the slightest amount behind the other one though.
    This I think must be a consequence of going from Pi to Arduino to WS2801 rather than going straight from Pi to WS2801 (which has no lag or at least imperceptible)

    Thanks a lot for the help guys, I will perhaps make a new discussion regarding the ESP8266