Sie haben ein SOUNDLIGHT DMX PrinterPort Interface DMXPCP oder wollen sich eines zulegen? Gut, dann sollen Sie es ja auch benutzen können. Das PrinterPort Interface ist sehr einfach zu bedienen, es läßt sich handhaben wie ein Drucker.
Im Folgenden stellen wir Ihnen die Architektur und den Befehlssatz des Interfaces vor.
|
.
.
Interner Aufbau
.
Die Speicheraufteilung wird vom Interface intern verwaltet und kann nicht durch den Anwender beeinflußt werden.
.
Das Zugriffstiming
.
BEFEHLSTABELLE
Kommando | Hexadezimal | Dezimal | Beschreibung | Hinweise |
ESC C |
1B 43 hi lo | 27 67 hi lo | Kanalzahl 001-512 | (000= 100 Kanäle Default)
hi = INT (Kanalzahl/256) lo = Kanalzahl - hi*256 |
ESC D | 1B 44 hi lo nn dd... | 27 68 hi lo nn dd... | Sendedaten mit Beginn und Datensatzlänge | count = Anzahl der folgenden Kanäle (1-255)
0 = 256 folgende Kanäle hi = INT (Startkanalnummer/256) lo = Startkanalnummer - hi*256 |
ESC d | 1B 64 lo dd | 27 100 lo dd | Sendedaten für einen DMX-Kanal (001-256) | lo = (Startkanalnummer - 1) |
ESC e | 1B 65 lo dd | 27 101 lo dd | Sendedaten für einen DMX-Kanal (257-512) | lo = (Startkanalnummer - 257) |
ESC F | 1B 46 | 27 70 | Factory Default | 100 Kanäle, 88 us, StartByte 0 |
ESC G | 1B 47 | 27 71 | GO: DMX-Übertragung starten | Default: EIN |
ESC H | 1B 48 | 27 72 | HALT: DMX-Übertragung stoppen | Default: AUS |
ESC I | 1B 49 | 72 73 | Interface Initialisieren | Löscht den gesamten DMX-Datenspeicher |
ESC L | 1B 4A hi lo | 27 74 hi lo | Länge für Empfangsdaten | 001-512 (512 Default)
hi = INT (Länge/256 lo = Länge - hi*256 |
ESC O | 1B 4F hi lo | 27 79 hi lo | Offset für Empfangsdaten (000-511) | Default: 000
hi = INT (Offset/256) lo = Offset - hi*256 |
ESC P | 1B 50 vv | 27 80 vv | DMX-Daten in Speicher ablegen | vv=0...7 |
ESC Q | 1B 51 vv | 27 82 vv | DMX-Daten aus Speicher vv auslesen | vv=0...7 |
ESC R | 1B 52 hi lo | 27 82 hi lo | Empfangsstartadresse-1 (000.511) | Default: 000
hi = INT (Adresse/256) lo = Adresse - hi*256 |
ESC S | 1B 53 vv | 27 83 vv | Startbyte-Wert | vv=000...255 |
ESC T | 1B 54 vv | 27 84 vv | Startsynchronisations-Timing | vv=1...4 * 44 us
>88us Default |
ESC W | 1B 57 vv | 27 87 vv | Wiederholrate in ms | vv = 10...50
10ms Default |
ESC Z | 1B 5A | 27 90 | Ausgabespeicher löschen (Zero) |
BEFEHL | Abarbeitungszeit | Bemerkung |
ESC F | 12 ms | Werksvoreinstellungen laden und Speicher löschen |
ESC I | 48 ms | Interface initialisieren |
ESC P | 3,5 ms | Datenblock übertragen |
ESC Q | 3,5 ms | Datenblock übertragen |
ESC Z | 12 ms | Interface löschen |
Der interne Datenempfangspuffer des Interface kann 128 Bytes zwischenspeichern, die typische Abarbeitungszeit pro Byte beträgt 10...20 us.
Daten können zu jeder Zeit an das Interface übermittelt werden. Um den Datenverkehr über den Flaschenhals "PrinterPort" gering zu halten, sollten Sie dabei nur die Kanäle senden, die mit jeweils neuen Werten belegt werden. Nachfolgend ein sehr einfaches Beispiel für die Übermittlung von Befehlen an das Interface:
ESC$ = CHR$(27) | 'Definitionen |
NULL$ = CHR$(0)(27) | |
LPRINT ESC$ + "I" | 'Initialisieren |
LPRINT ESC$ + "C" + NULL$ + CHR$(30) | '30 Sendekanäle setzen |
LPRINT ESC$ + "D" + NULL$ + NULL$ + CHR$(30); | 'Einleitung Befehl 30 Kanäle Null setzen |
FOR N=1 TO 30 | '30x NULL senden |
LPRINT NULL$; | |
NEXT N | |
LPRINT " " | 'Befehl abschließen |
LPRINT ESC$ + "D" + NULL$ + CHR$(5) + CHR$(1); | 'Einleitung Befehl Kanal 5 |
LPRINT CHR$(255) | 'Voll an und Befehl abschließen |
Viel Erfolg beim Experimentieren! Kommentare und eigene Beiträge nehmen wir gern entgegen, mailen Sie einfach an