61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
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)
|
|
|