Entwicklung eines Universal-USB-/DMX-/Ambilight-Controllerboard Mega16

  • mein SEDU-Board ist ja schon soweit fertig das er seine Arbeit tun soll. Nun habe ich den chip45 bootloader ausprobiert. einfach die passende HEX Datei auf den ATmega16 mit einem ISP-Programmer drauf gebrannt. Das hat auch gepasst und mit der GUI von chip45 hat auch eine Verbindung hergestellt. Nun habe ich über die GUI mein Programm drauf gebrannt. Mein Programm läuft auch soweit, aber wenn ich jetzt versuche auf den bootloader zuzugreifen geht das nicht mehr. kann es sein das wenn mein Programm die UART benutzt, dass dann der bootloader nicht angesprochen werden kann?


    MfG
    paralux

  • nein, auch mit dem Reset drücken keine Antwort, ob ich jetzt den Reset vor dem Verbinden drücke oder danach macht kein unterschied.


    Hier ist das Programm welches ich aufgespielt habe: pandora.zip
    Enthalten ist ein Test Programm myPandora light


    EDIT: Auchja die "Fixed Serial Number" habe ich bei mir auf SEDU0001 eingestellt erst dann wird das Board vom Test Programm erkannt.


    MfG
    paralux

  • Das Programm was drauf kommt, ist eigenlich unerheblich. Da ich selber nicht mit dem Chip45-Bootloader arbeite, muss Turi sich das mal anschauen.


    Ich benutze bisher immer FASTBOOT von Peter Dannegger aus dem µC-Forum. Da dieser aber keine freie Lizenz hat (genauer gesagt garkeine Infos dazu enthält) und Peter auf eine Anfrage leider nicht reagiert hat, haben wir uns für den Chip45-Bootloader entschieden. Der ist zwar leider ClosedSource aber explizit für die kommerzielle Verwendung freigegeben.

  • Musstest Du für das Programm denn irgendwelche Fusebits ändern...? - Evtl. sind die ja in dem Fall dann so, dass es für den Bootloader nicht mehr passt...


    was ist dieses Pandora denn eigentlich, bei Google-Suche finde ich immer nur irgendwas über diesen Film "Avatar" oder irgendein Trumm für Playstation.... ?(

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • für mein Programm (Pandora "Büchse" = hat keine spezifische Aufgabe, nur von mir so benannt) musste ich keine Fuse-bit setzten und für den Bootloader nur das der 16MHz Quarz erkannt wird. Sollte ich da was ändern?


    Low Fuse: 0xFF
    High Fuse: 0x99


    MfG
    paralux

  • Soweit ich weiß, müssen für den Bootloader noch weitere Fuses gesetzt werden, eben dass einer drauf ist und wie viel Speicher der belegt - sonst könnte es durchaus passiert sein, dass der sich evtl. selbst überschrieben hat... müsste auf der Chip54-Seite oder halt im Datenblatt des m16 zu finden sein...


    Nur aus Neugier: Das Programm ist also von Dir, klar dass ich im Netz nix finde... ;) - aber was macht das denn dann...? - Die Büchse der Pandora öffnen.? :D (Scherz)


    leddie: ?(

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Hiho
    Da ja langsam die fertigen Platinen rausgeschickt werden, wollte ich mal fragen, ob es schon fertige Firmwares gibt? Vorallem AtmoWin -> TM1804 würde mich interessieren (am besten per PM schicken, oder für die allgemeinheit anhängen). Muss das Ganze noch ein wenig anpassen und will es natürlich möglichst bald ausprobieren sobald die Platine da ist :)

  • Also von mir ist die Firmware für die Version 4 (Plug&Play) fertig - die kann man dann auch über ne SW am PC konfigurieren (Farben tauschen, Pixel wiederholen, div. Standalone-Programme), empfängt 192 Kanäle mini-DMX (64 Pixel) und gibt sie an WS2801 und TM1804 (gleichzeitig) aus...


    die PC-SW macht der Domi, k.A. wie der aktuelle Stand ist - diese FW wird's vorerst nur vorinstalliert auf der Plug&Play-Version geben, demnächst in nem zugehörigen Thread in der Lobby dann ne einfachere Umsetzung von mDMX auf WS2801/TM1804... die dann auch im Quellcode zum selbst rumbasteln...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Ich hab heute einiges an der Config-Software geschafft, bin aber noch nicht fertig.
    Die GUI ist so gut wie fertig und füllt auch schon die entsprechenden Variablen, nur der Color-Picker für die Standalone-Farbe will noch nicht.
    Die Kommunikation mit dem SEDU-Board fehlt noch, wobei generell das Handling der seriellen Schnittstelle schon drin ist.


    Da ich fürchte, dass ich unter der Woche zu nicht viel kommen werde, neben der Weiterbildung, hoffe ich, dass ich am nächsten Wochenende die Software dann fertig bekomme.

  • Ja, pressiert ja nicht, ne Woche wird das mit den Fertiggeräten auch noch *mindestens* dauern, denke ich mal...?


    Die SW ist ja für den Betrieb als Ambilight nicht zwingend nötig - die braucht man ja nur, wenn man was *umstellen* will/muss, z.B. weil man nen Strip mit vertauschten Farben hat oder mehr als 64 LEDs für ne Monsterglotze braucht... das dürfte ja bei den wenigsten der Fall sein


    kann man dann ggfs. ja nachliefern - und falls es wer ganz dringend braucht und die noch nicht fertig ist, dann kann man das Teil ja notfalls über ein Terminal-Programm konfigurieren...

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Moin, habe nun auch meinen SEDU von turi bekommen und etwas damit rumgespielt :)


    Folgende Beobachtung habe ich nun mit der Firmware 1.5 in der Ambilight-Ausführung (Variante 4) gemacht:


    1) laut der Beschreibung von Pesi bezüglich der Baudraten habe ich die Baudraten 500.000 und 1.000.000 ausprobiert.


    Nach dem Einstellen dieser Baudraten und dem Absenden der Bytes A5 5A FF C1 zum Auslesen der Konfiguration gabs keinen Response.
    Daraufhin habe ich beim Hersteller des FT232 ein Codespnippet genommen und es so verändert, dass es alle Baudraten von 2.000 bis 1.000.000 in 500er Schritten durchläuft und den Konfigurations-Request macht. Responses gabs nur um die 250.000 +/- 8000 herum. Ein aktueller FT232-Treiber für den PC vom März ist bereits installiert. Auch andere Baudraten wie in den C++ Schnittstellen angegeben habe ich einzelt ausprobiert.


    2) Wenn der SEDU auf ein Standalone-Programm konfiguriert ist und man ihn mit miniDMX-Daten füttert, gibt er nur sporadisch ein Response, aber ein ungültiges von einem Byte. Habe eher mit einem 5A C0 A5 wie hier dokumentiert gerechnet.


    3) Wenn kein Standalone-Programm auf dem SEDU konfiguriert ist, und man ihn mit miniDMX-Daten füttert, gibt er zwar sofort ein Response von 10 Bytes, aber kein 5A C1 A5. Habs bis jetzt nur mit miniDMXDaten mit 256 Kanälen ausprobiert - mit 96 und 512 noch nicht.


    4) Bei allen gültigen Dateneingaben macht der SEDU immer zwei Responses. Wie zb. beim Auslesen der aktuellen Konfiguration, gibt er ein gültiges Response endend mit AC - nach einer weiteren Sekunde schickt er dann nochmal ein einzelnes AC ab.


    Dazu muss ich sagen, dass ich an dem SEDU noch keine LED-Beleuchtung angeschlossen habe, weil ich noch auf die PIX-Platinen warte :)


    Diese Beobachtungen habe ich gemacht, weil ich aus Zeitverteibt ein DirectShow-Filter speziell zugeschnitten auf das SEDU-Board implementiere, den ich dann im Sommer hier jedem zugänglich machen möchte. Performant, robust, mit MMX/SSE und pipapo. Das aus dem Grund, weil der DirectShow-Filter von AtmoWin und die ganze Software drumherum mir ganz und garnicht mundet - ist vielleicht nicht nur mir so aufgefallen. Möchte da aber lieber nicht näher drauf eingehen.


    In dem jetzigen FW-Zustand wird der SEDU natürlich auch fabelhaft seine Arbeit verrichten!
    Für alle beteiligten ein großes Lob für diese Möglichkeit mit dem SEDU!!

  • 1) laut der Beschreibung von Pesi bezüglich der Baudraten habe ich die Baudraten 500.000 und 1.000.000 ausprobiert.


    Nach dem Einstellen dieser Baudraten und dem Absenden der Bytes A5 5A FF C1 zum Auslesen der Konfiguration gabs keinen Response.

    Da hast Du was falsch verstanden! - das in dem anderen Thread genannte sind die *lt. Hardware möglichen* Baudraten, beim Ambilight-SEDU ist die Baudrate fest auf 250 kBaud eingestellt - wie sollte das auch anders gehen, da müsste ja sonst ne automatische Baudratenerkennung rein, das wäre ein bisschen viel (völlig unnötiger) Aufwand :D

    2) Wenn der SEDU auf ein Standalone-Programm konfiguriert ist und man ihn mit miniDMX-Daten füttert, gibt er nur sporadisch ein Response, aber ein ungültiges von einem Byte. Habe eher mit einem 5A C0 A5 wie hier dokumentiert gerechnet.

    Das ist bei mir nicht drin, da nicht nötig - weder AtmoWin noch andere mDMX-SW warten auf diese Bestätigung, die senden einfach... ich schicke einfach nach jedem Frame ein "AC" zurück, damit dieses Config-Tool (das mal kommen soll) anhand dessen feststellen kann, ob der SEDU überhaupt (noch) angeschlossen ist...


    Da ist *nicht* 100% vollständig das mDMX-Protokoll implementiert, da hier ja nicht nötig!

    3) Wenn kein Standalone-Programm auf dem SEDU konfiguriert ist, und man ihn mit miniDMX-Daten füttert, gibt er zwar sofort ein Response von 10 Bytes, aber kein 5A C1 A5. Habs bis jetzt nur mit miniDMXDaten mit 256 Kanälen ausprobiert - mit 96 und 512 noch nicht.

    Da wirst Du auch keinen Erfolg haben - die Empfangsroutine erwartet 256 Byte, nicht mehr und nicht weniger - die ist ja speziell auf den Betrieb mit AtmoWin o.ä. zugeschnitten...


    wo die 10 Byte her kommen, kann ich mir auch nicht erklären - das einzige, was das Teil zurück gibt, ist eben das "AC" bzw. die Konfiguration wenn man sie anfordert, das sind dann wohl diese besagten 10 Bytes gewesen....?

    4) Bei allen gültigen Dateneingaben macht der SEDU immer zwei Responses. Wie zb. beim Auslesen der aktuellen Konfiguration, gibt er ein gültiges Response endend mit AC - nach einer weiteren Sekunde schickt er dann nochmal ein einzelnes AC ab.

    Ja - da ist ein Timeout in der Empfangsroutine, wenn 1 sek. nix kommt, geht sie in den Ausgangszustand - das ist deswegen, damit man das auch im Terminal konfigurieren kann, sonst könnte es ja passieren, dass die Routine irgendwo "in der Mitte feststeckt", und man nicht weiß, was als nächstes eintippen - deswegen der Timeout, dann kann man den nächsten Befehl schicken... und da beim Timeout auch "AC" gesendet wird (damit man im Terminal eben sieht, dass sich die Routine "resettet" hat, gibt's dann manchmal 2 "AC" hintereinander, das von der Bestätigung, und dann das vom Timeout hinterher...

    In dem jetzigen FW-Zustand wird der SEDU natürlich auch fabelhaft seine Arbeit verrichten!

    Ganz genau! - der SEDU mit der fertigen Ambilight-SW drauf macht eben *genau das, wofür die geschrieben wurde*, nicht mehr und nicht weniger!

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • ich schicke einfach nach jedem Frame ein "AC" zurück, damit dieses Config-Tool (das mal kommen soll) anhand dessen feststellen kann, ob der SEDU überhaupt (noch) angeschlossen ist...

    Dieses Config-Tool (mit Sourcen von Visual Studio 2008 C++) könnte ich dir am WE geben - sag schnell Bescheid, falls bedarf :)



    Weiß aber nun alles was ich dazu brauche und bin beruhigt - danke für die schnelle Antwort!!

  • Dieses Config-Tool (mit Sourcen von Visual Studio 2008 C++) könnte ich dir am WE geben - sag schnell Bescheid, falls bedarf :)

    Ich hatte das Ding quasi fertig in VB(6) bis ich dann feststellte, dass UART auf 250kBaud mit VB6 ein irrer Krampf ist.Hab dann in C# angefangen und hing am Colorwheel fest. Leider fehlt mir im Moment einfach die Zeit daran weiter zu arbeiten und dieses Wochenende wirds auch wieder nix werden (Letsch von einem Freund und Büffeln für die nächste Prüfung am Mittwoch..).


    Bin also keinem böse, wenn nun ein anderer das Tool fabriziert. Ich hab hier auch noch eine Grafik eines Shedu (der Dämon von dem das SEDU-Board seinen Namen hat), kann ich dir gerne zukommen lassen, denn der sollte schon irgendwo in der GUI verarbeitet werden...

  • Hi,


    das funktioniert alles! :thumbup:


    Geile Sache! :thumbup:


    darf ich das dann in der Lobby (natürlich unter Nennung des Autors!) verlinken..? - Hosten könnte man es ja auf Sedu-board.de...


    melde mich noch mal, jetzt dann in's Bett und morgen wieder anstrengender Tag...


    bis dann, gute Nacht, schönes WE, lG, der Pesi

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!