User Manual DEV 1953
110 Copyright DEV Systemtechnik GmbH 2015-2017
5.8.3.2 Check Queue (Q)
The command for reading the change queue is issued in the form
hexadecimal: 02 XX XX 51 03 XX
content: <STX> <address> Q <ETX> <checksum>
e.g. for a device that is connected via Ethernet
hexadecimal: 02 46 46 51 03 50
content: <STX> <address=FF> Q <ETX> <checksum>
The change queue contains up to 8 changes on the switching status of the device
that were executed since the last Q command was issued. Only the last change will
be stored in the queue if more than one change is executed for a certain output
port. The ASCII byte (<chgs>) after "Q" in the positive response is the number of
changes that the queue contains in the range 0…8, i.e. 0x30…0x38. If no changes
are stored in the queue, this number is 0; if more than 8 changes have occurred
since the last Q command was issued, this number will not be valid and bit 3 of the
queue change flag (please refer to chapter 5.8.3.1) is set for the indication of an
overflow of the change queue. After the queue is checked via the Q command, the
queue and the queue change flag are cleared.
In the positive response to this command each change in the queue delivers 6 bytes
reporting the output port number and the input port number to which the output
port is currently connected to
("⌡" and "⌠" are symbolizing that the two consecutive lines are actually one line).
hexadecimal: 06 XX XX 51 XX XX XX XX ⌡
content: <ACK> <address> Q <chgs> <output=ooo
1
> ⌡
hexadecimal: ⌠XX XX XX (…) XX XX XX XX XX XX ⌡
content: ⌠<input=iii
1
> (…) <output=ooo
chgs
> <input=iii
chgs
> ⌡
hexadecimal: ⌠03 XX
content: ⌠<ETX> <checksum>
e.g. for a device that is connected via Ethernet with no changes
hexadecimal: 06 46 46 51 30 03 64
content: <ACK> <address=FF> Q 0 <ETX> <checksum>
and e.g. for a device that is connected via Ethernet with a single change (output
port 1 connected to input port 2)
hexadecimal: 06 46 46 51 31 30 30 31 ⌡
content: <ACK> <address=FF> Q 1 <output=001> ⌡
hexadecimal: ⌠30 30 32 03 66
content: ⌠<input=002> <ETX> <checksum>