################################################################################################### # Deployment specific global definitions - executed after startup.py ################################################################################################### import ch.psi.pshell.device.Stoppable as Stoppable class PicoAmp(DeviceBase, Stoppable): def __init__(self, name, prefix): DeviceBase.__init__(self, name) self.prefix = prefix self.array_data = create_channel_device(prefix+"image1:ArrayData", type='[d', size=None, deviceName=name + " ArrayData") self.ts_total = create_channel_device(prefix+"Current1:TSTotal", type='[d', size=None, deviceName=name + " Cur1 TSTotal") self.ts_net = create_channel_device(prefix+"Current1:TSNet", type='[d', size=None, deviceName=name + " Cur1 TSNet") self.ts_min = create_channel_device(prefix+"Current1:TSMinValue", type='[d', size=None, deviceName=name + " Cur1 TSMin") self.ts_max = create_channel_device(prefix+"Current1:TSMaxValue", type='[d', size=None, deviceName=name + " Cur1 TSMax") self.ts_minx = create_channel_device(prefix+"Current1:TSMinX", type='[d', size=None, deviceName=name + " Cur1 TSMaxX") self.ts_maxx = create_channel_device(prefix+"Current1:TSMeanValue", type='[d', size=None, deviceName=name + " Cur1 TSMean") self.ts_sigma = create_channel_device(prefix+"Current1:TSSigma", type='[d', size=None, deviceName=name + " Cur1 TSSigma") self.ts_total2 = create_channel_device(prefix+"Current2:TSTotal", type='[d', size=None, deviceName=name + " Cur2 TSTotal") self.ts_net2 = create_channel_device(prefix+"Current2:TSNet", type='[d', size=None, deviceName=name + " Cur2 TSNet") self.ts_min2 = create_channel_device(prefix+"Current2:TSMinValue", type='[d', size=None, deviceName=name + " Cur2 TSMin") self.ts_max2 = create_channel_device(prefix+"Current2:TSMaxValue", type='[d', size=None, deviceName=name + " Cur2 TSMax") self.ts_minx2 = create_channel_device(prefix+"Current2:TSMinX", type='[d', size=None, deviceName=name + " Cur2 TSMaxX") self.ts_maxx2 = create_channel_device(prefix+"Current2:TSMeanValue", type='[d', size=None, deviceName=name + " Cur2 TSMean") self.ts_sigma2 = create_channel_device(prefix+"Current2:TSSigma", type='[d', size=None, deviceName=name + " Cur2 TSSigma") self.ts_total3 = create_channel_device(prefix+"Current3:TSTotal", type='[d', size=None, deviceName=name + " Cur3 TSTotal") self.ts_net3 = create_channel_device(prefix+"Current3:TSNet", type='[d', size=None, deviceName=name + " Cur3 TSNet") self.ts_min3 = create_channel_device(prefix+"Current3:TSMinValue", type='[d', size=None, deviceName=name + " Cur3 TSMin") self.ts_max3 = create_channel_device(prefix+"Current3:TSMaxValue", type='[d', size=None, deviceName=name + " Cur3 TSMax") self.ts_minx3 = create_channel_device(prefix+"Current3:TSMinX", type='[d', size=None, deviceName=name + " Cur3 TSMaxX") self.ts_maxx3 = create_channel_device(prefix+"Current3:TSMeanValue", type='[d', size=None, deviceName=name + " Cur3 TSMean") self.ts_sigma3 = create_channel_device(prefix+"Current3:TSSigma", type='[d', size=None, deviceName=name + " Cur3 TSSigma") self.ts_total4 = create_channel_device(prefix+"Current4:TSTotal", type='[d', size=None, deviceName=name + " Cur4 TSTotal") self.ts_net4 = create_channel_device(prefix+"Current4:TSNet", type='[d', size=None, deviceName=name + " Cur4 TSNet") self.ts_min4 = create_channel_device(prefix+"Current4:TSMinValue", type='[d', size=None, deviceName=name + " Cur4 TSMin") self.ts_max4 = create_channel_device(prefix+"Current4:TSMaxValue", type='[d', size=None, deviceName=name + " Cur4 TSMax") self.ts_minx4 = create_channel_device(prefix+"Current4:TSMinX", type='[d', size=None, deviceName=name + " Cur4 TSMaxX") self.ts_maxx4 = create_channel_device(prefix+"Current4:TSMeanValue", type='[d', size=None, deviceName=name + " Cur4 TSMean") self.ts_sigma4 = create_channel_device(prefix+"Current4:TSSigma", type='[d', size=None, deviceName=name + " Cur4 TSSigma") self.setChildren([self.array_data, self.ts_total,self.ts_net, self.ts_min, self.ts_max, self.ts_minx, \ self.ts_maxx, self.ts_sigma, \ self.ts_total2,self.ts_net2, self.ts_min2, self.ts_max2, self.ts_minx2, \ self.ts_maxx2, self.ts_sigma2, \ self.ts_total3,self.ts_net3, self.ts_min3, self.ts_max3, self.ts_minx3, \ self.ts_maxx3, self.ts_sigma3, \ self.ts_total4,self.ts_net4, self.ts_min4, self.ts_max4, self.ts_minx4, \ self.ts_maxx4, self.ts_sigma4 ]) def start(self): stop() time.sleep(0.2) caputq(self.prefix + "Acquire", "Acquire") caputq(self.prefix + "Current1:TSControl", "Erase/Start") caputq(self.prefix + "Current2:TSControl", "Erase/Start") caputq(self.prefix + "Current3:TSControl", "Erase/Start") caputq(self.prefix + "Current4:TSControl", "Erase/Start") def stop(self): caputq(self.prefix + "Acquire", "Stop") add_device(PicoAmp("pico_amp", "X12SA-PC-BPM5:AH501:"), force = True) #add_device(PicoAmp("pico_amp_2", "X12SA-PC-BPM5:AH501:"), force = True)