lighting solutons logo lighting solutions
DigiSmoke: Interpretation der DMX512-Werte ändern
contact.html
news.html
products
   DMXDisplay
   DigiDimm
   DigiSmoke
      custom.html
      picture.html
   DigiStrobe
   DigiSwitch
   EasyMerge
   LEDChain
   LPR2DMX
   LPR2DMX2
   LPR2DMX3
   LaKa-Test
   MicroTest
   MiniTest
   USBDMX
projects
support

Eine der Besonderheiten des DigiSmoke ist, daß man die Tabelle, mit der die empfangenen DMX512-Werte interpretiert werden, frei nichtflüchtig ändern kann. Dazu besitzt der DigiSmoke ein eingebautes EEPROM (Electrical Eraseable PROM) mit einer Größe von 64 Byte. Der empfangene DMX512-Wert kann allerdings Werte zwischen 0 und 255 einnehmen. Deshalb wird dieser zuerst durch 4 dividiert (unter Vernachlässigung aller Nachkommastellen) und anschließend als Index in das EEPROM benutzt. Aus einem DMX512-Wert von z.B. 64 ergibt sich dadurch 15 und der Wert in der Speicherstelle 15 des EEPROMs wird ausgelesen um weiter verwendet zu werde. Dazu wird der Wert in eine von drei Kategorien eingeteilt:
EEPROM-Wert Ergebnis
DEC HEX
0 0x0 Der Ausgang, die Nebelmaschiene wird augenblicklich permanent ausgeschaltet.
1-254 0x1-0xfe Der Ausgang wird nach einem Muster periodisch Ein- und Ausgeschaltet.
255 0xff Der Ausgang wird augenblicklich permanent eingeschaltet.
Das periodische Ein- und Ausschalten ist wiederum so kodiert, daß das Byte in zwei gleich große Hälften à 4 Bit geteilt wird (Nibble). Im unteren Nibble (Bit 0-3) ist die Einschaltzeit, im oberen (Bit 4-7) die Ausschaltzeit -1 in Einheiten von Sekunden gespeichert. Ein Wert von 185 (0xb9) bedeutet demzufolge, daß die Nebelmaschiene 9 Sekunden (185 & 0xf) angeschaltet bleibt und danach 12 Sekunden (185 / 16 +1) aus.

Um nun diese Tabelle zu verändern, muß zuerst die magische Adresse 555 am DigiSmoke eingestellt werden. Anschießend wird ein DMX512-Rahmen übertragen, der den Startkode 90 trägt, in den Slots 1-64 die neue Tabelle und in den Slots 65-68 die Werte 85 (0x55) 170 (0xaa) 85 (0x55) 170 (0xaa). Wenn keine Fehler aufgetreten sind, zeigt der DigiSmoke das anschließend durch das Aufleuchten beider DMX512-LEDs (rot und grün) an. Daraufhin muß die DMX512-Leitung für mindestens eine Sekunde deaktiviert werden, bevor der DigiSmoke wieder einsatzbereit ist.

Falls man mit der so eingebauten Tabelle nicht so ganz zufrieden ist, kann man entwerde eine weitere erzeugen und programmieren oder die werkseitig vorprogrammierte wieder herstellen. Dazu muß ebenfalls die magische Adresse 555 eingestellt sein. Der DMX512-Rahmen enthält jetzt den Startkode 80 und in den Slots 1-4 die Werte 85 (0x55) 170 (0xaa) 85 (0x55) 170 (0xaa). Wenn alles geglückt ist, leuchten wieder beide DMX512-LEDs (rot und grün) und man muß vor dem Weiterarbeiten die DMX512-Leitung für mindestens eine Sekunde deaktivieren.

Links:

  • custom.c: C-Programm zur Demonstration unter Linux mit einem der Lighting-Solutions DMX512 Adapter LPR2DMX2 oder LPR2DMX.

Webmaster
Last modified: Sat Dec 29 15:19:25 CET 2001
home
Webmaster