Source code for user_apps.acq400.acq400_static_awg_restart

#!/usr/bin/env python

"""restart previously loaded static waveform

.. rst-class:: hidden

    usage: acq400_static_awg_restart.py [-h] uut [uut ...]

    positional arguments:
    uut         uut  restart|stop

    optional arguments:
    -h, --help  show this help message and exit
"""

import acq400_hapi
import os
import argparse
import threading
import time



[docs]def stop_action(uut, args, xwg_site): xwg_site.AWG_MODE_ABO = 1 while acq400_hapi.intpv(xwg_site.AWG_SHOT_COMPLETE) == 0: time.sleep(0.25)
[docs]def start_action(uut, args, xwg_site): pll = xwg_site.playloop_length xwg_site.playloop_length = "0 0" xwg_site.playloop_length = pll if args.auto_soft_trigger: while acq400_hapi.intpv(xwg_site.AWG_ARM) == 0: time.sleep(0.25) uut.s0.soft_trigger = 1
[docs]def run_action(u): def _run_action(): pass
[docs]def run_main(args): uuts = [ acq400_hapi.factory(u) for u in args.uuts ] for u in uuts: xwg_site = u.svc["s{}".format(args.site)] if args.command == "start": start_action(u, args, xwg_site) else: stop_action(u, args, xwg_site)
[docs]def get_parser(): parser = argparse.ArgumentParser(description='Restart stopped AWG') parser.add_argument('--auto_soft_trigger', default=0, type=int, help="1: fire soft trigger on restart") parser.add_argument('--site', type=int, default=1, help="site with AWG") parser.add_argument('--command', default='stop', help="command start|stop") parser.add_argument('uuts', nargs='+', help="uut [uut2...]") return parser
# execution starts here if __name__ == '__main__': run_main(get_parser().parse_args())