Hyperion->Arduino Nano->TM1829

dmesg reveals

xhci_hcd 0000:00:14.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 3 comp_code 1

xhci_hcd 0000:00:14.0: Looking for event-dma 00000000773fe670 trb-start 00000000773fe680 trb-end 00000000773fe680 seg-start 00000000773fe000 seg-end 00000000773feff0

so it’s still working and i think, the Message is more or less old and happened since on Openelec/Libreelec

Advertisements

New System: Asus Aspire V11 N3530

Scraped a Netbook with a broken Touchscreen, so i took of the Screen, relocated the Webcam and WLAN Antennas, plugged in HDMI, made a Libreelec USB Stick and installed LibreELEC (official): 8.2.3 (Generic.x86_64) which worked right out of the box but i had some troubles installing hyperion, precisely starting hyperion. so here’s my autostart.sh:

set DISPLAY=0.0
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/storage/hyperion/bin
export PATH=$PATH:/storage/hyperion/bin
hyperiond /storage/.config/hyperion.config.json >/storage/logfiles/hyperion.z0mb1.log 2>&1 &
hyperiond /storage/.config/hyperion.espLight54.config.json > /storage/logfiles/hyperion.espLight54.log 2>&1 &
hyperion-x11 /storage/logfiles/hyperion-x11.log 2>&1 &

The sequence of hyperiond -> hyperion-x11 is relevant, else the x11 grabber wont connect to hyperiond via proto as in:

