This document contains technical information relating to computer control of the Biamp
Advantage EQ282/8 dual channel digitally controlled graphic equalizer. The command
set described in this manual also applies to the Advantage EQ281/8 (which is a single
channel version of the EQ282/8) and the Advantage SMS200 Sound Masking System
(which is an EQ281/8 with internal pink noise generator).
This information is intended for advanced users - in particular for those who wish to
develop their own computer programs to control these equalizers. 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 EQ282/8 does not utilize standard ASCII-hex format. The EQ282/8
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.
21-Jul-97
Computer Control of the Advantage EQ282/8, EQ281/8, SMS200page 1
A binary/decimal/hexadecimal/pseudo-hex conversion chart is included at the end of this
manual for your convenience.
Data Communications Parameters
The Advantage EQ282/8 has a rear-panel dip-switch which allows you to set its baud rate
to either 2400, 9600, or 19200 bits per second. The factory default setting is 9600. The
EQ282/8 communicates with 8 data bits, no parity, and 1 stop bit. The EQ282/8 utilizes a
subset of the standard 7-bit ASCII character set.
The Advantage EQ282/8 utilizes interrupt-driven communications firmware with a 32character receive buffer. When the EQ282/8 receives a command, it may become “busy”
for as long as 250 milliseconds while it is executing the command. During this time, the
EQ282/8 can successfully receive up to 32 additional characters. If more than 32
characters are sent to the EQ282/8 while it is busy executing a command, its input buffer
will be overrun and some characters will be “lost”.
To avoid overrunning the Advantage EQ282/8’s input buffer, it is recommended that
some form of flow control be implemented. Neither hardware (DTR or RTS) nor
XON/XOFF (also known as DC1/DC3 or control-S/control-Q) handshaking is supported
by the EQ282/8. However, each character which the EQ282/8 receives through its serial
port will be "echoed" back to the computer. A simple form of flow control may be
implemented by simply waiting for each character's echo from the EQ282/8 before
transmitting the next character, since the EQ282/8 doesn't retrieve and echo an incoming
character until it has finished processing the previous character.
Computer Control
The Advantage EQ282/8 has an RS-232-compatible serial port which allows it to be
controlled by a computer or by a system controller such as those provided by AMX or
Crestron. The EQ282/8 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 Biamp remote control.
These ASCII characters are transmitted from the computer to the EQ282/8’s serial
port. In order to use Control Button Emulation with an EQ282/8, you must first use
Biamp’s Windows 95-based PC Control Software Package to establish “button”
definitions for the device. Control Button Emulation is simple to perform, however, it
only provides "one-way" control of the EQ282/8 - it allows the computer to send
simple commands to the EQ282/8, but it does not provide any mechanism for
requesting status information from the EQ282/8.
page 2Computer Control of the Advantage EQ282/8, EQ281/8, SMS200
21-Jul-97
•Advanced Computer Control. This method of computer control provides advanced
commands which allow "two-way" control of the Advantage EQ282/8. 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 Advantage EQ282/8 using the Advantage EQ282/8’s serial port.
Control Button Emulation
Control Button Emulation is the simplest form of computer control of the Advantage
EQ282/8. This method of operation allows the computer to emulate the operation of a
standard Biamp remote control transmitter. This may seem a little strange since, unlike
most of Biamp’s other computer-controlled products, the EQ282/8 does not actually have
a remote control port. However, the EQ282/8 still implements control button emulation
for situations where the EQ282/8 is linked (via serial port) to other Biamp products which
do have remote control capability.
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 Advantage EQ282/8’s serial port. Each character
received by the EQ282/8 will be echoed back to the computer.
The following table summarizes the ASCII character codes for Control Button Emulation
corresponding to each of the 40 remote control buttons supported by the Advantage
EQ282/8. These button codes are also summarized on the ASCII code chart provided at
the end of this manual. 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. When the EQ282/8 is shipped from the factory, all remote control
button definitions are set to “nop” (no operation) - in order for Control Button Emulation
to be useful, you must first use Biamp’s PC software to create some button definitions
which actually do something (recall preset curves, for example).
Computer Control of the Advantage EQ282/8, EQ281/8, SMS200page 3
Device Select Prefix Characters
When using Advanced Computer Control, up to sixty-four Advantage EQ282/8s may be
linked together and individually controlled by the computer (a rear-panel dip-switch is
used to set a unique device number to each unit). When using Control Button Emulation,
a limited subset of device addressing may be performed, which allows individual control of
up to four Advantage EQ282/8s (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
Advantage EQ282/8s 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 4Computer Control of the Advantage EQ282/8, EQ281/8, SMS200
21-Jul-97
Advanced Computer Control
The Advanced Computer Control command set includes commands which allow the
Advantage EQ282/8 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:
)
recall-presetrecall a preset equalization curve
*
get-statusretrieve the status indicating which presets are currently selected
/
get-versionretrieve the model information and firmware version date
Each Advanced Computer Control command requires at least two parameter bytes (four
pseudo-hex characters) 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 Advantage EQ282/8 to return information to the
computer. For each string of information returned to the computer, the EQ282/8
terminates the string by transmitting the ASCII carriage return character (0x0D represented in this document as ↵ ).
As mentioned earlier, the Advantage EQ282/8 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
EQ282/8 utilizes a subset of the standard ASCII character set. The following characters
have meaning to the Advantage EQ282/8:
characterhexadecimaloperation
ASCII control characters(0x00 - 0x1F)no operation
SPACE
ASCII
!
thru
0
thru
@
A
B
thru
a
b
thru
k
thru
{
thru
0x80 thru 0xFF(0x80 - 0xFF)RESERVED
character
/
?
`
j
z
DEL
(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 Advantage EQ282/8 commands and codes is provided
at the end of this document for your convenience. Please note that all ASCII control
21-Jul-97
Computer Control of the Advantage EQ282/8, EQ281/8, SMS200page 5
characters (including space, tab, carriage return, and line feed) will be echoed by the
Advantage EQ282/8 and then ignored - they have no special significance to the EQ282/8.
Device Type Bitmask and Device Number Parameters
In a system which has more than one Advantage product connected to the computer, the
Device Type Bitmask and Device Number parameters provide a mechanism for the
computer to address a command to 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 be transmitted as the last two parameter bytes before
the computer transmits the command character itself. These two parameter 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 command
parameters will ignore the command.
The Device Type Bitmask parameter byte for the Advantage EQ282/8 is always 0x80.
This Device Type Bitmask is also shared with other Biamp devices, including the
Advantage EQ281/8, Advantage SMS200, and Advantage DRI. It is anticipated that all
new devices developed by Biamp will utilize 0x80 as their Device Type Bitmask. Other
Device Type Bitmasks currently in use are:
The Device Number parameter byte provides support for up to sixty-four devices,
numbered 0 thru 63 (‘00’ thru ‘3?’ in pseudo-hex). The Advanced Computer Control
command structure also supports a “broadcast” command, which allows you to send a
command to all devices which match the Device Type Bitmask. To send a “broadcast”
command, specify 255 (‘??’ in pseudo-hex) as the Device Number parameter.
Each Advantage EQ282/8’s device number is assigned using rear-panel dip-switches.
Except for broadcast commands, any particular EQ282/8 will respond to an Advanced
Computer Control command only if bit 7 of the Device Type Bitmask is a ‘1’ and the
Device Number parameter matches its dip-switch settings.
page 6Computer Control of the Advantage EQ282/8, EQ281/8, SMS200
21-Jul-97
) recall-preset
Description:
The recall-preset command causes the Advantage EQ282/8 to recall a preset equalization
curve for one or both channels. Each preset eq curve includes the high-pass filter corner
frequency setting, the gain settings for all 28 1/3-octave filter bands, the low-pass filter
corner frequency setting, and the signal level control setting. For the SMS200, each
preset eq curve also includes the pink-noise level control setting.
> = recall prior channel 1 preset
80=Device Type Bitmask (pseudo-hex)
dd=Device Number (pseudo-hex)
)=recall-preset command character (0x29)
Syntax of Response:
(no response)
Example:
578001)
This example causes Advantage EQ282/8 number 1 to recall preset eq curve 5 for channel
2 and recall preset eq curve 7 for channel 1.
Comments:
For the Avantage EQ281/8 and SMS200 (which are both single-channel devices) always
specify ‘0’ (no operation) for channel 2.
The typical execution time for the recall-preset command is 125 milliseconds when
recalling a preset for one channel and 250 milliseconds when recalling a preset for both
channels.
21-Jul-97
Computer Control of the Advantage EQ282/8, EQ281/8, SMS200page 7
* get-status
Description:
The get-status command causes the Advantage EQ282/8 to return its model identifier and
the preset number of the currently selected preset for each channel.
Syntax of Command:
0080dd*
where:
00=command specifier
80=Device Type Bitmask (pseudo-hex)
dd=Device Number (pseudo-hex)
*=get-status command character (0x2A)
Syntax of Response:
xxab↵
where:
xx=Model Identifier: ‘0:’ = EQ282/8,
‘0;’ = EQ281/8, ‘0<’ = SMS200
a=Currently selected preset for channel 2
b=Currently selected preset for channel 1
Example:
command:
008001*
response:
0:57↵
This example causes device number 1 to return its model identifier and preset status. In
this example, the device identifies itself as an Advantage EQ282/8 with preset 5 selected
for channel 2 and preset 7 selected for channel 1.
Comments:
page 8Computer Control of the Advantage EQ282/8, EQ281/8, SMS200
21-Jul-97
/ get-version
Description:
The get-version command causes the device to return its model identifier code and
firmware version to the computer. The model identifier code is ‘0:’ for the Advantage
EQ282/8, ‘0;’ for the EQ281/8, and ‘0<’ for the SMS200. The firmware version number
is simply the release date of the firmware, in the format of mmddyy. These date values are
decimal digits, not pseudo-hex notation. For example, December 31, 1997 would be
represented as 123197.
Syntax of Command:
0080dd/
where:
00=‘00’ (command specifier)
80=Device Type Bitmask (pseudo-hex)
dd=Device Number Bitmask (pseudo-hex)
/=get-version command character (0x2F)
Syntax of Response:
xxmmddyy↵
where:
xx=Model Identifier
mm=2-digit decimal month number
dd=2-digit decimal day of the month
yy=2-digit decimal year number
Example:
command:
008001/
response:
0:070297↵
This example causes device number 1 to return its model I.D. and firmware version. In
this example, device number 1 is an Advantage EQ282/8 and its firmware version date is
July 2, 1997.
21-Jul-97
Computer Control of the Advantage EQ282/8, EQ281/8, SMS200page 9
.
ASCII Code Chart
with Decimal & Hexadecimal Equivalents and Advantage EQ282/8 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
0x11
copy preset
0x12
get-gain
0x13
set-gain
0x14
set-flat
0x15
get-curve
0x16
set-curve
0x17
echo-char
0x18
button def
0x19
recall-preset
0x1A
get-status
0x1B
sleep 10 sec.
0x1C
read memory
0x1D
write memory
0x1E
set defaults
0x1F
get version
032.
0x20
(space)
033.
0x21
!
034.
0x22
"
035.
0x23
#
036.
0x24
$
037.
0x25
%
038.
0x26
&
039.
0x27
'
040.
0x28
(
041.
0x29
)
042.
0x2A
*
043.
0x2B
+
044.
0x2C
,
045.
0x2D
-
046.
0x2E
.
047.
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.
P
button 15
081.
Q
button 16
082.
R
button 17
083.
S
button 18
084.
T
button 19
085.
U
button 20
086.
V
button 21
087.
W
button 22
088.
X
button 23
089.
Y
button 24
090.
Z
button 25
091.
[
button 26
092.
\
button 27
093.
]
button 28
094.
^
button 29
095.
_
button 30
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.
0x71
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
page 10Computer Control of the Advantage EQ282/8, EQ281/8, SMS200