Version 0.7ht-pre18 (31.3.2013) Karatelight:(Test-Thread) 500HD/800(se)/7020HD/7025/8000 «Dual Core»

  • Hinweis für DM8000-User: Ab OE2.0 Images kommt es zu freezern, die techn. nicht lösbar sind. Daher empfehle ich auf OE 1.6 Images zu bleiben oder eine etwaige Pay-TV-Card auszulagern auf einen PI.


    Softwareinstallation Karatelight für Enigma2 basierte Receiver.


    Für KL16 User ein wichtiger Hinweis:


    Kanalbelegung, TV von vorne gesehen, Beispiel LTBR Modus:


    Links 01-04
    Oben 05-08
    Rechts 09-12
    Unten 13-16


    ++++++++++++++++++
    +01 02 03 04 05 06 07 08 + Oben Tochterplatine (Aufkleber)
    +
    +09 10 11 12 13 14 15 16 + Unten Hauptplatine
    ++++++++++++++++++



    NEU: Dreambox-Blog Beitrag.
    NEU NEU *** 8 KANAL DEMOVIDEO *** NEU NEU

    • UPDATE 31.12.2012: Version 0.7ht-pre¹:
      - 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?)


      UPDATE 03.06.2012: Version 0.5ht-r1:
      - Fix in /etc/init.d/atmolight für Images ohne udev
      - Fix Verzögerungsparameter wird bei Reboot nicht erkannt
      - Fix Layout 3535
      - Fix Layout 464-11
      - Erste Funktionen für Sedu-Board integriert (aber noch nicht nutzbar für User)
      - Fix LDR-Auslesen geht nicht auf Images ohne UDEV
      - Know Bug: GS bei "BLAU" (Standardwerte). Bitte vorerst nicht nutzen.


    • UPDATE 20.05.2012, Version 0.5-ht:
      - NEU: Karatelight16 wird unterstützt. ACHTUNG1: Reihenfolge der Ports ist wiefolgt: {0, 1, 2, 3, 4, 5, 6, 7}@ KL16 Tochterplatine und {8, 9, 10, 11, 12, 13, 14, 15}@KL8 Hautplatine, ACHTUNG2: im KL muss die Software 0x27 geflasht worden sein, sonst kommt es alle 30 Sekunden zu weißen "Blitzern".
      - NEU: externer Lichtsensor bei Karatelight wird unterstützt, im Plugin einstellbar
      - NEU: neue E2 Frontend (Danke lespuck)
      - NEU: OE2.0 wird zusätzlich zu OE1.6 unterstützt
      - NEU: Die Settings werden nach der Neuinstallation auf DEFAULT gestellt, d.h. man muss die persönlichen Einstellungen nach jeder Neuinstallation manuell ändern
      - NEU: Delay einstellbar, der verhindert, dass das Plugin schneller fadet, als der TV das Bild verändert
      - NEU: Grabber-LOAD stark reduziert (<10% Load), funktioniert nur auf Dual-Core Boxen (500hd/800se/7020hd/8k)
      - NEU: DM720HD wird unterstützt
      - NEU: Farbübergänge neu aufgesetzt, d.h. mit Werten > Mitte (==5) kann man die Ausgabe auf den LEDs in 10 Hz Schritten (träge) einbremsen. Werte unter "Mitte" entspricht der bisherigen Beschleunigungsfunktion. Die Stellung "Mitte" entspricht der bisherigen Stellung "ganz rechts" (==9), also bitte daran denken den Steller "Farbübergänge" im Plugin auf diese neuen Werte einzustellen.
      - Bugfix für "zabbbelige linke Seite" implementiert
      - Bugfix: Telnet und ssh geht nicht mehr auf NN 2 Images nach Plugininstallation - gefixt.
      - Bugfix: Renicen bei Hyperthreading-Version nun auf beiden Threads.
      - Bugfix: amBX-Light Bugfix (Daemon lies sich zeiweise nicht staren)
      - Helligkeitssteuerung komplett überarbeitet
      - Kinomodus aufgemöbelt, Modus 3/4 deutlich agiler und dynamischer
      - Installationsscript angepasst, nun wird nur "opkg" statt "ipkg" verwendet
      - Atmodev.sh und init-Script überarbeitet

    • UPDATE 06.02.2011: Version 0.4a:
      - Grabber wurde nochmals um ca. 10% beschleunigt, 500HD/800/800se/8000 profitieren
      - Bugfixing unmotiviertes Starten mehrerer Daemons (nicht alle Images supporten 'pidof -s')
      - Bugfixing Standby-Farbfunktionen
      - Überarbeitung Karatelight-Kommunikation, Einführung CRC Check (Karatelight muss mit einer Firmware jünger als Januar 2011 geflasht werden!)
      - Bugfix DMA Transfer DM8000, Daemon läuft ohne Crash für Stunden
      - Ambxd nun statisch gelinkt (Danke Bin4ry). Sollte nun auf allen Images laufen. Libusb mus nicht mehr installiert werden!
      - Neue Plugin Version: Autostart beim Booten ist nun default, Vorbereitung zur Ansteuerung von 2 amBXlights gleichzeitig.
      - ab sofort werden 4 Plugin-Sprachen unterstützt: de/en/it/nl


      HINWEIS: Einführung 2-CPU Beta-Version für DM8000 (40% schneller), erkennbar am "HT" im Filenamen. In Kürze verfügbar. DM500HD und DM800se Version kommt später./list]


      • UPDATE 10.01.2011: Version 0.4.
        - ab sofort wird die DM800se unterstützt
        - die neuen Karatelight-Layouts werden vom Plugin unterstützt
        - neues Feature zur zeitlichen Steuerung der "Farbwechsel/statische Farben im Standby"
        - Vorbereitung Plugin auf 3D Support (noch nicht im Daemon implementiert!)
        - Logging kann wieder mit dem Plugin aktiviert werden
        - Bugfix Ansteuerung Atmolight (Blitzer)
        - Update Hilfetext (/usr/sbin/atmolightd.ng -h)
        - Bugfix DM500HD Grabber, Bugfix Farbwechsel statische Farben ohne Funktion
        - Bugfix Helligkeitsparameter wird ignoriert im statische Farben Modus
        - Bugfix keine dynamischen Farben nach Rückkehr aus statischen Farben
        - Bugfix Kanal 4-8 im Karatelightmodus dunkel
        - Bugfix im postinst des ipk-Files (fehlendes modprobe kernel-module-cdc-acm)
        - Begrenzung der Frames pro Sekunde auf 50.

      • UPDATE 23.12.2010: Version 0.3o. Erste Version mit Karatelightunterstützung, derzeit funktioniert nur der LTRB-Modus, d.h. 2 Kanäle auf jeder Seite, CON1=links unten, gezählt wird im Uhrzeigersinn.

      Hallo,


      nachdem die Auslieferung der ersten Karatelights als Vorabversion nach Weihnachten 2010 ins Haus steht, wird es Zeit einen dedizierten Thread dazu aufzumachen.


      Hier steht, um was es hier überhaupt geht.


      Karatelight ist ein Steuergerät, dass mittels 8 Kanälen eine RGB-Ansteuerung von LED-Ketten mit "common Anode" realisiert. Das Plugin wertet den TV-Bildinhalt aus und steuert seinerseits das Karatelight, an welchem die LED Ketten angeschlossen sind. Belegung der 8 Ausgängen, welche auf der Platine mit CON1..8 beschrieben sind:
      1 = rot/red
      2 = blau/blue
      3 = grün/green
      4 = 12V+


      Das Atmolight-Plugin unterstützt das Karatelight ab der Version 0.3o. Ein zusätzlicher PC ist nicht notwendig.


      BITTE POSTET IN DIESEM THREAD ALLE KOMMENTARE/BUGREPORTS ZUM KARATELIGHT.
      Kommentare zu Atmolight bitte weiterhin hier. Kommentare zu amBXlight hier.



      Folgende Karatelight-Layouts werden vom Daemon unterstützt (die jeweilige Zahl identifiziert den Kanal des Karatelights, in der Mitte der Zahlen muss man sich seinen TV vorstellen):

      Um Fragen vorzugreifen: der Mode TB-LR richtet sich an User, die bereits einen Ambilight-Philips TV haben.


      WICHTIG: man kann anhand der Anzahl Kanäle je Seite selbst die exakte Länge der jeweiligen LED-Kette bestimmen: Kantenlänge geteilt durch Anzahl Kanäle dieser Kante. Also im Prinzip symmetrische Verteilung.Was brauche ich, um auch ein Karatelight zu installieren?

      • 1. Hardware: Steuergerät, LED-Ketten (1 pro Kanal), USB-Leitung Typ B, Zuleitungen, 12 Volt Netzteil (z.B. 4 Ampere)
        2. Software: Atmolight-Plugin[/list=1]Woher bekomme ich das alles?[list=1]1. Hardware: Steuergerät kann man selbst basteln (GYIF) oder bei http://www.atmolight.de bestellen. LED-Ketten gibt es im Internet zu kaufen, es MUß der Typ 'common anode'sein, Empfehlung: 60 LEDs pro Meter Version kaufen, 30 LEDs gibt es auch. Zuleitungen mit Stecker Farnell (1675756), 12 Volt Netzteil mit weiblichem Stecker.
        2. Software: hier auf dem Thread downloaden, in diesem Posting ist immer die neustes Version angehängt.[/list=1]Installation Plugin:[list]
      • Den angehängten ipk-File herunterladen und nach /tmp kopieren
      • In die Box einloggen
      • ipkg install /tmp/enigma2-plugin-extensions-atmolightd_x.xx_mipsel.ipk ('x.xx' ersetzten mit der Versionnummer des Files, z.B. '0.3o')
      • NUR FÜR AMBXLIGHT: ipkg install /tmp/libusb_0.1.12-r0_mipsel.ipk
      • Box rebooten
      • Plugin unter 'Erweiterungen' starten und Einstellungen nach persönlichem Geschmack anpassen. WICHTIG: unter STEUERUNG "Karatelight" einstellen.
      • Unter "Schnittstelle" das Device "/dev/ttyUSBACM" einstellen (OK drücken nicht vergessen)
      • Mit der GRÜNEN Taste nun den Daemon neu starten.

      Deinstallation:[list]

    • ipkg remove enigma2-plugin-extensions-atmolightd

    EMPFEHLUNG: Loggt euch nach der Installation und dem Reboot in die Box ein und checkt, ob der Softlink /dev/ttyUSBACM erstellt wurde. Wenn er existiert, wurde das Karatelight erfolgreich erkannt:

    Code
    root@dm800:# ls /dev/ttyU* -al
    lrwxrwxrwx    1 root     root            7 Dec 23 16:44 /dev/ttyUSBACM -> ttyACM1
    root@dm800:#

    Wenn der o.g. Softlink nicht erstellt wurde, dann checkt, ob der Kernel das Karatelight erkannt hat. Das geht mit dem check_karate.sh-Script:
    1. Angehängten File 'check_karate.tar.gz' downloaden und nach /tmp kopieren (z.B. ftp)
    2. Auspacken, z.B. einloggen mit Telnet oder ssh. Dann "cd /tmp" und "tar xvf check_karate.tgz
    3. Karatelight anstecken
    4. "cd /tmp/check_karate"
    5. "./check_karate.sh"


    HINWEIS: ab der Firmwareversion 0x09 (1/2011) muss das check_karate_new.tar.gz genutzt werden. Hängt unten an.


    Wenn alles richtig funktioniert, kommt folgende Ausgabe:

    Code
    root@dm800:/tmp/check_karate# ./check_karate.sh
    [info] this is check_karate 20101218
    [info] Tue Dec 21 20:08:11 CET 2010
    [pass] Found a KarateLight device (vendor-id)
    [pass] Found a KarateLight device (device-id)
    [pass] CDC-ACM Kernel-Module is loadad
    [info] device /dev/ttyACM0 is writeable. Using it for further tests..
    [info] Firmware-Version is 0x05
    [info] Device reports 8 Channels
    root@dm800:/tmp/check_karate#

    --> Download Plugin, Version 0.4a OE1.6
    --> Download Plugin, Version 0.7-pre¹ OE1.6/OE2.0


    Mamba

  • Good Job again Mamaba!


    Gibt es irgendwo eine technische Beschreibung / Wiki wo das Karatelight erklärt wird? Um z.b. selber nachbauen, oder das Protkoll

    [SIZE=6]
    Schaltet Bluetooth auf euren mobilen Geräten aus, wenn nicht benötigt. Dadurch halten die Akkus ca. 3x länger + Netzteil muss seltener an die Steckdose[/SIZE]

  • Servus,


    die Prototypen sind leider schon alle weg. Ich hab sogar eine Platine zu wenig bekommen; die wird erst Anfang Januar nachgeliefert.
    Die ersten 5 Beta-Geräte werden wohl nach Weihnachten an die Betatester versendet.


    Heute habe ich dann auch das erste Beta-Gerät mal komplett aufgebaut. Sieht ganz gut aus soweit, das Gehäuse passt auch ganz gut.
    Ich schaue mal noch ob ich 'stehende' LEDs für die Statusanzeige bekomme. Aktuell sieht man urch die Bohrungen an der Seite eher wenig von deren Licht.
    Die Funktion des elektrischen Teils ist soweit auch gut. Nur einen Taster um den Firmware-Update-Modus zu erzwingen habe ich noch manuell ergänzen müssen.
    Mamba hat in der Firmware noch einen Fehler gefunden, den werde ich die nächsten Tage noch ausbügeln.

  • Ist die Klinkebuchse der LDR Anschluß? (Vorfreu..). Das Plugin liest die Daten schon fleissig aus dem Karatelight aus.


    Mamba

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

  • korrekt.
    Leider konnte ich das noch net testen, ich finde die Tüte mit den LDRs nicht.
    Meine Bauteilkiste muss dringen sortiert werden :)

  • cpresser,


    perfekt!


    Die Daten, die der AD-Wandler auf der Prototypen-Platine liefert sind brauchbar. Ich lese im Moment alle 3 Sekunden einen Wert aus. Der LDR wird testweise von einer LED-Ketten angestrahlt, sodass ein dynamisches Signal anliegt. Geht bestens.


    Mamba

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

    Einmal editiert, zuletzt von mamba0815 ()

  • Hi,


    noch mal eine Frage an den Sensei :winking_face: zwecks Nachbau seines Steuergerätes.
    Die nicht benutzten Pins des PIC sind laut Plan mit keinem festen Pegel beschalten, werden die von der Firmware als Ausgang mit festem Pegel definiert oder schwirren die da als offener Eingang rum?
    Grund der Frage ist der beobachtete Effekt, dass sich beim Schalten von Verbrauchern im Haus wie Kühlschrank, Staubsauger, Leuchtstoffröhre! etc. das Programm im Steuergerät aufhängt und dann nur noch mit nem Power on Reset wieder funktioniert, bzw. war auch schon mal ein neu flashen des PIC notwendig, weil die Firmware danach platt war. Mit offenen Eingängen hab ich schlechte Erfahrungen von ATMEL-Schaltungen her, mit PIC hab ich noch nix weiter aufgebaut.
    Ansonsten finde ich das Teil echt :cool2:
    Gruß O.belix

  • Zitat

    Original von O.belix
    noch mal eine Frage an den Sensei :winking_face: zwecks Nachbau seines Steuergerätes.
    Die nicht benutzten Pins des PIC sind laut Plan mit keinem festen Pegel beschalten, werden die von der Firmware als Ausgang mit festem Pegel definiert oder schwirren die da als offener Eingang rum?


    Die sollten alle als Ausgang definiert sein.
    Natürlich ist nicht auszuschliessen, das ich da was übersehen habe :)


    Ich werde mal probieren deine Beobachtung zu reproduzieren, zum Glück habe ich die Mittel um rauszumessen, woran das liegen könnte.
    Bisher habe ich alle Entwicklung an einem Agilent Labornetzteil gemacht, da kommt keine Spannungsschwankung an das Gerät durch :grinning_squinting_face:


    Die Netzspannung sollte(TM) aber kein Problem sein. Die Schaltnetzteile haben typischerweise schon eine ordentliche Kapazität am Ausgang. Das Steuergerät hat nochmal 2x100µF direkt auf den +12Volt; vor dem Spannungsregler 4.7µF und 100n, am PIC dann wieder 2x100n.
    Ich überlegte mir mal ein Setup, um massige Schwankungen auf 220V zu simulieren. Dummerweise habe ich das Labor selbst verkabelt und überall übertrieben viel Sicherheit auf den 220Volt :)

  • Spannungsversorgung hatte ich eigentlich ausgeklammert, da die bei mir auch reichlich geblockt ist und mehr auf nen offenen Eingang gesetzt, seh nur ni richtig im Programm durch, wo alle Pins definiert werden. Werde mal den Analogeingang und den IR noch beschalten, da ist bei mir nix dran. Könnte dann noch ne Masseschleife übers USB-Kabel sein. Jedenfalls ist es reproduzierbar, am schlimmsten mit der Leuchtstoffröhre.


    Na gut, kommt Zeit, kommt Rat :grinning_squinting_face:


    Gruß O.belix


    Edit: Hab jetzt nur mal die Eingänge der beiden freien Ports noch auf Ausgang geschalten, aber die Reaktion auf Störimpulse ist unverändert, allerdings braucht es nun keinen Power-On Reset mehr.
    Dafür, ich hab danach jedesmal ein neues ACM device :face_with_rolling_eyes:


    Edit2: USB_SENSE abgeblockt, jetzt lässt sich erst mal kein Fehler mehr provozieren :hurra:

  • @ carsten:


    mal ne kurze blöde frage:
    warum cdc und nicht hid?

    [SIZE=6]
    Schaltet Bluetooth auf euren mobilen Geräten aus, wenn nicht benötigt. Dadurch halten die Akkus ca. 3x länger + Netzteil muss seltener an die Steckdose[/SIZE]

    Einmal editiert, zuletzt von denim ()

  • Ich bin so begeistert von meinem Atmolight, daß ich aufs Karatelight updaten werde sobald es verfügbar ist.


    KL werde ich dann auf meinem aktuellen 1 m TV benutzen, und AL auf dem 80 cm Schirm meiner Eltern betreiben.


    Nur sind die 4 LED Leisten des AL dafür zu lang. Deshalb meine Frage: kann ich die Leisten einfach auf die neue Größe "stutzen" (sprich zwischen den LEDs durchschneiden) oder geht das nicht (oder nur mit Löten, was ich auch tun könnte, wenn es nötig ist und keine SMDs zu löten sind [hab ich einmal probiert, nie wieder!])?

  • Zitat

    Original von Carbonide
    Ich bin so begeistert von meinem Atmolight, daß ich aufs Karatelight updaten werde sobald es verfügbar ist.


    KL werde ich dann auf meinem aktuellen 1 m TV benutzen, und AL auf dem 80 cm Schirm meiner Eltern betreiben.


    Nur sind die 4 LED Leisten des AL dafür zu lang. Deshalb meine Frage: kann ich die Leisten einfach auf die neue Größe "stutzen" (sprich zwischen den LEDs durchschneiden) oder geht das nicht (oder nur mit Löten, was ich auch tun könnte, wenn es nötig ist und keine SMDs zu löten sind [hab ich einmal probiert, nie wieder!])?


    1. stuzen (schaue dir mal die leisten an, die sind meistens alle 3 leds trennbar)
    2. dann kabel + stecker löten
    3. anschließen und freuen :)

    [SIZE=6]
    Schaltet Bluetooth auf euren mobilen Geräten aus, wenn nicht benötigt. Dadurch halten die Akkus ca. 3x länger + Netzteil muss seltener an die Steckdose[/SIZE]

  • Zitat

    Original von O.belix
    Edit2: USB_SENSE abgeblockt, jetzt lässt sich erst mal kein Fehler mehr provozieren :hurra:


    Wieviel Kapazität hast du denn dran? 100n sollten wohl reichen!?
    Dann löte ich bei den Beta-Geräten auch noch was drauf :)


    denim: es gibt keinen speziellen grund für CDC.
    HID braucht halt immer noch eine extra lib damit es tut, CDC läuft halt out-of-the-box.

  • Zitat

    Original von cpresser


    denim: es gibt keinen speziellen grund für CDC.
    HID braucht halt immer noch eine extra lib damit es tut, CDC läuft halt out-of-the-box.


    ich denke, ist eher umgekehrt, oder?
    für CDC brauche ich z.b. einen kernel treiber, für HID nicht.

    [SIZE=6]
    Schaltet Bluetooth auf euren mobilen Geräten aus, wenn nicht benötigt. Dadurch halten die Akkus ca. 3x länger + Netzteil muss seltener an die Steckdose[/SIZE]

  • Ja, aber cdc-treiber gibts für jedes OS, daran scheitert es nicht.


    Es nimmt sich so gesehen nicht viel.
    Für CDC und HID brauche ich kernel-krams, für HID zusätzlich userspace :)

    Code
    root@cpresser-desktop:~/kr# lsmod  | grep hid
    usbhid                 35772  0
    hid                    65804  1 usbhid


    Da das Atmo als Serielles Gerät gestartet ist bin ich einfach dabei geblieben. Der patch, damit das KarateLight z.B. auch mit boblightd (xbmc!) tut, ist auch nur 20zeilen. Mit HID wäre das net ganz so einfach.


    Du kannst dir ja eine HID Firmware bauen wenn du möchtest :grinning_squinting_face:
    Das Framework von Microchip ist ja frei. Der Compiler als Student-Edition auch

  • so, es gibt ein paar Updates:

    Code
    2010-12-27
     - increased Firmware-Version to 0x06
     - reworked Bootloader Commands
     - reworked "comm_send_dat" to fix a few warnings


    Der Bootloader sollte nun nicht mehr aus versehen aktiviert werden.


    Ein weiterer behobener Fehler hat sich in der Client-Applikation für Linux versteckt. Im Plugin ist der dementsprechend wohl auch drin. Da habe ich die Initialisierung des Seriellen Ports überarbeitet, das behebt ein paar Glitches bei der Kommunikation.


    Alle Dateien dazu wie immer hier: http://ca.rstenpresser.de/~cpresser/data/karate/
    Die ganzen Testprogramme habe ich nun mal in ein Archiv gepackt. Die binarys sind für x86, nicht mipsel!

  • Zitat

    Original von cpresser
    Wieviel Kapazität hast du denn dran? 100n sollten wohl reichen!?


    genau, das übliche :winking_face:

  • Zitat

    1. stuzen (schaue dir mal die leisten an, die sind meistens alle 3 leds trennbar)
    2. dann kabel + stecker löten
    3. anschließen und freuen


    hört sich ja gut an, aber weshalb muß ich dennoch löten?


    Ich würde ja am freien Ende kürzen, oder nicht?

  • Zitat

    Original von Carbonide


    hört sich ja gut an, aber weshalb muß ich dennoch löten?


    Ich würde ja am freien Ende kürzen, oder nicht?


    wir haben jetzt 8 stecker. eine seite die kabel anlöten, andere seite (wo der stecker ist) crimpen oder auch löten

    [SIZE=6]
    Schaltet Bluetooth auf euren mobilen Geräten aus, wenn nicht benötigt. Dadurch halten die Akkus ca. 3x länger + Netzteil muss seltener an die Steckdose[/SIZE]