Page 2
2. User Command Protocol.
2.1 Command Packet.
The command protocol is based around a simple delimited control packet, allowing easy
identification of command start and end. The packet includes a block parity byte increasing the
robustness of transmission; the packet format is shown in Figure 2.1.
>
(ASCII 62)
Command
Parameter
Parity
<
(ASCII 60)
Figure 2.1 Command Frame Format.
The command byte values are defined in the following section, and may or may not require a
parameter byte, for example data rate. The parity byte is an even block parity of all bytes (other
than itself), including the delimiters. Calculation for parity bit
n
is therefore the sum of each bit
n
using modulo 2 arithmetic.
For a command not requiring a parameter, an arbitrary dummy byte should be used. This can be
any value as the number is not processed other than in determining the parity of the command
packet.
Example.
The command set includes a test command (
for use from RS232 only
), value 37 (ASCII "%"). The
response to the command is to echo back the string "
Test command rxd ok n
", where n is the
value of the parameter byte. This may be checked from a terminal program by typing :
>%dC<
ie byte values 62, 37, 100, 67, 60
The parameter value is set at 100, so the parity byte is 62
⊕
37
⊕
100
⊕
60 = 67.
The microDAQ should reply with
"Test command rxd ok 100"
2.2 Acknowledgement.
A command packet is positively acknowledged if it is correctly formatted and the parity byte is
correct. A positive acknowledgement is denoted by the transmission of ASCII 42 ('*'), a negative
acknowledge indicating an invalid command by ASCII 33 ('!'). Recognised command values are
then acted upon, though unrecognised values are discarded.
2.3 User Commands.
The available user command set is summarised in Figure 2.2.
Command
(* DTC only)
Byte,
Char/
ASCII
Parameter
Description
Standby
S/83
None
Set all data streaming off.
Reset
R/82
None
Request a soft device reset - microDAQ is reinitialised.
Rezero
Z/90
None
Request a rezero, the number of samples as set in
microDAQSetup.
Derange *
D/68
None
Calibration is rebuilt with the appropriate deranging factor
applied, the DTC scanner deranging gain is switched into
circuit.