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...
Synchronizing Acquisitions 42
Keysight InfiniiVision 4000 X-Series Oscilloscopes Programmer's Guide 1607
N_SEGMENTS = \
float(KsInfiniiVisionX.query(":ACQuire:SEGMented:COUNt?"))
# Note that if there are a lot of analysis associated segments,
# for example, serial data decode, the timeout will likely need
# to be longer than calculated.
#
# You are encouraged to manually set up the oscilloscope in
# this case, as it will be used, time it, and use that, with
# a little overhead.
#
# Blocking method is recommended for Segmented Memory mode.
elif ACQ_TYPE == "AVER":
N_AVERAGES = float(KsInfiniiVisionX.query(":ACQuire:COUNt?"))
# Calculate acuisition timeout by overestimate method:
# Recall that PyVisa timeouts are in ms, so multiply by 1000.
SCOPE_ACQUISITION_TIME_OUT = (float(TIME_TO_TRIGGER)*1.1 +
(T_RANGE*2.0 + abs(T_POSITION)*2.0 + HO*1.1 +
float(TIME_BETWEEN_TRIGGERS)*1.1)*N_SEGMENTS*N_AVERAGES)*1000.0
## Ensure the timeout is no less than 10 seconds
if SCOPE_ACQUISITION_TIME_OUT < 10000.0:
SCOPE_ACQUISITION_TIME_OUT = 10000.0
# What about Equivalent Time Mode and other odd modes such as
# Jitter or Eye (the last two only being found on the
# 6000 X-Series), and math functions?
#
# In most cases, the padding and 10 second minimum timeout will
# take care of this.
#
# Equivalent Time Mode has effects only at the fastest time
# scales, so it really doesn't make a difference as long as a
# trigger signal is present. If trigger signal occurs rarely,
# adjust the TIME_BETWEEN_TRIGGERS constant accordingly.
#
# For math, the math will happen fast enough that the "padding"
# in the timeout calculation takes care of this.
#
# For jitter mode on the 6000 X-Series, you can try this method,
# typically there is always a signal present, and the 10 second
# minimum should work out. If not, make it bigger, or increase
# padding.
#
# For Eye mode on the 6000 X-Series, none of this works anyway,
# and you have to use :RUN (or :RTEYe:ACQuire) and :STOP.
# Acquire Signal
# ----------------------------------------------------------------
# Choose blocking_method or polling_method. These were defined as
# functions in case you want to use them repeatedly.
blocking_method()
# If Acquisition Type is Average, always use blocking_method() to
# get complete average.
do_something_with_data()
polling_method()

Table of Contents

Related product manuals