
HMS-C16-DMX-1 Board Shown (3 Terminal Block
for DMX Connection)
HMS-C16-DMX (Interface Board) w/DMX512 Controller
or, HMS-C8-DMX (Interface board) w/DMX512 Controller
Features:
Recommended: Use the HMS RS232-TTL 'Roku Adapter Board' to use your computer to test your commands to the C16 and C8 boards prior to testing with the BrightSign. Trial and error using the BrightSign to 'debug' strings will take hours or days troubleshoot. With the RS232-TTL board it will take minutes to verify your command strings.
Description of Operation:
This board is used to interface to a BrightSign 'Compact'. The first 8
inputs (inputs 0-7) pass directly to the BrightSign GPIO connections
(Btn0-Btn7). The BrightSign uses the 5V TTL serial port to input 8 bits of
data (inputs 8-15) from this board. The BrightSign controls the 16 Outputs via the 5V TTL
Serial Port. The same 5V TTL serial port is used to control the DMX
output. The 8 inputs (8-15) are transmitted to the Brightsign dependent on
option 5.
Serial Transmission 'Break' Protocol: The BrightSign has to allow 10 milliseconds to elapse between serial data 'bursts' going out. This 10 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.
New Command Selection 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 each color parameter or DMX parameter is selectable! The Strings are enclosed in brackets [ ]. Note: 'Speed' = Rate of Fade.
*********Play/Record and Other 'Scene' Commands 32-35
Link to 'Scene Format (Protocol)'
*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. Set all fade values to 50 and turn on Red to 50% duty cycle (128) with fade
value 35, turn on
output ports, (port1=1, port2=64), and turn on DMX channel 4 to 128
[8,50,4,128,35,1,1,64,17,4,128]
Notes:
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 20), because channel 20 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'.
*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. Set all fade values to 50 and turn on Red to 50% duty cycle (128) with fade
value 35, turn on
output ports, (port1=1, port2=64), and turn on DMX channel 4 to 128
[8,50,4,128,35,1,1,64,17,4,128]
Note: Any 'Command' followed by a 'break condition' terminates the Command. So, if zero bytes follow Command=1, Command 1 will simply be terminated at the break condition.
Note: Any 'illegal' command results in 'dumped bytes' until 'Break' condition. So, if a large string of bytes is sent, and a channel fade number is out of range (>16), then the remaining bytes of that string are discarded.
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 20), because channel 20 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'.
PORT's , and DMX Protocol Bytes:
Command #2, Port1 Value, Port2 Value, 1 to 200 DMX Bytes (See
the DMX protocol below).
DMX512 Operation: The DMX first 100 channels are sent every second or
whenever the DMX 'Channel' bytes change (resulting in instant DMX output). The DMX512
protocol is so fast that the entire 100 channels of DMX data can be sent out
during transmissions of 4 bytes of data from the BrightSign. All bytes
following the Port2 byte go to the DMX channels 1-100 (*exception for the new
Option4). If only a single
byte follows the Port2 byte, then only channel 1 of the DMX512 protocol will
receive the new data. All other channels not receiving
data are unchanged.. I.E.
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 TTLSend() command plus the two Port bytes. I.E. TTL_Send(port1;port2;dimmer channels 1-4 [4 bytes]; DMX 'Head' bytes [20 bytes]). 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 Roku 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'.
*****************************************************************
Option 6 Selects a 'multiple diagnostic' feature. With Switch 1, slider 6 (SW1-6) on, the board is in a diagnostic Command. The two 8 bit ports are cycled one bit at a time to on (changes every second). The 5V TTL driver sends decimal 170 (0xAA) to the BrightSign. The RGBW board is cycled to 50% on (all channels) then off. The DMX output alternates channels 1-12 on and off every second (no fading). This diagnostic allows for a visual on all output drivers, verified connection and baud settings to the BrightSign 5VTTL serial port, and verifies operation of the DMX controller. This DMX operation of channels 1-4 on and off is a perfect diagnostic for a 4 channel dimmer pack.
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 255 (decimal) for DMX Ch 1 to 16) with the appropriate Option Selection Switch made. To Fade down the lights, just output a zero (decimal) 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 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.
*****************************************************************
Here is a table of 'bit' control and the decimal values to control that bit.
Just add the decimal numbers together to get the bits set that you want. Setting all bits on is 255d (decimal). Setting bits 0 and 7 on is 128+1 or 129 decimal. To set multiple colors, set the color# to the combination of bits. I.E. to set Red and White add 1 to 8 (1 for Red) to 8 (8 for White) =9 (both Red and White will be set by the color command).
*****************************************************************
| Note: External Supply Voltage: An External Power Supply is needed to power the loads on the output connector. Do not connect any loads that have their own power that exceeds the power as applied to the board using the 'Ext. Power Connector'. Doing so may result in damage to the board. I.E. Suppose that 12 volts is supplied to this board and you have a relay board with it's own power of 24Volts DC that powers the relays. The 24VDC will feed back into the board via the foldback diodes. Note: Foldback diodes are required for inductive loads such as relays or small motors. |
Page Updated 11/02/2011