Biamp DRC 4+4 RS-232 User Manual

Computer Control
of the
Advantage DRC 4+4
_______________________________________________________________________________________
_
Biamp Systems, 14130 N.W. Science Park, Portland, Oregon 97229 U.S.A. (503) 641-7287
an affiliate of Rauland-Borg Corp.
This document contains technical information relating to computer control of the Biamp Advantage DRC 4+4 Digital Remote Control. This information is intended for advanced users - in particular for those who wish to develop their own computer programs to control the DRC 4+4. It is assumed that the reader is an experienced programmer and has some familiarity with standard programming practices, binary and hexadecimal numbers, the ASCII character set, asynchronous serial data communications, and RS-232 interfaces.
Hexadecimal, ASCII-Hex, and "Pseudo-Hex" Numbers
Throughout this document, hexadecimal numbers shall be represented by preceding the number with "0x". For example: the hexadecimal equivalent of the decimal number 255 is 0xFF.
Individual ASCII characters, except control characters, will be enclosed in single quotes. For example: the ASCII character 'A' has the hexadecimal value 0x41. The ASCII "carriage return" control character shall be represented as . An ASCII code chart is included with this document for your convenience.
When an 8-bit binary data value is being transmitted over a serial data communications link, it is a common practice to transmit the byte as two "ASCII-hex" characters - one character represents the most significant nibble of the data value and the other character represents the least significant nibble (a nibble is 4-bits; half of a byte). Each ASCII-hex character is in the range of '0' thru '9' or 'A' thru 'F' (from the ASCII code chart, 0x30 thru 0x39 or 0x41 thru 0x46). For example, the hexadecimal equivalent of the decimal number 61 is 0x3D. To transmit this in an ASCII-hex format, first transmit the ASCII character '3' (whose hex value is 0x33), followed by the ASCII character 'D' (whose hex value is 0x44). This is the standard way to transmit an ASCII-hex value. In some cases, the lower case characters 'a' thru 'f' (0x61 thru 0x66) are accepted in addition to the upper case letters 'A' thru 'F'.
The Advantage DRC 4+4 does not utilize standard ASCII-hex format.
The DRC 4+4 computer commands implement what I call "pseudo-hex" notation (also sometimes referred to as a "poor man's" ASCII-hex notation). Instead of representing the hexadecimal value using the ASCII characters '0' thru '9' and 'A', 'B', 'C', 'D', 'E', and 'F', the pseudo-hex format uses the ASCII characters '0' thru '9' and the characters ':', ';', '<', '=', '>', and '?'. As you can see by studying the ASCII code chart, a binary nibble may be converted to its equivalent pseudo-hex character by simply adding 0x30.
A binary/decimal/hexadecimal/pseudo-hex conversion chart is included at the end of this manual for your convenience.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 1
Data Communications Parameters
The DRC 4+4 normally communicates through its standard RS-232 serial interface at a data rate ("baud" rate) of 2400 bits per second with 8 data bits, no parity, and 1 stop bit. These settings are not adjustable - other data transmission speeds ("baud" rates) are not supported. The DRC 4+4 utilizes a subset of the standard 7-bit ASCII character set. The eighth data bit (bit 7 - the most significant bit) of each character transmitted by the computer should always be 0. The computer should not echo the characters it receives from the DRC 4+4.
Since the DRC 4+4's standard RS-232 serial interface only has a single-character input buffer for its incoming serial data, a form of flow control must be implemented by the computer in order to guarantee that no characters are lost. Neither hardware (DTR or RTS) nor XON/XOFF (also known as DC1/DC3 or control-S/control-Q) handshaking is supported by the DRC 4+4. However, each character which the DRC 4+4 receives with its standard RS-232 serial interface will be "echoed" back to the computer. Flow control may be implemented by the computer software by simply waiting for each character's echo from the DRC 4+4 before transmitting the next character, since the DRC 4+4 doesn't retrieve and echo an incoming character until it has finished processing the previous character.
Computer Control
The Advantage DRC 4+4 has an RS-232-compatible serial interface which allows it to be controlled by a computer or by a system controller such as those provided by AMX or Crestron. The DRC 4+4 offers the following two methods of computer control:
Control Button Emulation. This method of computer control allows the computer to
emulate Biamp's standard infrared remote control transmitter or wall-mount remote control panel. Using this method, the computer outputs ASCII characters which are equivalent to the characters which would be generated by a remote control connected to the DRC 4+4. These ASCII characters are transmitted from the computer to the DRC 4+4's standard RS-232 compatible serial port. Control Button Emulation is simple to perform, however, it only provides "one-way" control of the DRC 4+4 - it allows the computer to send simple commands to the DRC 4+4, but it does not provide any mechanism for requesting status information from the DRC 4+4.
Advanced Computer Control. This method of computer control provides advanced
commands which allow "two-way" control of the DRC 4+4. Using Advanced Computer Control commands, the computer may request status information from the device as well as send commands to the device. The computer communicates with the DRC 4+4 using the DRC 4+4's standard RS-232 compatible serial port.
page 2 Computer Control of the Advantage DRC 4+4 2-Nov-06
Control Button Emulation
Control Button Emulation is the simplest form of computer control of the Advantage DRC 4+4. This method of operation allows the computer to emulate the operation of a standard Biamp remote control transmitter.
For each button on a standard Biamp remote control, there is a corresponding ASCII character. In order to emulate a remote control button, the computer simply transmits the corresponding ASCII character to the DRC 4+4's standard RS-232 serial port. Each character received by the DRC 4+4 will be echoed back to the computer.
The standard Biamp remote control devices never exceed a transmission rate of 9 characters per second. If the computer wishes to perform Control Button Emulation at a rate of greater than 20 characters per second (50 msec per character), flow control should be implemented by waiting for the echo of each character before transmitting the next character. At slower speeds, flow control should not be necessary.
The following table summarizes the ASCII character codes for Control Button Emulation corresponding to each of the 40 remote control buttons supported by the DRC 4+4. These button codes are also summarized on the ASCII code chart provided at the end of this manual. The Advantage PC Control Software Package also indicates on its button definition screen the equivalent ASCII character for each of the 40 individual remote control buttons. The remote control buttons on the standard Biamp transmitter are numbered from left to right going from bottom to top with the lower left-hand button being button number 1.
Control Button Emulation ASCII Codes (with factory default button definitions shown)
button 1 'B' (0x42) Vol Down ch.5 button 2 'C' (0x43) Vol Down ch.6 button 3 'D' (0x44) Vol Down ch.7 button 4 'E' (0x45) Vol Down ch.8 button 5 'F' (0x46) Vol Up ch.5 button 6 'G' (0x47) Vol Up ch.6 button 7 'H' (0x48) Vol Up ch.7 button 8 'I' (0x49) Vol Up ch.8 button 9 'J' (0x4A) Toggle Mute ch.5 button 10 'K' (0x4B) Toggle Mute ch.6 button 11 'L' (0x4C) Toggle Mute ch.7 button 12 'M' (0x4D) Toggle Mute ch.8 button 13 'N' (0x4E) Vol Down ch.1 button 14 'O' (0x4F) Vol Down ch.2 button 15 'P' (0x50) Vol Down ch.3 button 16 'Q' (0x51) Vol Down ch.4 button 17 'R' (0x52) Vol Up ch.1 button 18 'S' (0x53) Vol Up ch.2 button 19 'T' (0x54) Vol Up ch.3 button 20 'U' (0x55) Vol Up ch.4
* note: beginning March, 1996, the factory defaults for buttons 29 thru 40 are all NOP (no operation)
button 21 'V' (0x56) Toggle Mute ch.1 button 22 'W' (0x57) Toggle Mute ch.2 button 23 'X' (0x58) Toggle Mute ch.3 button 24 'Y' (0x59) Toggle Mute ch.4 button 25 'Z' (0x5A) Recall Preset 1 button 26 '[' (0x5B) Recall Preset 2 button 27 '\' (0x5C) Recall Preset 3 button 28 ']' (0x5D) Recall Preset 4 button 29 '^' (0x5E) Toggle Logic 1* button 30 '_' (0x5F) Toggle Logic 2* button 31 '`' (0x60) Toggle Logic 3* button 32 'b' (0x62) Toggle Logic 4* button 33 'c' (0x63) Store Preset 1* button 34 'd' (0x64) Store Preset 2* button 35 'e' (0x65) Store Preset 3* button 36 'f' (0x66) Store Preset 4* button 37 'g' (0x67) 200 msec pulse Logic 1* button 38 'h' (0x68) 200 msec pulse Logic 2* button 39 'i' (0x69) 200 msec pulse Logic 3* button 40 'j' (0x6A) 200 msec pulse Logic 4*
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 3
Device Select Prefix Characters
When using Advanced Computer Control, up to eight DRC 4+4s may be linked together and individually controlled by the computer (if each device is first assigned a unique device number). When using Control Button Emulation, a limited subset of device addressing may be performed, which allows individual control of up to four DRC 4+4s (with device numbers 1 thru 4). This is accomplished by transmitting a device select prefix code immediately prior to each control button ASCII character code. The device select prefix code is inspected by each device to determine whether or not the device should react to the button code which immediately follows. If a button code is not immediately preceded by a device select prefix character, then all DRC 4+4s in the system will react to that button code. The following table summarizes the ASCII characters to use for selecting various devices. This information is also summarized in the ASCII code chart provided at the end of this manual.
Device Select Prefix Codes
select device 1 'l' (0x6C) select device 2 'm' (0x6D) select devices 1 & 2 'n' (0x6E) select device 3 'o' (0x6F) select devices 1 & 3 'p' (0x70) select devices 2 & 3 'q' (0X71) select devices 1 & 2 & 3 'r' (0x72) select device 4 's' (0x73) select devices 1 & 4 't' (0x74) select devices 2 & 4 'u' (0x75) select devices 1 & 2 & 4 'v' (0x76) select devices 3 & 4 'w' (0x77) select devices 1 & 3 & 4 'x' (0x78) select devices 2 & 3 & 4 'y' (0x79) select devices 1 & 2 & 3 & 4 'z' (0x7A)
page 4 Computer Control of the Advantage DRC 4+4 2-Nov-06
Advanced Computer Control
The Advanced Computer Control command set includes commands which allow the DRC 4+4 to return information about the system to the computer, unlike Control Button Emulation which is basically a one-way control mechanism. The following list summarizes the commands available using Advanced Computer Control, including the ASCII command character associated with each command:
! virtual-button perform the specified actions.
" get-button-definition retrieve the definition for the specified button. # define-button redefine the specified button. $ do-button perform button actions for specified button. % get-preset-mix retrieve the specified preset mix settings. & define-preset-mix redefine the specified preset mix. ' do-preset-action perform the specified preset mix action. ( do-volume-action perform the specified VCA channel volume action. ( set-volume set the volume for the specified VCA channel. ) do-logic-action perform the specified logic output action. * activate-global-config-params activate global configuration parameters. + sleep-for-10-sec. sleep for 10 seconds, ignoring all commands.
, disable-control-buttons disable all button commands for 2.5 seconds or until re-enabled.
- enable-control-buttons re-enable button commands. . set-factory-defaults set definitions for buttons 01 - 40 to their factory defaults. / get-version retrieve the model information and firmware version date.
Each Advanced Computer Control command requires at least two parameter bytes (four pseudo-hex nibbles) to be sent prior to the command character. Each command will be explained in detail on the following pages.
Some of the commands cause the DRC 4+4 to return information to the computer. For each string of information returned to the computer, the DRC 4+4 terminates the string by transmitting the ASCII carriage return character (0x0D - represented in this document as ).
As mentioned earlier, the Advantage DRC 4+4 will echo all
characters it receives, regardless of whether or not the characters are valid commands or parameters. Characters greater than 0x7F are reserved
and should not be transmitted by the computer. The DRC 4+4 utilizes a subset of the standard ASCII character set. The following characters have meaning to the DRC 4+4:
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 5
character hexadecima
operation
l
ASCII control characters (0x00 - 0x1F) no operation ASCII SPACE character
! thru /
0 thru ?
@ A B thru `
a b thru j
k thru z
{ thru DEL
0x80 thru 0xFF (0x80 - 0xFF) RESERVED
(0x20) no operation
(0x21 - 0x2F) Advanced Computer Control
commands
(0x30 - 0x3F) pseudo-hex parameters for Advanced
Computer Control commands (0x40) Control Button Emulation Repeat Code (0x41) no operation
(0x42 - 0x60) Control Button Emulation commands
(buttons 01 - 31) (0x61) no operation
(0x62 - 0x6A) Control Button Emulation commands
(buttons 32 - 40)
(0x6B - 0x7A) Control Button Emulation Device Select
Prefix commands
(0x7B - 0x7F) no operation
An ASCII code chart showing all DRC 4+4 commands and codes is provided later in this document for your convenience. One key point to observe is that the computer may feel free to transmit spaces, tabs, carriage returns, line feeds, or any other control characters at any time (even between two nibbles of a pseudo-hex parameter byte) without having any affect on the operation of the DRC 4+4. The DRC 4+4 will simply echo them and then ignore them.
Device Type Bitmask and Device Number Bitmask
In a system which has more than one Advantage product connected to the computer, the Device Type Bitmask and Device Number Bitmask command parameters provide a mechanism for the computer to individually address a particular device (or a combination of devices). Every command in the Advanced Computer Control command set requires that a Device Type Bitmask and a Device Number Bitmask be transmitted as the last two parameter bytes before the computer transmits the command character itself. These two bitmask parameters bytes provide a device addressing capability to specify which of the devices in the system should execute the command. All devices which are not specifically addressed by these two bitmask values will ignore the command.
The Device Type Bitmask parameter byte supports up to eight distinct device types - one bit per device type. The eight device types are:
0x01 (bit 0) Biamp Advantage DRC 4+4 digital remote control 0x02 (bit 1) Biamp Advantage EQ28X digitally-controlled graphic equalizer 0x04 (bit 2) Biamp Advantage SPM522D stereo preamp/mixer 0x08 (bit 3) Biamp Advantage PMX84 programmable matrix switch 0x10 (bit 4) (reserved for future product)
page 6 Computer Control of the Advantage DRC 4+4 2-Nov-06
0x20 (bit 5) (reserved for future product) 0x40 (bit 6) (reserved for future product) 0x80 (bit 7) (reserved for future product)
The Advantage DRC 4+4 will only respond to Advanced Computer Control commands if bit 0 of the Device Type Bitmask parameter byte is a '1'. A command may be directed to more than one device type in the system by setting all of the corresponding bits in the Device Type Bitmask to '1's.
The Device Number Bitmask parameter byte supports up to eight distinct device numbers
- one bit per device number. The eight device numbers are:
0x01 (bit 0) Select Device Number 1 0x02 (bit 1) Select Device Number 2 0x04 (bit 2) Select Device Number 3 0x08 (bit 3) Select Device Number 4 0x10 (bit 4) Select Device Number 5 0x20 (bit 5) Select Device Number 6 0x40 (bit 6) Select Device Number 7 0x80 (bit 7) Select Device Number 8
A particular Advantage DRC 4+4 will only respond to Advanced Computer Control commands if the bit in the Device Number Bitmask parameter byte corresponding to its device number is a '1'. A command may be directed to more than one device number in the system by setting all of the corresponding bits in the Device Number Bitmask to '1's.
The Advanced Computer Control command set supports, in theory, up to sixty-four devices in a system - eight devices of each of the eight device types. In order for any particular device in the system to respond to an Advanced Computer Control command, the appropriate bit in both the Device Type and Device Number bitmask parameter bytes must be set to '1'.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 7
Advanced Computer Control Data Structures
Preset Mix Status Data Structure
The data structure used for preset mixes consists of an array of nine bytes (which are transmitted as 18 pseudo-hex characters). Mix[0] through mix[7] represent the volume level and mute status of VCA channels 1 through 8. Mix[8] represents the status of the logic outputs, and also has other special meanings for the "current" mix.
DRC 4+4 Preset Mix Data Structure
9-byte array with elements numbered mix[0] thru mix[8]
mix[8]
(transmitted first)
mix[7]
mix[6]
mix[5]
mix[4]
mix[3]
mix[2]]
mix[1]
mix[0]
(transmitted last)
(msb) (lsb)
Last Recalled
Mix
Mod
Preset
0
0
0
0
0
0
0
0
Logic4Logic3Logic2Logic
VCA CHANNEL 8 VOLUMEMute
VCA CHANNEL 7 VOLUMEMute
VCA CHANNEL 6 VOLUMEMute
VCA CHANNEL 5 VOLUMEMute
VCA CHANNEL 4 VOLUMEMute
VCA CHANNEL 3 VOLUMEMute
VCA CHANNEL 2 VOLUMEMute
VCA CHANNEL 1 VOLUMEMute
01234567
Note: Bits 4 - 7 of this byte are only significant for preset
1
mixes 0, 5, and 6.
The least-significant bit (bit 0) of mix[8] indicates the status of logic output number 1 - a '1' in this bit means the logic output is on, and a '0' in this bit means the logic output is off. Similarly, bits 1, 2, and 3 of mix[8] indicate the status of logic outputs 2, 3, and 4, respectively. When the mix being specified is the "current" mix (mix 5 or 6) or the "power-on" mix (mix 0), bits 4, 5, and 6 of this byte indicate which preset mix was the last mix recalled and the most-significant-bit (bit 7) of this byte indicates whether or not the current mix has been modified since the last recall of a preset mix. When working with preset mixes 1 through 4, bits 4, 5, 6, and 7 of this byte should be ignored.
Each VCA channel of the Advantage DRC 4+4 supports 64 volume "steps". Step number 0 (0x00) is the lowest volume setting (maximum attenuation) and step number 63 (0x3F) is the highest volume setting (unity gain; no attenuation). For mix[0] through
page 8 Computer Control of the Advantage DRC 4+4 2-Nov-06
Loading...
+ 21 hidden pages