acq2106_hts

Usage
usage: acq2106_hts.py [-h] [--clk CLK] [--trg TRG] [--sim SIM] [--trace TRACE] [--auto_soft_trigger AUTO_SOFT_TRIGGER] [--clear_counters] [--nowait NOWAIT]
                      [--secs SECS] [--spad SPAD] [--commsA COMMSA] [--commsB COMMSB] [--lport LPORT] [--hexdump HEXDUMP] [--decimate DECIMATE]
                      [--datahandler DATAHANDLER] [--nbuffers NBUFFERS]
                      uut [uut ...]

Positional Arguments

uut

uut

Named Arguments

--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

--nowait

start the shot but do not wait for completion

Default: 0

--secs

capture seconds [default:0 inifinity]

Default: 999999

--spad

scratchpad, eg 1,16,0

--commsA

custom list of sites for commsA

Default: “all”

--commsB

custom list of sites for commsB

Default: “none”

--lport

local port on ahfba

Default: 0

--hexdump

generate hexdump format string

Default: 0

--decimate

decimate arm data path

--datahandler

program to stream the data

--nbuffers

set capture length in buffers

Default: 9999999999

Outline:

acq2106_hts High Throughput Streaming

  • data on local SFP/AFHBA

  • control on Ethernet

  • replaces AFHBA404/scripts/hts-test-harness-*

example usage:

# act on acq2106_061, run for 3600s
./acq2106_hts.py --trg=notouch --secs=3600 acq2106_061


# capture 2000 buffers, to one cycle of files on ramdisk. (data is overwritten, but it's unlikely your computer will run out of memory)
# "RECYCLE mode"
./user_apps/acq2106/acq2106_hts.py --nbuffers=2000 --datahandler='./scripts/run-stream-ramdisk {} {}' acq2106_364


# capture 2000 buffers, to NBUFFERS cycles of files, storing all 2000 buffers on ramdisk.
# WARNING: we assume that your HOSTPC has enough memory to do this! 2000 buffers of 1MB => 2GB, that's probably OK.
# But, 20k buffers would need a computer with serious memory (32GB) and 200kbuffers is probably infeasible, instead streaming to a fast disk system is recommended.
./user_apps/acq2106/acq2106_hts.py --nbuffers=2000 --datahandler='./scripts/run-stream-ramdisk {} {} 0' acq2106_364

acq2106_hts.py will quit on the first of either elapsed_seconds > secs or buffers == nbuffers

Recommendation: –secs is really a timeout, use –nbuffers for exact data length

read_knob(knob)[source]
config_shot(uut, args)[source]
hexdump_string(uut, chan, sites, spad)[source]
init_comms(uut, args)[source]
init_work(uut, args)[source]
get_data_pid(args)[source]
start_shot(uut, args)[source]
stop_shot(uut, args)[source]
get_state(args)[source]
wait_completion(uut, args)[source]
run_shot(args)[source]
get_parser()[source]