|
. .
|
WG18: Hardware Description Get this page in PDF format
|
We offer a range of PC interface cards, not only readily available but affordable and easy to program. Besides we offer ready-to use software packages for free.
Programming of our DMX512 interfaces cards is really simple. Here are the few steps to get things running.
| FEATURES DMXPCP |
|
Please find a short presentation of the interface architecture and the command set.
.
.
Internal construction
.
Memory allocation is done internally and cannot be changed by the user..
.
Access Timing
.
COMMAND SET TABLE
| COMMAND | Hex value | Decimal | DESCRIPTION | COMMENTS |
ESC C |
1B 43 hi lo | 27 67 hi lo | Channel count 001-512 | (00 00= 100 channels [DEFAULT])
hi = INT (channels/256) lo = channels - hi*256 |
| ESC D | 1B 44 hi lo nn dd... | 27 68 hi lo nn dd... | Send data w/ block length and DMX data | nn = number of cannels to follow (1-255)
0 = 256 channels follow hi = INT (Startchannel/256) lo = Startchannel - hi*256 |
| ESC d | 1B 64 lo dd | 27 100 lo dd | Send data for one DMX channel (001-256) | lo = (Startchannel - 1) |
| ESC e | 1B 65 lo dd | 27 101 lo dd | Send data for one DMX channel (257-512) | lo = (Startchannel - 257) |
| ESC F | 1B 46 | 27 70 | Factory Default | 100 channels, 88 us, StartByte 0 |
| ESC G | 1B 47 | 27 71 | GO: Start DMX transmission | Default: ON |
| ESC H | 1B 48 | 27 72 | HALT: Stop DMX transfer | Default: OFF |
| ESC I | 1B 49 | 72 73 | Initialize Interface | Clears complete DMX data memory |
| ESC L | 1B 4A hi lo | 27 74 hi lo | Receive data Length | 001-512 (512 Default)
hi = INT (Length/256 lo = Length - hi*256 |
| ESC O | 1B 4F hi lo | 27 79 hi lo | Offset for Receive data (000-511) | Default: 000
hi = INT (Offset/256) lo = Offset - hi*256 |
| ESC P | 1B 50 vv | 27 80 vv | Save DMX data to memory | vv=0...7 |
| ESC Q | 1B 51 vv | 27 82 vv | Recall DMX data from memory | vv=0...7 |
| ESC R | 1B 52 hi lo | 27 82 hi lo | Receive Start Address -1 (000...511) | Default: 000
hi = INT (Address/256) lo = Address - hi*256 |
| ESC S | 1B 53 vv | 27 83 vv | Startbyte value | vv=000...255 |
| ESC T | 1B 54 vv | 27 84 vv | Startsync Timing | vv=1...4 * 44 us
>88us Default |
| ESC W | 1B 57 vv | 27 87 vv | Repeat Rate [ms[ | vv = 10...50
10ms Default |
| ESC Z | 1B 5A | 27 90 | Clear all data memory (ZERO) |
Instruction Execution Time
The internal command receive buffer can hold up to 120 Bytes. The typical execution time per byte may vary between 10 to 20 us. Any application software should be designed such that buffer overrun, which would result in interface response delay, is avoided.
More sophisticated approaches may write to the printer port directly. Generally there are no restrictions writing to the printer port as long as DOS is used. Date can be transferred to the interface at any time. To minimize data throughput, only changed values should be transmitted to the interface. This is a very simnple demo showing initialization and data transfer:
Have Fun experimenting with the DMXPCP Parallelport Interface! We always welcome your Comments. Application Examples and Demos. Just mail to
MORE INFO ON DMX EQUIPMENT:
Programmers should be aware of the fact, that some commands handling larger memory areas require extended execution times. Some of these commands are:-
COMMAND
EXECUTION TIME
COMMENT
ESC F
12 ms
Clear Memory and load Factory Default Settings
ESC I
48 ms
Initialize Interface
ESC P
3,5 ms
Transfer Data Block
ESC Q
3,5 ms
Transfer Data Block
ESC Z
12 ms
Clear Interface
Designing Application Software
That's all you need to know to design your own application program. The simplest choice would be to modify some existing printer driver, since the command scheme has been designed similar to ESC commands used to control your printer.
ESC$ = CHR$(27)
'Definitions
NULL$ = CHR$(0)
LPRINT ESC$ + "I"
'Initialization
LPRINT ESC$ + "C" + NULL$ + CHR$(30)
'Set 30 Send Channels
LPRINT ESC$ + "D" + NULL$ + NULL$ + CHR$(30);
'Set 30 channels to Zero
FOR N=1 TO 30
'Send 30x NULL
LPRINT NULL$;
NEXT N
LPRINT " "
'Terminate Command
LPRINT ESC$ + "D" + NULL$ + CHR$(5) + CHR$(1);
'Introduction Command CH 5
LPRINT CHR$(255)
'Set Channel to ON and terminate Command
DMX-TesterMeasuring and Testing Equipment for Lab and Road Use
InterfacesDMX/Analog Decoder, Relay- and Dimmer-cards
LIGHTLINESOUNDLIGHT DMX Glassfiber Technology