Instruction Manual

27 Band Automatic Equalizer
SERIAL PORT COMMANDS AVAILABLE
The EQ1/EQ2 uses a modification of the typical one-to-one connection between two RS-232 compatible devices. The
EQ1/EQ2 has both an RS-232 transmitter and receiver section. The transmitter section is tri-stated, or placed in a
high impedance mode, until the particular device is addressed. To facilitate the simple parallel connection of multiple
devices on a single RS-232 port, an addressing scheme is employed to route commands from the host to the proper
device. When a device receives its address from the host computer, it temporarily turns on its RS-232 transmitter long
enough to send whatever data is requested by the host. In this way, multiple devices may drive a single transmit
signal back to the host, because only the addressed EQ1/EQ2 will turn on its transmitter.
Valid address values are 128-254 (80h-FEh). 255 (FFh) is an invalid address and must not be used. Because the
EQ1/EQ2 will interpret any single data byte whose value is greater than 127 as an address, single byte data (as
opposed to addresses) sent from the host must be in the range of 0-127. If a data value needs to be output that
exceeds 127, two bytes are output such that the first byte is the lower 7 bits of the 8 bit value, and the second byte is
1 if the MSB of the data byte is 1, or 0 if the MSB of the data byte is 0.
Each EQ1/EQ2 command must be preceded by the address of the device to be controlled. If a device with the
requested address exists on the system, it will respond by sending a 0' back to the host. The following code frag-
ment, in BASIC, would be used to get an Acknowledge name string back from an EQ1/EQ2:
OPEN COM1:9600,N,8,1 FOR RANDOM AS #1 LEN = 256 Open com port, 1 for 9600 baud, no parity, 8
data bits, 1 stop bit.
...
...
...
PRINT #1, CHR$(131); Output the device address.
DataByte% = ASC(INPUT$(1, #1)) Receive 0 byte. The ASC function is used to
convert the received string data to numeric
data.
PRINT #1, CHR$(1); Output the Acknowledge command.
DataByte% = ASC(INPUT$(1,#1)) Receive the length of the acknowledge string
(3 for the EQ1/EQ2).
Name$ = INPUT$(DataByte%,#1) Receive the name string (EQ1/EQ2)
The first PRINT and INPUT$ sequence must precede
every command sent, even if the command is sent to the same
EQ1/EQ2 as the previous command. The following is a listing of available commands grouped based on the EQ1/
EQ2 function to which the commands are related. The word Host in the command descriptions means the IBM PC
or compatible to which the EQ1/EQ2 is connected.
There are several status flags that may be set by the host computer. Those flag commands that store the new value
in EEPROM will continue to have the new value even if the power to the EQ1/EQ2 is turned off.
Rio Rancho, NM USA
11