Sedulight: (Diskussions-Thread) Support für 170 Kanäle im BETA TEST! 500HD/800(se)/7020HD/8000

    • UPDATE 31.12.2012: Version 0.7ht-pre¹ mit Sedu-Unterstützung (beta):
      - Plugin wird als "all"-Version verteilt, keine Unterscheidung "mipsel" (OE1.6) und "mips32el" (Python 2.7.2@OE2.0) mehr nötig
      - Support für Sedu-Layout (noch beta, man beginnt von unterer linken Ecke zu zählen, von vorne auf den TV gesehen). Einstellung im E2 Frontend nun möglich (bitte testen!)
      - CPU Load reduziert, unter 10% bei 1080i mit UNO/DUO/ULTIMO, unter 2% bei SOLO/DUO2
      - Fix GS beim Start des E2 Frontends mit VTi 4.x und 5.x
      - Fix Delay ohne Funktion
      - Delay vergrössert, nun 15 ms Schritte (bisher 10 ms) wegen SOLO2 (CPU einfach zu schnell für max. 100 ms Verzögerung :) )
      - 3D Feature eingebaut (experimentell, bitte testen!)
      - Fix: Helligkeit ändert sich, wenn E2 Frontend gestartet wird (nun nicht mehr)
      - Fix: zappelige Helligkeit oben ("top") bei Sendern mit X-Auflösung 1280
      - Support für SOLO2 und DUO2 eingebaut (Grabber angepasst)


      Noch offen:
      - to do: statische Farben im Standby (immer Farbwechsel aktiv)
      - to do: linker unterer Kanal wird grün, wenn lange schwarz (Schwarzbalkenerkennung?)


      Atmolight-Plugin 0.7-pre¹ für OE1.6/OE2.0


    _____________________________________
    Na, dann wollen wir -auf vielfachen Wunsch- mal loslegen:


    Nachdem wir an der Box das Atmolight, das Karatelight und das amBXlight in Betrieb genommen haben, fehlt nun noch eine weitere Entwicklungsstufe: digitale LED-Stripes.


    Zuerst zur Hardware: (von http://www.sedu-board.de)


    "Das Sedu-Board ist eine kleine, 45x56mm kleine Platine mit einem Mikrocontroller (ATMega16 und kompatible) sowie einem FTDI-USB-Chip. Die Platine ist als universelle Plattform für viele Anwendungen einsetzbar. Über die nach Außen geführten Ports (vier volle Ports) können Erweiterungsplatinen angesteckt werden.


    Der USB-Port ermöglicht eine Verbindung zu einem PC (Anm.mamba: und einer Linux-Box), von dem aus der Controller mit Software versorgt werden kann, aber auch über spezielle Programme gesteuert.


    Das Sedu-Board realisiert (u.a.) einen Ambilight-Controller für die digitalen Stripes mit dem WS2801-IC."

    Das verwendete Protokoll ist "miniDMX". DMX ist bekannt aus der Lichtechnik.


    Digitale LED-Stipes erlauben die Ansteuerung jedes einzelnen LEDs auf einem Stipes (jedes LED ist einem kleinen, eigenen Mikrokontroler zugeordnet). Das Sedu-Board macht die Umsetzung von miniDMX in das WS2801 eigene Protokoll (die LEDs kommunizieren mit dem Sedu-Board).


    Turi (Entwickler) hat mir ein komplettes Testequipment zur Verfügung gestellt. U.a. eine Firmware, welche für Linux angepasst wurde (500k Baud, per Jumper aktivierbar).


    Mamba

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

    8 Mal editiert, zuletzt von mamba0815 ()

  • Das "Ich-will-128-Kanäle-haben"-Projekt:

    Code
    T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  5 Spd=12   MxCh= 0
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
    P:  Vendor=0403 ProdID=6001 Rev= 6.00
    S:  Manufacturer=FTDI
    S:  Product=SEDU Board USB
    S:  SerialNumber=S0178
    C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 90mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
    E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

    Schon mal gut:

    Code
    root@dm800:/media/nfs/atmolight/plugin/usr/bin# ./atmodev.sh 
    
    
    **** Testing Sedulight ...
    Sedulight device (serial #S0178) found.
    /etc/udev/rules.d/52-sedu.rules created.

    Palim, palim:

    Code
    root@dm800:/media/nfs/atmolight/plugin/usr/bin# ls /dev/ttyUSBS* -al
    lrwxrwxrwx    1 root     root            7 Jun  6 18:03 /dev/ttyUSBSedu -> ttyUSB0
    root@dm800:/media/nfs/atmolight/plugin/usr/bin#

    :grinning_squinting_face:


    Ergo im Quellcode:

    Code
    #define SEDUDEVICE "/dev/ttyUSBSedu"

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

    2 Mal editiert, zuletzt von mamba0815 ()

  • Das 64 Chan Setup läuft seit heute Nacht bei mir. CPU Load ist überhaupt kein Problem:

    Code
    CPU: 12.3% usr  8.6% sys  0.0% nic 77.6% idle  0.0% io  0.0% irq  1.3% sirq
    Load average: 1.26 1.10 0.77 2/96 6823
      PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND
     6726     1 root     S    31980 11.2   0  5.5 /mnt/nfs/atmolight/atmolightd-ht.ng -t=5 -m=0 -w=103 -s=6 -d=2 -k=4 -i
     6723     1 root     S    31980 11.2   0  5.4 /mnt/nfs/atmolight/atmolightd-ht.ng -t=5 -m=0 -w=103 -s=6 -d=2 -k=4 -i

    :grinning_squinting_face: :grinning_squinting_face: :grinning_squinting_face:


    Mamba

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

    2 Mal editiert, zuletzt von mamba0815 ()

  • LAYOUT DISKUSSION:


    Da man nun jedes LED einzeln ansteuern kann, ist es nicht mehr so trivial das Layout zu bestimmen. Oder anders herum: man muss etwas mehr denken, aber dann ist es generisch. Den Weg von Boblight (separater Config-File, der User muss die Kanäle selbst manuell definieren) will ich bewusst nicht gehen. Dazu gibt es ja Boblight und speedisfast entwickelt das Plugin.


    Hier mal ein Vorschlag zur Abstimmung, wie man das Layout bequem selbst bestimmen kann, ohne Config-Files manuell/teilautomatisiert editieren zu müssen:


    Annahme:


    (1) Wir haben 128 LEDs rund um den TV.
    (2) Damit haben wir in der "alten" AL/KL Logik 128 Kanäle.
    (3) Der TV hat 4 Seiten, wobei die linke, obere und rechte Seite immer "voll" bestückt ist, d.h. es gibt keinen Bereich, der nicht mit LEDs ausgeleuchtet wird.
    (4) Die untere Seite ist bei manchen Usern voll bestückt (z.B. bei Wandmontage), bei anderen ist der Bereich rund um den TV-Fuss ausgespart.
    (5) Da wir 128 Kanäle haben sind für die Bestimmung des Layouts nurmehr 2 Dinge wichtig:
    (a) wo am TV ist das 1. LED vom User gesetzt
    (b) wieviele LEDs hat jede Seites des TVs


    Schlussfolgerung:


    (A) Egal, zu welchem Layout sich der USer entscheidet, bei einem Sedulight (aka Sedu-Board mit WS2801 Stipes oder PIXs ist das 1. LED entweder links unten sitzen -ODER- irgendwo an der unteren Seite, jedoch immer irgendwo links unten, d.h. "links" von der Mitte. Hier ein Bild, welches das illustrieren soll:


    Hier nochmal zur Erinnerung ein Mode des KL16:

    Code
    Mode LTBR 464-11
         4  5  6  7  8 9 
    3 |                        |10
    2 |                        |11
    1 |                        |12
    0 |                        |13
        15                14

    Daraus folgt, dass es "nur" 2 grundsätzlich unterschiedliche Modes beim Sedulight geben kann:

    Beim Mode 1 ist das erste LED irgendwo unten links, beim Mode 2 ist ganz links unten.


    (B) Hat man den Mode festgelegt (1 oder 2), muss der User nun noch 5 weitere Werte festlegen:
    (a) wieviele LEDs links unten links?
    (b) wieviele LEDS sind links?
    (c) wieviele LEDS sind oben?
    (d) wieviele LEDS sind rechts?


    Z.B. beim Mode 1:
    unten links: 8
    links: 32
    oben: 48
    rechts:32


    Daraus ergibt sich, dass unten rechts auch 8 LEDs sind, denn man beklebt den TV ja nicht unsymmetrisch: 8 + 32 + 48 + 32 + 8 = 128 LEDs.


    Z.B. beim Mode 2:
    unten links: 0
    links: 32
    oben: 64
    rechts:32


    Daraus ergibt sich, dass unten rechts auch 0 LEDs sind, denn man beklebt den TV ja nicht unsymmetrisch: 0 + 32 + 64 + 32 + 0 = 128 LEDs.


    Nun meine entscheidende Frage an euch:

    Seht ihr das auch so?
    Welche Annahme ist aus eurer Sicht falsch?
    Welche zusätzliche Ideen habt ihr?


    Mamba


    PS: Bitte die oben genannten LEDs Zahlen für links, rechts (usw) nicht für bare Münze nehmen, das sind nur Beispielzahlen. Wieviele LEDs man dann tat. jeder Seite zuweist, klären wir später.

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

    3 Mal editiert, zuletzt von mamba0815 ()

  • Hi,
    Eigentlich muss man fuer die seiten ja auch nur eine zahl angeben, denn man wird hier ja auch gleich viele LEDs anbringen.
    Also
    Unten: 0
    Seite: 32
    Oben: 64


    Oder z?b
    Unten: 8 ( oder 16, dabei 8 auf jeder seite)
    Seite: 32
    Oben: 48


    Und schon brauch man eine zahl weniger angeben .
    Charly2mal2

    DM8000 mit RGB-Display Skin=infinityHD/image=exp2011-09-06/GP3,DM7020HD, OE2.0 mit karatelight, DM7080HD

  • Da hast du nat. absolut recht. Was für "unten" gilt, muss auch für "links" und "rechts" gelten. :grinning_squinting_face:


    Ergo braucht man nur folgende Dinge:


    (a) Mode auswählen (1 oder 2)
    (b) LEDs unten, links und oben angeben
    (c) Position des 1. LEDs angeben


    Das sind 5 Angaben.


    Mamba

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

  • Super genial das ohne eine separate Config zu machen.
    So einfach wie möglich.
    Mit den 2 Layouts stimme ich dir auch zu. Cool!!

  • Hi Mamba,


    ich hab folgendes Setup:


    Links: 18
    Oben: 30
    Rechts: 18
    Unten: 30


    Die Kette beginnt links unten und läuft dann im Uhrzeigersinn.


    Findet sich dieses Layout in Deinen Überlegungen wieder? Bin da jetzt nicht 100% sicher.


    Grüße,
    Maikl

  • Yep. Das wird genau so gehen.

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

  • Update: ich habe von Turi das 86-Kanal PIX-Setup für meinen 46" TV erhalten und es läuft! Noch nur mit 64 Kanal Ansteuerung, aber das fixe ich heute Abend noch. :grinning_squinting_face:

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

    3 Mal editiert, zuletzt von mamba0815 ()

  • Zitat

    Originally posted by cYpReSS
    Ich hab auch meine Pix-Platinen + Sedu V3.0 von Turi erhalten :]

    Wieviele LEDs hast du in Betrieb? Wenn das 86 oder weniger sind, dann kannste mal nen Test-Daemon haben.


    @all:
    86 Kanäle werden gerade on-the-fly berechnet. Und schaut euch mal die CPU Load an: :grinning_squinting_face:

    Code
    CPU:  6.9% usr  5.6% sys  0.3% nic 84.0% idle  0.0% io  0.0% irq  2.8% sirq
    Load average: 0.49 0.33 0.32 1/93 23758
      PID  PPID USER     STAT   VSZ %MEM CPU %CPU COMMAND
    23531     1 root     S    31980 11.2   0  3.7 /mnt/nfs/atmolight/atmolightd-ht.ng -t=5 -s=6 -k=4 -m=0 -i=1 -d=1 -b=4
    23534     1 root     S    31980 11.2   0  2.9 /mnt/nfs/atmolight/atmolightd-ht.ng -t=5 -s=6 -k=4 -m=0 -i=1 -d=1 -b=4

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

  • Soll denn das "Sedulight" als standalone-Plugin erscheinen, oder möchtest du dieses in schon ein bestehendes integrieren?


    Meine Turi-Bestellung ist auch letzte Woche eingetroffen.
    Also falls du nen Tester mit ner DM500HD und nen Sedu mit 78Channeln gebrauchen kannst, stell ich mich gerne zu Verfügung :winking_face:

  • gibts mal bald ein video evtl, wie das mit der box so aussieht und sich verhält mit so vielen kanälen??cpu load sieht scho mal nicht schlecht aus;)

  • Hi,


    ich uploade gerade ein Video nach Youtube (ist das Reddot-Testvideo).


    Link kommt in Kürze.


    Mamba

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

  • Zitat

    Originally posted by ulib
    Soll denn das "Sedulight" als standalone-Plugin erscheinen, oder möchtest du dieses in schon ein bestehendes integrieren?


    Meine Turi-Bestellung ist auch letzte Woche eingetroffen.
    Also falls du nen Tester mit ner DM500HD und nen Sedu mit 78Channeln gebrauchen kannst, stell ich mich gerne zu Verfügung :winking_face:


    Das Atmolight-Plugin wird "Sedu" sprechen können. Es wird das Device Nummer 5 sein (-t=5).


    Testing: gerne. Melde mich hier, sobald ich was zum Probieren habe.


    Mamba

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

  • Anbei das Youtube-Video (Demonstrator).


    Klick

    checking for long long... yes
    checking for long double... yes
    +++ Divide By Cucumber Error. Stopping. +++

  • Zitat

    Original von mamba0815
    Wieviele LEDs hast du in Betrieb? Wenn das 86 oder weniger sind, dann kannste mal nen Test-Daemon haben


    Hab hier 30 Platinen (inkl. Spannungsstripe). Sind 90 LED´s.
    Bin da aber recht flexibel, da ich mehr geordert habe als ich für meinen
    aktuellen 42 Zoll brauch. (Demnächst kommt ein 50 Zöller her).
    Hab die auch noch nicht am TV angebracht deswegen.
    Sind aber ja auch recht fix angebracht.


    Nen Test-Dämon hätte ich natürlich gern :grinning_squinting_face:

  • Mahlzeit, was mir für die Config noch eingefallen ist(bitte nicht steinigen):
    Ich hab z.B. meinen TV nicht eben vor der Wand stehen.
    Soll heißen, dass mein TV rechts näher zur Wand steht als links ( unterschied ca. 10-15cm)
    Die Überlegung ist nun, ob man diesen Unterschied über die Helligkeit anpassen kann/sollte und ob man diesen Übergang direkt über die Config definieren kann.


    Vielleicht macht es auch keinen Sinn diesen Unterschied einstellen zu wollen.
    War nur mal so ein Gedanke.


    Mfg