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
Page 3
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
Page 4
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.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 3
Page 5
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.
page 4 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 6
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
Page 7
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:
page 6 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 8
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
Page 9
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
Page 10
mix[7] of the Preset Mix Data Structure, the low-order six bits indicate which volume
step the VCA channel is set at. When a VCA channel is muted, the most-significant-bit
of its data byte (bit 7) is set to a '1' - the six least significant bits indicate what volume
step the VCA channel will return to once that channel is un-muted.
Button Definition Data Structure
The DRC 4+4 maintains data structures for 41 buttons (button 0 thru button 40). Each
button definition data structure consists of five bytes (which are transmitted as 10
pseudo-hex characters). These five bytes indicate all of the preset, volume, and logic
actions which are assigned to a particular button.
DRC 4+4 Button Definition Data Structure
5-byte array with elements numbered button[0] thru button[4]
(reserved)
(reserved)
(reserved)
single pulse 2 1/2 seconds
single pulse 1 second
single pulse 1/2 second
single pulse 1/4 second
single pulse 1/5 second
single pulse 1/10 second
single pulse 1/20 second
repeating pulse 1/20 second
pushbutton/momentary on
toggle/filp-flop
turn on
turn off
NOP (no operation)
000
PRESET
NUMBER
Volume
Action Codes
1 1
1 0
0 1
0 0
Preset
Action Codes
1 1
1 0
0 1
0 0
01234567
LOGIC
OUTPUT
ACTIONS
VOLUME
ACTIONS
PRESET
ACTION
toggle mute
volume up
volume down
NOP (no operation)
(reserved)
store preset
recall preset
NOP (no operation)
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 9
Page 11
Advanced Computer Control Command Notation
For the following descriptions of the Advanced Computer Control command set, the
following conventions will be used. Each ASCII character which represents a pseudohex nibble will be shown in italics, with the following letters representing certain types
of parameters:
b one of the pseudo-hex nibbles occurring in the button definition data structure.
d one of the pseudo-hex nibbles in the device number bitmask
device numbers should accept the following command.
l a pseudo-hex nibble specifying a logic action code
m one of the pseudo-hex nibbles occurring in the preset mix data structure
n a pseudo hex nibble specifying a button, logic output, VCA channel, or preset mix
number
p a pseudo-hex nibble specifying a preset action code
v a pseudo-hex nibble specifying a volume action code
x a pseudo-hex nibble specifying a generic data value
.
.
.
.
.
which indicates which
.
page 10 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 12
! virtual-button
Description:
The virtual-button command causes the specified preset, volume, and logic output actions
to be immediately performed. The actions are defined using the Button Definition Data
Structure. The button definition is not stored in the DRC 4+4's nonvolatile memory, nor
is the button definition associated with a button number. Normally, when the DRC 4+4
receives a control button command, it looks-up the control button definition for that
button number in its control button definition table and then performs the actions defined
for that button. The virtual-button command allows the computer to specify the actions
to be performed without having the DRC 4+4 look-up an entry in its control button
definition table. This command essentially provides the DRC 4+4 (when under computer
control) with an unlimited number of button definitions.
Syntax of Command:
bbbbbbbbbb01dd!
where:
bbbbbbbbbb= Button Definition Data Structure (pseudo-hex)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
! = virtual-button command character (0x21)
Syntax of Response:
(no response)
Example:
:002?000130105!
This example causes DRC 4+4 numbers 1 and 3 to both immediately recall preset mix
number 3, toggle the mute status for VCA channels 7 and 8, turn on logic output number
1, and activate a 1/2 second pulse on logic output number 4.
Comments:
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 11
Page 13
" get-button-definition
Description:
The get-button-definition command causes the DRC 4+4 to return the definition of the
specified button. The button definition will be returned in the Button Definition Data
Structure format.
Syntax of Command:
nn01dd"
where:
nn= Button Number (pseudo-hex)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
" = get-button-definition command character (0x22)
Syntax of Response:
bbbbbbbbbb↵
where:
bbbbbbbbbb= Button Definition Data Structure (pseudo-hex)
Example:
command:
1;0101"
response:
:002?00013↵
This example causes DRC 4+4 number 1 to retrieve its button definition for control
button number 27 (0x1B) and return it to the computer. In this example, the button
definition was: recall mix number 3, toggle the mute status for VCA channels 7 and 8,
turn on logic output number 1, and activate a 1/2 second pulse on logic output number 4.
Comments:
Button number must be 00 to 40 (0x00 to 0x28), otherwise the command will be ignored.
page 12 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 14
# define-button
Description:
The define-button command provides a new definition for the specified button number.
The DRC 4+4 will store this new button definition in its control button definition lookup
table, replacing the definition that was there.
Syntax of Command:
bbbbbbbbbbnn01dd#
where:
bbbbbbbbbb= Button Definition Data Structure (pseudo-hex)
nn= Button Number (pseudo-hex)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
#= define-button command character (0x23)
Syntax of Response:
(no response)
Example:
0502?00013140108#
This example causes DRC 4+4 number 4 to redefine button number 20 (0x14) to recall
preset mix number 3, toggle the mute status for VCA channels 7 and 8, turn on logic
output number 1, and activate a 1/20 second pulse on logic output number 3.
Comments:
Button number must be 00 to 40 (0x00 to 0x28), otherwise the command will be ignored.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 13
Page 15
$ do-button
Description:
The do-button command causes the DRC 4+4 to look-up and perform the actions for the
specified button number.
Syntax of Command:
nn01dd$
where:
nn= Button Number (pseudo-hex)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
$= do-button command character (0x24)
Syntax of Response:
(no response)
Example:
28010?$
This example causes DRC 4+4 numbers 1, 2, 3, and 4 to look-up and perform the actions
defined in their respective control button definition tables for button number 40 (0x28).
Comments:
Button number must be 01 to 40 (0x01 to 0x28), otherwise the command will be ignored.
page 14 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 16
% get-preset-mix-settings
Description:
The get-preset-mix-settings command causes the DRC 4+4 to return the settings of the
specified preset mix. The preset mix settings will be returned in the Preset Mix Data
Structure format. Mix 00 is the power-up mix (which is the periodically-stored current
mix). Mix 05 is the current mix.
Syntax of Command:
nn01dd%
where:
nn= Preset Mix Number (pseudo-hex)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
%= get-preset-mix-settings command character (0x25)
Syntax of Response:
mmmmmmmmmmmmmmmmmm↵
where:
mmmmmmmmmmmmmmmmmm = Preset Mix Data Structure (pseudo-hex)
Example:
command:
020101%
response:
003?3?000000000000↵
This example causes DRC 4+4 number 1 to retrieve its settings for preset mix number 2.
In this example, preset mix number 2 was defined with all logic outputs off, VCA
channels 7 and 8 at maximum volume, and VCA channels 1 through 6 at minimum
volume.
Comments:
The preset mix number must be in the range of 00 through 05.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 15
Page 17
& define-preset-mix
Description:
The define-preset-mix command provides a new definition for the specified preset mix.
Preset mix 00 is the power-up mix (which is the periodically-stored current mix). Preset
mix numbers 05 and 06 both refer to the current mix. If either preset mix 05 or 06 is
specified, the mix definition immediately becomes active. If preset mix 05 is specified,
the DRC 4+4 will save the current mix as the power-up mix after 5 seconds of inactivity.
If preset mix 06 is specified, this command will not trigger the saving of the current mix
as the power-up mix. In order to extend the life of the DRC 4+4's nonvolatile memory, if
this command is used frequently to set the current mix, it is recommended that mix 06 be
specified, not mix 05.
Syntax of Command:
mmmmmmmmmmmmmmmmmmnn01dd&
where:
mmmmmmmmmmmmmm = Preset Mix Data Structure (pseudo-hex) nn= Preset Mix Number (pseudo-hex)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
&= define-preset-mix command character (0x26)
Syntax of Response:
(no response)
Example:
00003?003?003?003?040101&
This example causes DRC 4+4 number 1 to redefine its preset mix number 4 to have all
logic outputs off, VCA channels 1, 3, 5, and 7 at maximum volume and VCA channels 2,
4, 6, and 8 at minimum volume.
Comments:
Behavior of the logic outputs will be dependent upon the global configuration parameters
Logic-Follow-Mute and Logic-To-Presets (refer to DRC 4+4 Operator's Guide).
page 16 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 18
' do-preset-action
Description:
The do-preset-action command causes the DRC 4+4 to perform the specified preset
action (recall a preset mix or store the current mix to a preset).
Syntax of Command:
pn01dd'
where:
p = Preset Action:
0 = NOP (no operation), 1 = recall, 2 = store.
n= Preset Number (1 through 4)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
' = do-preset-action command character (0x27)
Syntax of Response:
(no response)
Example:
13010='
This example causes DRC 4+4 numbers 1, 3, and 4 to recall preset mix number 3.
Comments:
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 17
Page 19
( do-volume-action
Description:
The do-volume-action command causes the DRC 4+4 to perform the specified volume
action (volume up, volume down, or toggle mute) for the specified VCA channel.
Syntax of Command:
vn01dd(
where:
v = Volume Action:
0 = NOP, 1 = vol down, 2 = vol up, 3 = toggle mute,
4 = reserved (set-volume), 5 = un-mute, 6 = mute.
n= VCA Channel Number (1 through 8)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
( = do-volume-action command character (0x28)
Syntax of Response:
(no response)
Example:
270101(
This example causes DRC 4+4 number 1 to increase the volume of VCA channel 7 by
one step.
Comments:
Performing a volume up action on a muted VCA channel causes that channel to un-mute.
Performing a volume down action on a muted VCA channel decreases the volume setting
which the VCA channel will return to when it is un-muted by one step. Commands to
increase the volume when it has already reached maximum (or to decrease the volume
when it has already reached minimum) will be ignored. The un-mute and mute volume
actions (action codes 5 and 6) are not implemented in firmware versions prior to 10:23:96
(October 23, 1996).
page 18 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 20
( set-volume
Description:
The set-volume command causes the DRC 4+4 to set the specified VCA channel to a new
volume level. The volume level is a 6-bit value which ranges from 0x00 (step 0 minimum volume) to 0x3F (step 63 - maximum volume). Bit 7 of the volume byte
indicates whether or not that particular VCA should be muted. When bit 7 indicates that
the fader should be muted (bit 7 = '1'), the 6 least significant bits (bits 0 - 5) indicate the
volume level which will be restored by the DRC 4+4 if that VCA subsequently becomes
un-muted.
Syntax of Command:
xx4n01dd(
where:
xx= Volume level (pseudo-hex)
4 = set-volume action code
n= VCA Channel Number (1 through 8)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
( = set-volume command character (0x28)
Syntax of Response:
(no response)
Example:
2?470101(
This example causes DRC 4+4 number 1 to set VCA channel 7 to approximately 75% of
full volume (volume step 47, 2? in pseudo-hex).
Comments:
This command is not implemented in firmware versions prior to 08:23:95 (August 23,
1995). This is a variation of the do-volume-action command, and hence has the same
command character as the do-volume-action command.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 19
Page 21
) do-logic-action
Description:
The do-logic-action command causes the DRC 4+4 to perform the specified logic action
for the specified logic output.
Syntax of Command:
ln01dd)
where:
l = Logic Action:
0 = NOP, 1 = turn off, 2 = turn on, 3 = toggle,
4 = reserved, 5 = reserved, 6 = 1/20 second pulse,
7 = 1/10 second pulse, 8 = 1/5 second pulse,
9 = 1/4 second pulse, : = 1/2 second pulse,
; = 1 second pulse, < = 2.5 second pulse.
n= Logic Output Number (1 through 4)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
) = do-logic-action command character (0x29)
Syntax of Response:
(no response)
Example:
;30101)
This example causes DRC 4+4 to initiate a 1-second pulse on logic output number 3. In
other words, the DRC 4+4 will immediately turn on logic output 3 (if it is not already on)
and then, 1 second later, it will turn off logic output 3.
Comments:
page 20 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 22
* activate-global-config-params
Description:
The activate-global-config-params command causes the DRC 4+4 to retrieve its global
configuration parameters from the non-volatile EEPROM memory and "activate" them.
The global configuration parameters are stored in non-volatile memory in the form of a
button definition (button number 00). In order to make a change to one or more global
configuration parameters, the computer must first issue the define-button command with
a new definition for button number 00, which stores the new button definition in the nonvolatile memory. The computer must then issue the activate-global-config-params
command to tell the DRC 4+4 to activate the newly defined global configuration
parameters.
Syntax of Command:
01dd*
where:
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
*= activate-global-config-params command char (0x2A)
Syntax of Response:
(no response)
Example:
0101*
This example causes DRC 4+4 number 1 to retrieve its global configuration parameters
from button number 00's definition and activate them.
Comments:
This command was implemented beginning with firmware version 01:27:94 (January 27,
1994). A DRC 4+4 with firmware prior to 01:27:94 will ignore this command and will
only retrieve and activiate its configuration parameters during its power-up initialization
procedure.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 21
Page 23
+ sleep-for-10-seconds
Description:
The sleep-for-10-seconds command causes the DRC 4+4 to "go to sleep" for 10 seconds,
ignoring all data communications, including Control Button commands as well as
Advanced Computer Control commands. During this time, characters received will be
ignored and will not be echoed. Also, during this time, all remote control devices will be
ignored. This command was implemented to facilitate remote computer control of the
DRC 4+4 via modem (with an auto-answer modem at the DRC 4+4). When an on-line
session with a modem is finished and one modem or the other decides to disconnect or
"hang up the phone", typically a spurt of unwanted spurious garbage characters occurs on
the line. The DRC 4+4 has no way of distinguishing between "garbage" characters and
real characters. The last thing the computer should do before telling its modem to hang
up is to issue the sleep-for-10-seconds command. This will allow plenty of time for the
line to disconnect and the DRC 4+4 will ignore all characters which it might receive
during this hang-up process.
Syntax of Command:
01dd+
where:
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
+= sleep-for-10-seconds command character (0x2B)
Syntax of Response:
(no response)
Example:
????+
This example causes all Advantage devices in the system to sleep for 10 seconds,
ignoring all data communications.
Comments:
Note that the command character '+' is typically also the character used to return a Hayescompatible modem to its command mode.
page 22 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 24
, disable-control-buttons
Description:
The disable-control-buttons command causes the DRC 4+4 to ignore all Control Button
commands for 2.5 seconds or until the next enable-control-buttons command is received,
whichever occurs first. During the time that Control Button commands are disabled, the
characters in the range of @ through z (0x40 - 0x7A) will be echoed, if received, but
otherwise will be ignored. This disables all remote control devices (infrared transmitters
and wall-mount remote control panels) as well as disabling the computer's Control Button
Emulation mode of operation (however, the computer could still initiate Control Button
actions during this time by issuing the virtual-button or do-button Advanced Computer
Control commands). This command was implemented to provide the computer with a
window of time in which it could perform commands without interference from remote
controls. This may be essential when performing read-modify-write type operations on
some of the DRC 4+4's data structures (for example, the current mix settings). A time
limit of 2.5 seconds was provided to prevent a spurious or unwanted disable-controlbuttons command from "locking-up" the DRC 4+4 indefinitely.
Syntax of Command:
01dd,
where:
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
, = disable-control-buttons command character (0x2C)
Syntax of Response:
(no response)
Example:
0101,
This example causes DRC 4+4 number 1 to ignore Control Button Commands for 2.5
seconds or until an enable-control-buttons command is received, whichever occurs first.
Comments:
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 23
Page 25
- enable-control-buttons
Description:
The enable-control-buttons command causes the DRC 4+4 to stop ignoring all Control
Button Commands. This command is used in conjunction with the disable-controlbuttons command.
Syntax of Command:
01dd-
where:
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
- = enable-control-buttons command character (0x2D)
Syntax of Response:
(no response)
Example:
0101-
This example causes DRC 4+4 number 1 to stop ignoring Control Button Commands.
Comments:
Refer to the description of the disable-control-buttons command for more details.
page 24 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 26
. set-factory-defaults
Description:
The set-factory-defaults command causes the DRC 4+4 to restore its button definitions
for buttons number 01 through 40 to their factory default definitions. Once initiated, this
command takes several seconds to execute. This command only restores the control
button definitions. It does not
restore the button definition for the pseudo-button number
00, which holds certain global setup parameters (such as the device number and global
logic modes, among other things). If the computer wishes to restore the button 00
definition to its factory default, the computer may issue the define-button command (with
the appropriate parameters). This command does not restore the preset mixes to their
factory default conditions (all channels un-muted, minimum volume, logic outputs off).
The first two parameters for this command (< and >) are dummy parameters which were
implemented to help prevent an accidental restoration of the factory defaults due to an
error in data transmission.
Syntax of Command:
<>01dd.
where:
<= the ASCII character < (0x3C)
>= the ASCII character > (0x3E)
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
. = set-factory-defaults command character (0x2E)
Syntax of Response:
(no response)
Example:
<>010?.
This example causes DRC 4+4 numbers 1, 2, 3, and 4 to restore their Control Button
definitions to the factory default settings.
Comments:
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 25
Page 27
/ get-version
Description:
The get-version command causes the DRC 4+4 to return its model identifier code and
firmware version to the computer. The firmware version number is simply the release
date of the firmware, in a slightly modified standard American format of mm:dd:yy.
These values are decimal digits, not pseudo-hex notation. For example, December 31,
1993 would be represented as 12:31:93. The colon character (:) is used as a separator
instead of the more conventional slash character, since the slash character is used as a
computer command character by the DRC 4+4.
Syntax of Command:
01dd/
where:
01 = Device Type Bitmask (pseudo-hex)
dd= Device Number Bitmask (pseudo-hex)
/= get-version command character (0x2F)
Syntax of Response:
01 mm:dd:yy↵
where:
01 = model I.D. (0x30 followed by 0x31)
= ASCII space character (0x20)
mm= 2-digit decimal month number
: = ASCII character : (0x3A)
dd= 2-digit decimal day of the month
: = ASCII character : (0x3A)
yy= 2-digit decimal year number
Example:
command:
0101/
response:
01 08:24:95↵
This example causes DRC 4+4 number 1 to return its model I.D. and firmware version.
page 26 Computer Control of the Advantage DRC 4+4 2-Nov-06
Page 28
Advanced Computer Command Summary
bbbbbbbbbb01dd! virtual-button
nn01dd" get-button-definition
bbbbbbbbbbnn01dd#define-button
nn01dd$do-button
nn01dd%get-preset-mix-settings
mmmmmmmmmmmmmmmmmmnn01dd&define-preset-mix
pn01dd' do-preset-action
vn01dd( do-volume-action
xx4n01dd( set-volume
ln01dd) do-logic-action
01dd*activate-global-config-params
01dd+sleep-for-10-seconds
01dd, disable-control-buttons
01dd- enable-control-buttons
<>01dd. set-factory-defaults
01dd/get-version
b one of the pseudo-hex nibbles occurring in the button definition
d one of the pseudo-hex nibbles in the device number bitmask
device numbers should accept the following command.
l a pseudo-hex nibble specifying a logic action code
m one of the pseudo-hex nibbles occurring in the preset mix data structure
n a pseudo hex nibble specifying a button, logic output, VCA channel, or preset mix
number.
p a pseudo-hex nibble specifying a preset action code
v a pseudo-hex nibble specifying a volume action code
x a pseudo-hex nibble specifying a generic data value
.
.
.
.
data structure.
which indicates which
.
2-Nov-06 Computer Control of the Advantage DRC 4+4 page 27
Page 29
.
ASCII Code Chart
with Decimal & Hexadecimal Equivalents and Advantage DRC 4+4 Commands
000.
001.
002.
003.
004.
005.
006.
007.
008.
009.
010.
011.
012.
013.
014.
015.
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
SI
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F
016.
017.
018.
019.
020.
021.
022.
023.
024.
025.
026.
027.
028.
029.
030.
031.
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
0x10
032.
(space)
0x11
033.
virtual button
0x12
034.
get button
0x13
035.
define button
0x14
036.
do button
0x15
037.
get preset
0x16
038.
define preset
0x17
039.
do preset
0x18
040.
do volume
0x19
041.
do logic
0x1A
042.
(reserved)
0x1B
043.
sleep 10 sec.
0x1C
044.
disable buttons
0x1D
045.
enable buttons
0x1E
046.
set defaults
0x1F
047.
get version
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0x20
0x21
0x22
0x23
0x24
0x25
0x26
0x27
0x28
0x29
0x2A
0x2B
0x2C
0x2D
0x2E
0x2F
048.
0
nibble 0x0
049.
1
nibble 0x1
050.
2
nibble 0x2
051.
3
nibble 0x3
052.
4
nibble 0x4
053.
5
nibble 0x5
054.
6
nibble 0x6
055.
7
nibble 0x7
056.
8
nibble 0x8
057.
9
nibble 0x9
058.
:
nibble 0xA
059.
;
nibble 0xB
060.
<
nibble 0xC
061.
=
nibble 0xD
062.
>
nibble 0xE
063.
?
nibble 0xF
0x30
0x31
0x32
0x33
0x34
0x35
0x36
0x37
0x38
0x39
0x3A
0x3B
0x3C
0x3D
0x3E
0x3F
064.
@
repeat code
065.
A
066.
B
button 01
067.
C
button 02
068.
D
button 03
069.
E
button 04
070.
F
button 05
071.
G
button 06
072.
H
button 07
073.
I
button 08
074.
J
button 09
075.
K
button 10
076.
L
button 11
077.
M
button 12
078.
N
button 13
079.
O
button 14
0x40
0x41
0x42
0x43
0x44
0x45
0x46
0x47
0x48
0x49
0x4A
0x4B
0x4C
0x4D
0x4E
0x4F
080.
button 15
081.
button 16
082.
button 17
083.
button 18
084.
button 19
085.
button 20
086.
button 21
087.
button 22
088.
button 23
089.
button 24
090.
button 25
091.
button 26
092.
button 27
093.
button 28
094.
button 29
095.
button 30
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
0x50
0x51
0x52
0x53
0x54
0x55
0x56
0x57
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
096.
`
button 31
097.
a
098.
b
button 32
099.
c
button 33
100.
d
button 34
101.
e
button 35
102.
f
button 36
103.
g
button 37
104.
h
button 38
105.
i
button 39
106.
j
button 40
107.
k
select none
108.
l
select 1
109.
m
select 2
110.
n
select 1,2
111.
o
select 3
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
112.
0x70
p
select 1,3
113.
q
select 2,3
114.
0x72
r
select 1,2,3
115.
0x73
s
select 4
116.
0x74
t
select 1,4
117.
0x75
u
select 2,4
118.
0x76
v
select 1,2,4
119.
0x77
w
select 3,4
120.
0x78
x
select 1,3,4
121.
0x79
y
select 2,3,4
122.
0x7A
z
select 1,2,3,4
123.
0x7B
{
124.
125.
0x7C
0x7D
}
126.
0x7E
~
127.
0x7F
DEL
0x71
page 28 Computer Control of the Advantage DRC 4+4 2-Nov-06