Posts by Stefan Krupop

    Ganz unabhängig von der DLL-Portierung würde ich dir die Netzwerkprotokolle "Art-Net" oder "sACN" empfehlen. Besonders sACN ist recht simpel zu implementieren, wenn man nur senden will. Aber auch Art-Net ist kein großes Problem, insbesondere wenn man vll. keine vollständige Implementierung braucht.

    Beide Protokolle können von vielen Lichtsteuerungen direkt empfangen werden, es gibt aber auch entsprechende Nodes, die auf DMX umsetzen. Sogar zum Selbstbau, wenn man das will. Man könnte z.B. mit nem ESP8266 auch Art-Net empfangen und direkt I/O ansprechen.


    Edit: Scheinbar gibt es für Unity auch schon fertiges Zeugs, war ja fast zu erwarten ;) https://github.com/sugi-cho/ArtNet.Unity


    Stefan

    DMXC 3 verwendet zur Ansteuerung des MiniDMX-Interface die vom Autor zur Verfügung gestellte "mdmxsvr.dll", wir haben das Protokoll also nicht selbst implementiert. Daher kann ich da auch wenig zu sagen. Geht das Testprogramm vom Autor? Die Website scheint schon länger offline, aber bei Archive.org kann man sie noch sehen: https://web.archive.org/web/20….php?n=MiniDMX.Startseite


    Sendet das "Arduino-Programm" auch die entsprechenden Rückmeldungen? Mit den ganzen "Serial Port Monitor"en habe ich eher schlechte Erfahrungen, die haben meist gar nix aufgezeichnet, auch wenn was da war... Was passiert, wenn du versuchst das Interface manuell z.B. mit Real-Term anzusprechen?


    Stefan

    Audioszenen werden in DMXC 2 einem von 16 "Kanälen" zugewiesen (wird in der Szene festgelegt).

    Über die Befehle (Modul "Audio") kann man diese Kanäle dann Pausieren/Unpausieren, Zurückspulen, Stoppen und die Lautstärke einstellen. Ein Kanal, der Pausiert ist, wird durch erneutes Pausieren wieder gestartet.


    Stefan

    Nach entsprechender Konfiguration kann ich mit einer Hand, Pan / Tilt, Farbe, Gobo, Helligkeit und Goborotation einstellen.

    Aber auch nur, wenn man fleißig mit ner 3D-Maus geübt hat ;) Sonst stellt man immer alle Parameter gleichzeitig auf irgendwelche Werte ein... :D


    Stefan

    Könntest du mal Screenshots vom Windows-Gerätemanager (mit ausgeklappten "Anschlüsse (COM & LPT)" und "USB-Controller"-Zweigen), dem DMXControl-Interface-Fenster und den erweiterten Einstellungen des Interfaces posten?

    Wenn du dir den Kernel anzeigen lässt, gibt es da Fehlermeldungen, die nach Interface klingen?


    Stefan

    Ist nur ein Versuch, da man ja in den Empfänger (also den Funk-Sender) nicht reinschauen kann, um zu sehen, was er am Signal auszusetzen hat. Generell halte ich eine HW-Implementierung (DMXSerial) für besser als eine Bitbanging-Version (DMXSimple).

    Du kannst ja erstmal mit der Default-Konfiguration auf dem Standard-UART (und dem damit vebundenen Upload-Problem) probieren. Wenn das was verbessert, kann man DMXSerial wohl auch für andere Ports des Mega konfigurieren.


    Stefan

    Deine bisher verwendete DMX-Library verwendet "Bit-Banging" statt des Hardware-UARTs. Hat den Vorteil auf beliebigen Pins zu funktionieren, aber könnte evtl. vom Timing problematischer sein.

    Du könntest also versuchen eine andere DMX-Library zu nehmen, z.B. https://www.mathertel.de/Arduino/DMXSerial.aspx

    Wahrscheinlich musst du dann aber deinen DMX-Sende-Pin umstecken. Da der Mega aber mehrere UARTs hat, sollte das gehen.


    Stefan

    Nein, das ist schon richtig so. Das "-" bezieht sich nicht auf eine negative Spannung, sondern darauf, dass auf dem Pin das negierte Signal des differenziellen Signals liegt. Also immer genau der gegenteilige Pegel von dem auf dem +-Pin. Ist Pin 3 "high", muss Pin "2" low sein und anders herum. Die absoluten Spannungspegel sind damit nicht gemeint.


    Stefan

    Öh - wie "einzelne Sequenzen"?! 8|
    So funktioniert DMX eigentlich nicht ;) Da würden eigentlich wiederholend alle DMX-Kanäle gesendet und es gibt auch keinen "Index" der anzeigt, welcher DMX-Kanal jetzt kommt, sondern die Geräte zählen nach dem Break die Kanäle mit...
    Benutzt du eine Library, die das DMX-Senden übenimmt?


    Stefan

    Da über die Funkstrecke (höchstwahrscheinlich ;)) nicht das "nackte" DMX-Datensignal wie auf dem Kabel gesendet wird, muss der Funksender erstmal alle DMX-Kanäle empfangen um sie dann in das Funkprotokoll zu verpacken.

    Die verschiedenen Zeiten, die in so einem DMX-Signal auftauchen sind im Standard aber nicht exakt definiert, sondern über einen gewissen Bereich gültiges DMX. Wir hatten im Forum schon häufig Benutzer, bei denen bestimmte Geräte (meist die günstigsten...) nicht mit all zu schnellen (aber dabei komplett standardkonformen) DMX-Sendern klar kamen.

    Z.B. bei unseren Nodle-Interfaces oder dem DE-USB-DMX-Interface kann man diese Timings beeinflussen, was dann oft geholfen hat.

    Ich könnte mir vorstellen, dass der DMX-Funksender vll. ein ähnliches Problem hat. Du könntest mal versuchen, in deinem Code z.B. eine Inter-Byte-Time >0 umzusetzen, also einen kleinen Moment zwischen den einzelnen Bytes zu warten.


    Stefan

    Bitte einmal alles zusammenpacken und anhängen, wobei du die Audiodatei (wegen Größe) auch weglassen kannst.
    Die Entwicklungsumgebung habe ich allerdings schon seit Jahren nicht mehr auf meinem Rechner, mal sehen, ob ich überhaupt was machen kann.


    Stefan