Source code for user_apps.special.IEC60601_reboot

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Loop test from single program instance: connect, reboot, connect reboot.

This is a apparently a requirement for IEC60601

NB: D-TACQ does NOT claim compliance with IEC60601, but this code is presented as a aid to customers wishing to achieve the standard.

@author: af
"""

import acq400_hapi
import socket
import time
import urllib.request
import sys



[docs]def run_main(): if len(sys.argv) > 1: uut_name = sys.argv[1] else: print("USAGE EC60601_reboot.py host") sys.exit(1) ii = 0 while True: uut = None ii += 1 print("From the top {}".format(ii)) while not uut: contents = None while not contents: try: contents = urllib.request.urlopen("http://{}/d-tacq/rc-local-complete".format(uut_name)).read() print(contents) except: print("uut {} not ready yet".format(uut_name)) time.sleep(2) try: print('Initializing the UUT...') uut = acq400_hapi.factory("{}".format(uut_name)) except ConnectionRefusedError: print('uut hapi interface not ready yet') time.sleep(2) # for retry in range(0,3): # print('Getting .MODEL .. {}'.format(uut.svc["s{}".format(retry)].MODEL)) # for retry in range(0,3): # print('Getting AWG_ACTIVE... {}'.format(uut.s2.AWG_ACTIVE)) # time.sleep(1) uut.s0.reboot = "3210" time.sleep(3) # Housekeeping for next round print('Shutting down sockets...') uut.close() print('Ended sleep 3 to make sure the reboot has started') time.sleep(3)
if __name__ == '__main__': run_main()