Status and Events
TDS Family Oscilloscope Programmer Manual 3–5
Queues
The digitizing oscilloscope status and event reporting system contains two
queues: the Output Queue and the Event Queue.
The digitizing oscilloscope stores query responses in the Output Queue. It
empties this queue each time it receives a new command or query message after
an <EOM>. The controller must read a query response before it sends the next
command (or query) or it will lose responses to earlier queries.
WARNING. When a controller sends a query, an <EOM>, and a second query,
the digitizing scope normally clears the first response and outputs the second
while reporting a Query Error (QYE bit in the ESER) to indicate the lost
response. A fast controller, however, may receive a part or all of the first
response as well. To avoid this situation, the controller should always read the
response immediately after sending any terminated query message or send a
DCL (Device Clear) before sending the second query.
The Event Queue stores detailed information on up to 20 events. If more than 20
events stack up in the Event Queue, the 20th event is replaced by event code
350, “Too many events.”
Read the Event Queue with the EVENT? query (which returns only the event
number), with the EVMSG? query (which returns the event number and a text
description of the event), or with the ALLEV? query (which returns all the event
numbers along with a description of the event). Reading an event removes it
from the queue.
Before reading an event from the Event Queue, you must use the *ESR? query to
read the summary of the event from the SESR. This makes the events summa-
rized by the *ESR? read available to the EVENT? and EVMSG? queries, and
empties the SESR.
Reading the SESR erases any events that were summarized by previous *ESR?
reads but not read from the Event Queue. Events that follow an *ESR? read are
put in the Event Queue but are not available until *ESR? is used again.

The Output Queue

The Event Queue