hyperion-x11:
version : V1.03.3 (brindosch-2fbbcff/2f01dfa-1495880388
build time: Jun 3 2017 02:06:03
PROTOCONNECTION INFO: Connecting to Hyperion: 127.0.0.1:19445
X11GRABBER INFO: Update of screen resolution: [0x0] => [1920×1200]
X11GRABBER INFO: Using XRender for grabbing
PROTOCONNECTION INFO: No connection to Hyperion: 127.0.0.1:19445

start hyperiond and the x11 grabber connects:

PROTOCONNECTION INFO: Connected to Hyperion: 127.0.0.1:19445

//i’m not sure about the set Display part, but it works in my case.

While moving, i realized, there’s no vcgencmd anymore, so my screensaver doesn’t work anymore. After 2 Days of researching i found the ToggleDPMS() builtin function.

change line 35 & 43 of the default.py

35:os.system('vcgencmd display_power 0')
43:os.system('vcgencmd display_power 1')

to

xbmc.executebuiltin('ToggleDPMS()')

doesnt work, line 43 won’t be executed, so no DPMS restore happens and i have to send a ToggleDPMS() manually…. Shell: kodi-send –action=”ToggleDPMS()” manually….

——————–XX WORk XX —————

… suspend:
grep . /sys/bus/usb/devices/*/power/wakeup

/sys/bus/usb/devices/1-2.1/power/wakeup:enabled
/sys/bus/usb/devices/1-2.2.1/power/wakeup:enabled
/sys/bus/usb/devices/1-2.2.2.4.3/power/wakeup:enabled
/sys/bus/usb/devices/1-2.2.2.4/power/wakeup:enabled
/sys/bus/usb/devices/1-2.2.2/power/wakeup:enabled
/sys/bus/usb/devices/1-2.2/power/wakeup:disabled
/sys/bus/usb/devices/1-2/power/wakeup:enabled
/sys/bus/usb/devices/usb1/power/wakeup:enabled
/sys/bus/usb/devices/usb2/power/wakeup:enabled

echo disabled |tee /sys/bus/usb/devices/*/power/wakeup
disables all wakeup caps from USB
echo enabled > /sys/bus/usb/devices/1-2.2.2.4.3/power/wakeup
enables just MY wireless Keyboard, to wakeup my System
add autostart.sh part and use suspend… but filesharing is offline too….

echo disabled |tee /sys/bus/usb/devices/*/power/wakeup 2>&1
echo enabled > /sys/bus/usb/devices/1-2.2.2.4.3/power/wakeup

TM1829 aka Aldilight Arduino Hyperion Control

at Last…

For Example using a string of 26 LEDs.
using the neobob library in arduino IDE
line 36
#include <neobob.h>
setting line 37 to
#define NOLEDS 26

and line 39 to
const char head[] = {0x41, 0x64, 0x61, 0x00, 0x1A, 0x4F}; //AdaMagic-26LEDS 01-26

source:Adalight prefix Magic Generator

aswell leaving line 56 as it is.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NOLEDS, PIN, NEO_GRB + NEO_KHZ800);

made the strip light up. When using the preset Bootsequence
colorWipe(PINK);
delay(100);
colorWipe(ORANGE);
delay(100);
colorWipe(BLACK);

the first pixel won’t show the correct color, ignore it!
even a simple colorWipe(BLACK); lit up the first pixel in blue flashes…

when controlled via hyperion, using the following hyperion.config.json works for 26 Pixel (every TM1829 controls 3 LEDs in the Aldi RGB LED Strip Configuration)
http://codepad.org/53wcKxWN (even setting diffrent bautrates like in neobob.in “460800” and in hyperion.config.json “500000” works, had to, to interact with a ESP8266)
the syslog output shows correct number of leds:
tail -f /var/log/syslog"
Feb 19 11:58:23 pi systemd[1]: Starting Hyperion Systemd service...
Feb 19 11:58:23 pi systemd[1]: Started Hyperion Systemd service.
Feb 19 11:58:23 pi hyperiond[24219]: Hyperion Ambilight Deamon (24219)
Feb 19 11:58:23 pi hyperiond[24219]: Version : V1.03.2 (brindosch-99d9396/d3713a8-1469452981
Feb 19 11:58:23 pi hyperiond[24219]: Build Time: Jul 25 2016 06:54:40
Feb 19 11:58:24 pi hyperiond[24219]: INFO: Selected configuration file: /etc/hyperion/hyperion.config.json
Feb 19 11:58:24 pi hyperiond[24219]: HYPERION INFO: ColorTransform 'default' => [0; 26]
Feb 19 11:58:24 pi hyperiond[24219]: LEDDEVICE INFO: configuration:
Feb 19 11:58:24 pi hyperiond[24219]: {
Feb 19 11:58:24 pi hyperiond[24219]: "colorOrder" : "rgb",
Feb 19 11:58:24 pi hyperiond[24219]: "delayAfterConnect" : 200,
Feb 19 11:58:24 pi hyperiond[24219]: "name" : "Caps",
Feb 19 11:58:24 pi hyperiond[24219]: "output" : "/dev/ttyUSB0",
Feb 19 11:58:24 pi hyperiond[24219]: "rate" : 500000,
Feb 19 11:58:24 pi hyperiond[24219]: "type" : "adalight"
Feb 19 11:58:24 pi hyperiond[24219]: }
Feb 19 11:58:24 pi hyperiond[24219]: Opening UART: /dev/ttyUSB0
Feb 19 11:58:24 pi hyperiond[24219]: Device blocked for 200 ms
Feb 19 11:58:24 pi hyperiond[24219]: INFO: Creating linear smoothing
Feb 19 11:58:24 pi hyperiond[24219]: HYPERION (CS) INFO: Created linear-smoothing(interval_ms=50;settlingTime_ms=75;updateDelay=0
Feb 19 11:58:24 pi hyperiond[24219]: EFFECTENGINE INFO: 27 effects loaded from directory /usr/share/hyperion/effects
Feb 19 11:58:24 pi hyperiond[24219]: EFFECTENGINE INFO: Initializing Python interpreter
Feb 19 11:58:24 pi hyperiond[24219]: INFO: Hyperion started and initialised

rpi Ambilight w. Arduino Uno & TM1829

IT IS ALIVE!!!

what:

Ambilight Clone with hyperion over Arduino Uno (Adalight) and TM1829 LED

to do:

  • Color Edit
  • color fix integrated in neobob.cpp line474:
    //(b == 0xFF) b = 0xFE;//

Install hyperion

wget -N https://raw.github.com/tvdzwan/hyperion/master/bin/install_hyperion.sh

Start hyperion:

sh /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json 0/dev/null 2>&1 &

hyperion debug:

sh /storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json

get neobob library from GITHUB:

https://github.com/chriszero/neobob

rename:

Adafruit_NeoPixel.h to neobob.h
Adafruit_NeoPixel.cpp to neobob.cpp

Tools:

for Prefix Calc:
Boblight Config Maker 

for the rest:
Hyperion Config Tool

neohyp.ino (15x TM182 a 3RGB LEDs=45Channels)

//pastebin.com/embed_iframe/jU9Ux9g7

hyperion.config.json
//pastebin.com/K3abwGbX

Bildschirmfoto 2015-12-30 um 03.02.18

—— edit 2017 ——

after fiddelling around after nearly a year ago reveals my flaws:

for correct colormode, i had to change “NEO_GRB” in line 58 of neobob.ino to “NEO_RGB”

further in neobob.cpp deactivate line 495 with “// comments //” activate line 496