EasyManua.ls Logo

Keysight Technologies InfiniiVision 4000 X Series

Keysight Technologies InfiniiVision 4000 X Series
1762 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Status Reporting 41
Keysight InfiniiVision 4000 X-Series Oscilloscopes Programmer's Guide 1583
ARM_MASK = 1 << ARM_BIT
# Define armed criteria.
ARMED = 1 << ARM_BIT # 1 leftshift 7 = 128
# Test for armed.
STATUS_BYTE = int(KsInfiniiVisionX.read_stb())
ARMED_STATUS = STATUS_BYTE & ARM_MASK
# Note that you could also do:
# ARMED_STATUS = int(KsInfiniiVisionX.query("*STB?))
# BUT *STB? does not work with the blocking :DIGitize.
# Wait indefinitely until armed.
while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
STATUS_BYTE = int(KsInfiniiVisionX.read_stb())
ARMED_STATUS = STATUS_BYTE & ARM_MASK
print "Oscilloscope is armed (method 2, using Read STB function)!"
print "It took " + str(time.clock() - now) +\
" seconds to arm.\n"
# ====================================================================
# Method 3: Query the Operation Status Event Register with :OPER?
# --------------------------------------------------------------------
# This method reads the Operation Status Event Register's Wait Trig
# bit (bit 5) using the :OPER? query.
#
# The Operation Status Event Register bits are cleared (0) when the
# register is read.
#
# Also, the Wait Trig bit does NOT go low (0) when the oscilloscope
# becomes unarmed by starting or stopping another acquisition (before
# the first one finishes) or by changing the time scale.
#
# The Wait Trig bit is cleared by a *CLS command, by reading the
# Operation Status Event Register with the :OPER? query, or by reading
# the Armed Event Register regsiter with the :AER? query.
# ====================================================================
def method_3():
# Stop the oscilloscope.
KsInfiniiVisionX.query(":STOP;*OPC?")
# Method 3: Initiate capture using :SINGle
# ----------------------------------------------------------------
print "Acquiring signal (Method 3, using :SINGle)...\n"
now = time.clock()
# Clear all status registers before checking for new events.
KsInfiniiVisionX.write("*CLS")
# Because the :OPER? query will not work with :DIGitize (which is
# blocking), use the :SINGle command to start the acquisition.
KsInfiniiVisionX.write(":SINGle")

Table of Contents

Related product manuals