Beiträge von StefanKrupop


    So wie's aussieht, gibt es ja tatsächlich diese beiden Ansteuerarten, entweder alle Segmente die selbe Farbe, dafür 3x8 Bit PWM-Dimmung (Befehl 0x77) oder jedes Segment einzeln RGB, dafür dann aber nur ein/aus (Befehl 0x55 bzw. 0xAA)...


    Na ja, der verwendete PWM-Controller (ist nicht softwareseitig) unterstützt nur 5 Bit, also 32 Stufen. Leider unterstützen die Befehle 0x22, 0x77 und 0x99 keine Adressierung, so dass immer der ganze Strang die gleiche Farbe hat.



    Nur das mit der Adressierung ist mir hier noch nicht ganz klar - ist das Ganze nun ein Bus, oder ne Eimerkette...?


    Eimerkette, wobei außer bei Befehl 0x88 die Daten unverändert weitergegeben werden.



    in zweiterem Fall wäre ein extra Befehl zur Adressierung *eigentlich* gar nicht nötig, weil die ja "automatisch" erfolgt...


    Der Befehl 0x88 veranlasst die Tubes, die Adressen neu einzustellen - beginnend bei der vorgegebenen Zahl. Als einziger Befehl verändern die Tubes hier die Werte, nämlich die Adresse um +1 für die nächste Tube, so dass hinterher alle fortlaufende Adressen haben. Diese werden (scheinbar) auch in einem EEPROM abgelegt, so dass der Befehl nur nach Änderungen am Strang nötig ist.


    Stefan

    Es tut mir leid, dass ich gleich als erste Aktivität hier einen uralten Thread ausgrabe, aber da er bei meinen Recherchen gleich ganz oben bei Google auftauchte, dachte ich es wäre gut, meine Ergebnisse hier zu posten. :whistling:


    Vor einiger Zeit habe ich mir bei eBay auch einige dieser Tubes zugelegt, die ich eigentlich nach Anleitung in unserem DMXControl-Wiki umbauen wollte: http://www.dmxcontrol.de/wiki/LED-Tube-Umbau
    Mir hat der original verbaute Controller aber keine rechte Ruhe gelassen, so dass ich mir den etwas genauer angesehen habe - und siehe da, aus irgendwelchen Gründen waren die Lockbits nicht gesetzt und ich konnte die Firmware auslesen. :D
    Nachdem ich mich nun eine ganze Weile durch den disassemblierten Code gewühlt habe, hier meine Ergebnisse in Kurzform:

    • Die Tubes benutzen RS485 als Schnittstelle, also genau wie DMX
    • Die Baudrate beträgt im Unterschied zu DMX aber 750000 Baud
    • Schnittstellenformat ist ebenfalls wie bei DMX 8N2
    • Das Paketformat besteht immer aus 7 Bytes: 1 Byte Opcode und 6 Bytes Parameter
    • Folgende Befehle werden von den Tubes verstanden:

    0x22 - Color Fade step (--, --, --, Fade In Delay, --, --)
    0x55 - Set colors for addresses up to (Blink rate (0-100, 100=Always on), Max address (Ones), Max addess (Hundreds), Segments Green, Segments Blue, Segments Red)
    0x77 - All LEDs on, set PWM (--, --, --, Red, Blue, Green)
    0x88 - Configure Tube addresses (--, ?? (Ones), ?? (Hundreds), (First Tube Addr. - 1) (Ones), (First Tube Addr. - 1) (Hundreds), --)
    0x99 - All red on (--, --, --, --, --, --)
    0xAA - Set colors for address (Blink rate (0-100, 100=Always on), Address (Ones), Addess (Hundreds), Segments Green, Segments Blue, Segments Red)


    Der interne Befehlssatz ist also relativ beschränkt (besonders was das dimmen angeht), aber immerhin lassen sich die Tubes so schon mal ohne Umbau ansteuern. :)


    Ich hoffe, diese Infos helfen irgendwann noch mal irgendwem. Ich kann jetzt jedenfalls keinen 8051-Assembler mehr sehen. ;)


    Viele Grüße,
    Stefan