#!/usr/bin/env python
"""acq480 controls .. set ACQ480 parameters
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
.. rst-class:: hidden
usage: acq480_controls.py [-h] [--FIR FIR] [--T50R T50R] [--GAIN GAIN]
[--site SITE] [--channel CHANNEL]
uuts [uuts ...]
configure acq480
positional arguments:
uuts uut1 [uut2..]
optional arguments:
-h, --help show this help message and exit
--FIR FIR
--T50R T50R
--GAIN GAIN
--site SITE
--channel CHANNEL
"""
import sys
import acq400_hapi
import argparse
ALL = 0
[docs]def set_T50R(module, enable, channel):
if channel == ALL:
module.set_knob("T50R", enable)
else:
module.set_knob("TR50R_{:d}".format(channel), enable)
[docs]def set_gain(module, gain, channel):
chans = list(range(1,9)) if channel == ALL else channel
for ch in chans:
module.set_knob("ACQ480_GAIN_{:02d}".format(ch), gain)
[docs]def set_480_uut(uut, args):
if args.FIR:
uut.modules[1].ACQ480_FIR_01 = args.FIR
sl = uut.modules if args.site == ALL else [args.site]
for s in sl:
if args.T50R != None:
set_T50R(uut.modules[s], args.T50R, args.channel)
if args.GAIN != None:
set_gain(uut.modules[s], args.GAIN, args.channel)
[docs]def set_480(args):
uuts = [acq400_hapi.Acq400(u) for u in args.uuts]
for u in uuts:
set_480_uut(u, args)
# execution starts here
[docs]def run_main(args):
set_480(args)
[docs]def get_parser():
parser = argparse.ArgumentParser(description='configure acq480')
parser.add_argument('--FIR', default=None, type=str)
parser.add_argument('--T50R', default=None, type=int)
parser.add_argument('--GAIN', default=None, type=int)
parser.add_argument('--site', default=ALL, type=int)
parser.add_argument('--channel', default=ALL, type=int)
parser.add_argument('uuts', nargs='+', help='uut1 [uut2..]')
return parser
if __name__ == '__main__':
run_main(get_parser().parse_args())