Status and Events
TLS 216 Programmer Manual
3–9
processing a single command at a time. This time could be spent doing other
tasks.
The controller can continue to write commands to the logic scope input buffer,
but the commands will not be processed by the logic scope until all operations in
process are complete. If the input buffer becomes full, the controller will be
unable to write more commands to the buffer. This can cause a time-out.
The BUSY? query allows you to determine whether the logic scope is busy
processing a command that has an extended processing time such as single-se-
quence acquisition.
The same command sequence using the BUSY? query for synchronization looks
like this:
/* Set up single-sequence acquisition */
SELECT:GROUP1 ON
GROUP1:FIRST 1
HORIZONTAL:RECORDLENGTH 500
ACQUIRE:MODE NORMAL SAMPLE
ACQUIRE:STOPAFTER SEQUENCE
/* Acquire waveform data */
ACQUIRE:STATE ON
/* Set up the measurement parameters */
MEASUREMENT:IMMED:TYPE AMPLITUDE
MEASUREMENT:IMMED:SOURCE CH1
/* Wait until the acquisition is complete before taking the measurement */
While BUSY? keep looping
/* Take amplitude measurement on acquired data */
MEASUREMENT:IMMED:VALUE?
This sequence lets you create your own wait loop rather than using the *WAI
command. The BUSY? query helps you avoid time-outs caused by writing too
many commands to the input buffer. The controller is still tied up, though, and
the repeated BUSY? query will result in more bus traffic.
If the corresponding status registers are enabled, the *OPC command sets the
OPC bit in the Standard Event Status Register (SESR) when an operation is
complete. You achieve synchronization by using this command with either a
serial poll or service request handler.
Serial Poll Method Enable the OPC bit in the Device Event Status Enable Register
(DESER) and the Event Status Enable Register (ESER) using the DESE and
Using the BUSY Query
Using the *OPC Command