acq400_fullshot

Usage
usage: acq400_fullshot.py [-h] [--save_data SAVE_DATA] [--plot_data PLOT_DATA] [--one_plot ONE_PLOT] [--trace_upload TRACE_UPLOAD] [--channels CHANNELS] [--pre PRE]
                          [--post POST] [--demux DEMUX] [--clk CLK] [--trg TRG] [--sim SIM] [--trace TRACE] [--auto_soft_trigger AUTO_SOFT_TRIGGER] [--clear_counters]
                          [--soft_trigger SOFT_TRIGGER] [--capture CAPTURE] [--remote_trigger REMOTE_TRIGGER] [--wrtd_tx WRTD_TX] [--shots SHOTS]
                          [--newobjectsplease NEWOBJECTSPLEASE] [--sig_gen SIG_GEN] [--soft_soft SOFT_SOFT] [--validate_triggers VALIDATE_TRIGGERS]
                          uuts [uuts ...]

Positional Arguments

uuts

uut[s]

Named Arguments

--save_data

store data to specified directory, suffix {} for shot #

--plot_data

0: plot data, all channels. N: first N, -N: first N, all one plot

--one_plot

1: plot data

--trace_upload

1: verbose upload

Default: 0

--channels

comma separated channel list

Default: “()”

--pre

pre-trigger samples

Default: 0

--post

post-trigger samples

Default: 100000

--demux

embedded demux

Default: 1

--clk

int|ext|zclk|xclk,fpclk,SR,[FIN]

--trg

int|ext,rising|falling

--sim

s1[,s2,s3..] list of sites to run in simulate mode

--trace

1 : enable command tracing

--auto_soft_trigger

force soft trigger generation

Default: 0

--clear_counters

clear all counters SLOW

Default: False

--soft_trigger

help use soft trigger on capture

Default: 1

--capture

1: capture data, 0: wait for someone else to capture, -1: just upload

Default: 0

--remote_trigger

options: EXT

--wrtd_tx

release a wrtd_tx when all boards read .. works when free-running trigger

Default: 0

--shots

number of shots to run

Default: 1

--newobjectsplease

create new object instantiations every run

Default: 0

--sig_gen

Network of Agilent 33210A or equivalent.

--soft_soft

double soft trigger, first a start trig, then a pre->post event trig

--validate_triggers

check trigger counts after each shot

Default: 0

Outline:

acq400_fullshot.py (formerly acq400_upload.py)

capture upload test acq1001_capplot UUT1 [UUT2 ..] where UUT1 is the ip-address or host name of first uut example test client runs captures in a loop on one or more uuts

pre-requisite: UUT’s are configured and ready to make a transient capture eg clk is running. soft trg enabled eg transient length set.

runs one capture, uploads the data and plots with matplotlib tested with 2 x 8 channels UUT’s (ACQ1014) matplot will get very congested with more channels. this is really meant as a demonstration of capture, load to numpy, it’s not really intended as a scope UI.

example:

python3 ./user_apps/acq400/acq400_fullshot.py --post=100k --capture=1 --trace_upload=1 --plot_data=2 --channels=1,2,3,4 --trg=1,1,1 acq2106_339
class EnableExtTrgAction[source]

Bases: object

__init__(master)[source]
class WrtdAction[source]

Bases: object

__init__(master, max_triggers=1)[source]
class NetworkFgAction[source]

Bases: object

__init__(args, uut, dnsname)[source]
class EnableSoftSoftTrgAction[source]

Bases: object

__init__(args, uut)[source]
set_shot(args, uuts)[source]
run_shot(args, uuts, shot_controller, trigger_action, st)[source]
class TriggerCountLogger[source]

Bases: object

knobs = ('SIG:TRG_EXT:', 'SIG:TRG_MB:', 'SIG:TRG_S1:')
__init__(uuts)[source]
class TimedShotController[source]

Bases: ShotControllerWithDataHandler

handle_data(args)[source]
__init__(_uuts, args, shot=None)[source]
upload(args, shots, doClose=False)[source]
uniq(inp)[source]
get_parser(argStr=None)[source]
run_main(args)[source]