Serial port commands available – Lectrosonics EQ1_EQ2 User Manual

Page 11

Advertising
background image

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

Advertising