HMS Firmware Protocol DMX512 Controller
Description of Operation:
This board is used to interface to any BrightSign with an RS232 port.
Serial Transmission 'Break' Protocol: The RS232 port (BrightSign) has to allow 20 milliseconds to elapse between serial data 'bursts' going out. This 20 millisecond 'rest' time is interpreted by the HMS board as a 'Break' in serial transmission. This 'Break' condition synchronizes the HMS board to the serial transmissions from the BrightSign (or other device).
New Command Selection for HMS Protocol: The first byte received by the HMS board (after 'break condition') sets the receive protocol command. This new protocol simplifies how many bytes to send from the BrightSign because the DMX parameter is selectable! The bytes are enclosed in brackets [ ]. Note: 'Speed' = Rate of Fade.
Note: See the 'Not HMS Protocol' for simple DMX control (no fade) near the bottom of this specification sheet.
*********Play/Record and Other 'Scene' Commands 32-37
Link to 'DMX Scene Format (Protocol)' Note: Contact HMS Electronics for a 175 scene board (requires a processor with more memory)
********Miscellaneous Commands (Useful for Development)
*1: 'End Command' means that this was the end of the command and another
command can be part of the same string (no 'Break' required)
I.E. Turn on DMX channel 1 100%, Turn on DMX channel 50 100% [22,1,255,22,50,255] (Two command22's in succession)
To Send Multiple Commands (not concatenated) , Send 1 command, then pause for 10 milliseconds,
then send the next command and pause and so on except where designated above.
I.E. if selecting Command12 (Set all 16 DMX fade values): Note if all 16 values are sent then the next Command can be part of the string.
I.E. [15,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,'new Command#','bytes for that Command]
Note: Fast Flash of the 1Hz LED (3 Hz). When any command is terminated with 'Break', fast flashing occurs. When a command is sent incomplete or out of range, (I.E. set fade for channel 30), because channel 30 is out of range, fast flashing is set. Fast Flashing is cleared upon complete reception of a command not requiring the 'Break' condition. I.E. Send 'Command0', to clear the fast flashing after 'Break'.
DMX512 (256 channels) Operation: The DMX first 4 to 'Max Channels' channels (see command31) are sent every .8 seconds if Option2) or whenever the DMX 'Channel' bytes change (resulting in instant DMX output). The DMX512 protocol is so fast that the entire 256 (256 channels) channels of DMX data can be sent out during 14 milliseconds.
DMX512 (256 channels) and Fade: In order to get good fade action, the 'Max Channels' should be set to maximum of about 24 channels (DMX512 channel operation should be disabled using command 37). It takes about 1.2 milliseconds to send 24 channels. So if 48 channels is programmed, it takes 2.4 milliseconds to send the channels. Then, the brightness can only be 'adjusted' every 2.4 milliseconds (not every millisecond). The DMX bytes are sent out immediately after a brightness change (caused by a 'fade' change). If 512 operation is enabled (sending the upper channels (channels 256-511) then it takes 28 milliseconds to send all 512 channels). The minimum fade value should be set to 30 so that the fade only changes with each sending of the DMX bytes. Using fade with '512 channels to send' may not be desirable.
DMX 'Head' Operation. If a DMX dimmer pack is utilized, setup the dimmer pack to utilize channels 1-4. Then set the DMX 'Head' start channel to 5 (or whatever channel is allowed). If the DMX 'Head' is the only DMX device, then set the 'Head' channel to channel 1. If the DMX 'Head' protocol expects to receive 20 bytes (20 channels) then all 20 of those bytes need to be sent with each DMX 'Head' command sequence. Likewise, when using the BrightSign to control the DMX Head, the BrightSign should send all 20 DMX bytes with each Serial Send() command. If the DMX512 'Head' can only be set for 'even addresses' or multiples of a number (I.E. 20,40,60) then the bytes for that address (channel) will have to start at the address or channel set as the base channel.
DMX 'Play Scenes'. A 'scene' file can be created and stored on the SD card. BrightScript would be used to interpret the 'scene file'. Any number of scenes could be stored on the SD card. Contact the BrightSign people if you need help with this programming.
DMX_Demo.AVI (84 mega byte movie demo) DMX_Demo.mov 6MB (requires Quicktime) Link: Setting up the Serial Port and Sending Bytes with 'BrightAuthor'.
HMS-RS232-DMX.brs (sequences channels 1 thru 4). Rename this file to 'autorun.brs' and put it on the SD card
Note: Fade Command makes 'Fading the lights on and off' an easy task if utilizing a DMX Dimmer Pack. To Fade up lights just output 0xFF ( 255 decimal) for the channel value for DMX Ch 1 to 24) To Fade down the lights, just output a zero (decimal) for the channel value and the brightness will Fade down at 20 millisecond intervals or at the rate specified with the speed setting.
Note: Fade Speed: The Fade speed value is the number of milliseconds to increment (increase brightness by '1') or decrement (decrease brightness by '1') of the channel value. If the channel value is 255, and the speed value=20, then it takes 20 milliseconds for each step or 5.1 seconds to obtain full brightness (0 to 255). If the Fade Speed is zero, the new channel value is output immediately to the DMX channel. So if the channel value was 0, then 255 and the speed value is 255 (255 milliseconds per step of 1), then it will take 65535 milliseconds (255 times 255) to finish Fade (1092 seconds). You may want to keep the value below 50.
Default 'Scenes (Version 4.x Firmware):
Scene 30: Uses CMD30 to set channel 256, to 255 (full on), then channel 257 to 128 (medium brightness), then channel 258 to 80 (low brightness), then channels off.
Scene 31: Uses Cmd31 to set sequential channels to a value. Channel 259 = 255, pause for 1 second then 0. Channel 258 = 255 pause 1 second, then 0. Channel 257 = 255, pause for 1 second then zero. Channel 256 = 255, pause for 1 second then 0.
Scene 32: Uses Cmd 31 to set sequential channels to a value. Channel 511 = 255, pause for 1 second then 0. Channel 510 = 255 pause 1 second, then 0. Channel 509 = 255, pause for 1 second then zero. Channel 508 = 255, pause for 1 second then 0.
|Note: External Supply Voltage: External 5 volts is necessary if not using a BrightSign. The Legacy BrightSigns supplies 5 volts via pin4 of the DB9 Connector. The Series 3 BrightSigns do not supply 5Volts and do not have a DB9 connector. You will need to order an adapter (ST-DB9-5V) to power the board and to connect the stereo plug from the BrightSign.|
Page Updated 10/27/2016