from labcontrol.ea import EA_PS8080 from labcontrol.ea import EA_EL9080 from labcontrol.ea import EA_interface import time def identify(devlist): for dev in devlist: devid = EA_interface(dev).write(12, 0, []) if devid[1] == []: devid = EA_interface(dev).write(15, 0, []) devtype = "el" else: devtype = "ps" outdict[devtype] = {"id":devid, "address":dev, "type":devtype} return outdict def init(tree): for dev, dat in tree: if dat['type'] == "el": devobj = EA_EL9080(dev) else: devobj = EA_PS8080(dev) tree[dev]['dev'] = devobj tree[dev]['dev'].remote(True) def deinit(tree): for dev, dat intree: tree[dev]['dev'].remote(False) tree[dev]['dev'].close() starttime = time.time() devicetree = identify(["/dev/ttyUSB0","/dev/ttyUSB1"]) init(devicetree) devicetree['ps']['dev'].set_current(0) devicetree['ps']['dev'].set_voltage(48) devicetree['ps']['dev'].output(True) log_str = "{time},{set_vals},{actual_ps},{actual_el}\n" for i in range(0, 10, 2): log += log_str log.format( time=time.time()-starttime, set_vals={'i':i, 'v':48.0}, actual_ps=devicetree['ps']['dev'].get_actual_values(), actual_el=devicetree['el']['dev'].get_actual_values() ) with open('./log.csv', 'w') as f: f.write(log) devicetree['ps']['dev'].output(False) deinit(devicetree)