Source code for acq400_awg_load1
#!/usr/bin/env python
"""
upload file to AWG for a one-shot play
data for upload is either File (host-local data file) or Rainbow, a test pattern.
assumes that clocking has been pre-assigned.
positional arguments:
uuts uut
optional arguments:
-h, --help show this help message and exit
--files FILES list of files to load
"""
import sys
import acq400_hapi
from acq400_hapi import awg_data
import argparse
from future import builtins
from builtins import input
[docs]def load_awg(args):
uut = acq400_hapi.Acq400(args.uuts[0])
shot_controller = acq400_hapi.ShotController([uut])
if args.clear_autorearm:
uut.s1.playloop_maxshot = '1'
print "allow system to run final shot and return to idle"
else:
work = awg_data.RunsFiles(uut, args.file.split(","))
_autorearm = True if args.autorearm == 1 else False
work.load(autorearm=_autorearm)
for f in work.load():
print("Loaded %s" % (f))
shot_controller.run_shot(soft_trigger= True if args.trg=='int' else False)
[docs]def run_main():
parser = argparse.ArgumentParser(description='acq400 simple awg demo')
parser.add_argument('--file', default="", help="file to load")
parser.add_argument('--autorearm', default=0, type=int, help="enable autorearm mode")
parser.add_argument('--clear_autorearm', default=0, help="clear previous autorearm mode")
parser.add_argument('--trg', default="int", help='trg "int|ext rising|falling"')
parser.add_argument('uuts', nargs=1, help="uut ")
load_awg(parser.parse_args())
# execution starts here
if __name__ == '__main__':
run_main()