def __init__ (self,pvPrefix="", mnemonic=""): """ **Constructor** See :class:`py4syn.epics.StandardDevice` Parameters ---------- pvPrefix : `string` Lauda's device base naming of the PV (Process Variable) mnemonic : `string` Lauda's mnemonic """ StandardDevice.__init__(self, mnemonic) self.pvBTemp = PV(pvPrefix + ":BTEMP") self.pvETemp = PV(pvPrefix + ":ETEMP") self.pvBLevel = PV(pvPrefix+ ":BLEVEL") self.pvBSP = PV(pvPrefix+":BSP") self.pvBPower = PV(pvPrefix+":BPOWER") self.pvBOverTemp = PV(pvPrefix+":BOVERTEMP") self.pvBTN = PV(pvPrefix+":BTN") self.pvBStatus = PV(pvPrefix + ":BSTATS") self.pvBThermoStatus = PV(pvPrefix + ":BTHERMOSTATS") self.pvWSP = PV(pvPrefix + ":WSP") self.pvWPump = PV(pvPrefix + ":WPUMP") self.pvWTN = PV(pvPrefix + ":WTN") self.pvWStart = PV(pvPrefix + ":WSTART") self.pvWStop = PV(pvPrefix + ":WSTOP")
def __init__(self, pvName, mnemonic, timeBased=False): """ **Constructor** To use this Keithley Class you must pass the PV (Process Variable) prefix. .. Note:: e.g.: SXS:K6514 Examples -------- >>> from KeithleyClass import * >>> name = Keithley('SOL:K6514', 'k1') """ StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.timeBased = timeBased self.keithley = Device(pvName+':', ('GetMed','SetMed','GetMedRank','SetMedRank','GetAver', 'SetAver','GetAverCoun','SetAverCoun','GetNPLC','SetNPLC', 'GetAutoZero', 'SetAutoZero','GetZeroCheck','SetZeroCheck', 'GetAverTCon','SetAverTCon','GetCurrRange','SetCurrRange', 'GetZeroCor','SetZeroCor', 'GetAutoCurrRange','SetAutoCurrRange' 'Count','ContinuesMode', 'CNT', 'OneMeasure')) self.pvMeasure = PV(pvName+':'+'Measure', auto_monitor=False) self._counting = self.isCountingPV() self.keithley.add_callback('CNT', self.onStatusChange)
def __init__(self, mnemonic, description, backwardFormula, forwardFormulasDict): """ **Pseudo Motor class Constructor** Parameters ---------- mnemonic : `string` Motor mnemonic description : `string` Motor Description backwardFormula : `string` Mathematical Formula used to calculate the Pseudo motor position based on other motors forwardFormulasDict : `dictionary` Dictionary containing mathematical relations to move each of the motors involved in the pseudo motor movement """ StandardDevice.__init__(self, mnemonic) self.name = mnemonic self.description = description self.backFormula = backwardFormula self.forwardDict = forwardFormulasDict
def __init__(self, pvStatusName="", pvControlName="", pvHutchName="", mnemonic="", invert=False): StandardDevice.__init__(self, mnemonic) self.delay = 0.01 self.invert = invert self.pvStatus = PV(pvStatusName) self.pvControl = PV(pvControlName) self.pvHutch = PV(pvHutchName)
def __init__(self, pvPrefix="", mnemonic=""): """ **Constructor** See :class:`py4syn.epics.StandardDevice` Parameters ---------- pvPrefix : `string` Lauda's device base naming of the PV (Process Variable) mnemonic : `string` Lauda's mnemonic """ StandardDevice.__init__(self, mnemonic) self.pvBTemp = PV(pvPrefix + ":BTEMP") self.pvETemp = PV(pvPrefix + ":ETEMP") self.pvBLevel = PV(pvPrefix + ":BLEVEL") self.pvBSP = PV(pvPrefix + ":BSP") self.pvBPower = PV(pvPrefix + ":BPOWER") self.pvBOverTemp = PV(pvPrefix + ":BOVERTEMP") self.pvBTN = PV(pvPrefix + ":BTN") self.pvBStatus = PV(pvPrefix + ":BSTATS") self.pvBThermoStatus = PV(pvPrefix + ":BTHERMOSTATS") self.pvWSP = PV(pvPrefix + ":WSP") self.pvWPump = PV(pvPrefix + ":WPUMP") self.pvWTN = PV(pvPrefix + ":WTN") self.pvWStart = PV(pvPrefix + ":WSTART") self.pvWStop = PV(pvPrefix + ":WSTOP")
def __init__(self, pvName, mnemonic): """ **Constructor** See :class:`py4syn.epics.StandardDevice` Parameters ---------- pvName : `string` Motor's base naming of the PV (Process Variable) mnemonic : `string` Motor's mnemonic """ StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.pvType = PV(pvName + ".RTYP", connection_timeout=3) if (self.pvType.status is None): raise Exception("Epics PV " + pvName + " seems to be offline or not reachable") if (self.pvType.get() != "motor"): raise Exception(pvName + " is not an Epics Motor") self.motor = Device( pvName + '.', ('RBV', 'VAL', 'DRBV', 'DVAL', 'RLV', 'RVAL', 'RRBV', 'STOP', 'MOVN', 'LLS', 'HLS', 'SSET', 'SUSE', 'SET', 'VELO', 'EGU', 'DMOV', 'STUP', 'DESC', 'BDST', 'HLM', 'LLM', 'DHLM', 'DLLM', 'VOF', 'FOF', 'OFF', 'DIR', 'LVIO', 'HOMF', 'HOMR')) self.motor.add_callback('DMOV', self.onStatusChange) self._moving = self.isMovingPV() self.motorDesc = self.getDescription()
def __init__(self, pvPrefix="", mnemonic="", channel=0): """ **Constructor** See :class:`py4syn.epics.StandardDevice` Parameters ---------- pvPrefix : `string` LakeShore331's device base naming of the PV (Process Variable); Like DXAS:LS331; mnemonic : `string` LakeShore331's mnemonic """ StandardDevice.__init__(self, mnemonic) self.lakeshore331 = Device( pvPrefix + ':', ('GetHEAT', 'GetHeaterRange', 'GetAPIDD', 'GetAPIDI', 'GetAPIDP', 'GetASetPoint', 'GetBPIDD', 'GetBPIDI', 'GetBPIDP', 'GetBSetPoint', 'GetCTempA', 'GetCTempB', 'GetKTempA', 'GetKTempB', 'SetHeaterRange', 'SetAPIDD', 'SetAPIDI', 'SetAPIDP', 'SetASetPoint', 'SetBPIDD', 'SetBPIDI', 'SetBPIDP', 'SetBSetPoint', 'GetCmode', 'SetCmode')) self.ls331_control = Device(pvPrefix + ':CONTROL:', ['SetAPID', 'SetBPID', 'Trigger']) if (channel == 1): self.ls331_channel = LakeShore_t.Channel_B else: # Default self.ls331_channel = LakeShore_t.Channel_A
def __init__(self, pvRotaryMagnetName="", mnemonic=""): StandardDevice.__init__(self, mnemonic) self._active = False self._done = self.isDone() self.pvRotaryMagnetDESC = PV(pvRotaryMagnetName + ".DESC") self.pvRotaryMagnetVAL = PV(pvRotaryMagnetName + ".VAL", self.onValChange)
def __init__(self, pvName, mnemonic): """ **Constructor** See :class:`py4syn.epics.StandardDevice` Parameters ---------- pvName : `string` Motor's base naming of the PV (Process Variable) mnemonic : `string` Motor's mnemonic """ StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.pvType = PV(pvName+".RTYP", connection_timeout=3) if(self.pvType.status == None): raise Exception("Epics PV "+ pvName+" seems to be offline or not reachable") if(self.pvType.get()!= "motor"): raise Exception(pvName+" is not an Epics Motor") self.motor = Device(pvName+'.', ('RBV','VAL', 'DRBV', 'DVAL','RLV', 'RVAL', 'RRBV', 'STOP','MOVN','LLS','HLS','SSET','SUSE', 'SET','VELO','EGU','DMOV','STUP', 'DESC', 'BDST', 'HLM', 'LLM', 'DHLM', 'DLLM', 'VOF','FOF','OFF', 'DIR','LVIO')) self.motor.add_callback('DMOV',self.onStatusChange) self._moving = self.isMovingPV() self.motorDesc = self.getDescription()
def __init__(self, pvName, mnemonic, scalerObject=""): """ **Constructor** Parameters ---------- pvName : `string` Charge-Coupled Device (CCD)'s naming of the PV (Process Variable) mnemonic : `string` Device mnemonic scalerObject : `object` It represents logically the Scaler device """ StandardDevice.__init__(self, mnemonic) self.pvAcquire = PV(pvName+":Acquire", callback=self.onAcquireChange) self.pvConfigWait = PV(pvName+":Wait", callback=self.onWaitChange) self.pvAutoIncrement = PV(pvName+":AutoIncrement") self.pvMinX = PV(pvName+":MinX") self.pvMinY = PV(pvName+":MinY") self.pvSizeX = PV(pvName+":SizeX") self.pvSizeY = PV(pvName+":SizeY") self.pvAcquireTime = PV(pvName+":AcquireTime") self.pvFileNumber = PV(pvName+":FileNumber") self.pvNumImages = PV(pvName+":NumImages") self.pvFilePath = PV(pvName+":FilePath") self.pvFileName = PV(pvName+":FileName") self.pvCommand = PV(pvName+":StrInput") self.pvCommandOut = PV(pvName+":StrOutput") self.scaler = scalerObject self._done = self.isDone() self._doneConfig = self.isDoneConfig() self.time = float(self.pvAcquireTime.get()/1000000) #Convert from microsecond to second
def __init__(self, pvName, mnemonic, imageBufferQueue=None, processName=""): StandardDevice.__init__(self, mnemonic) self.processName = processName self.initCamera = True self.initNELM = True self.NCount = 0 self.NData = 0 self.imageBufferQueue = imageBufferQueue self.pvData = PV(pvName+":Data", auto_monitor=True) self.pvData.add_callback(self.onDataChange) self.pvAcquire = PV(pvName+":Acquire", callback=self.onAcquireChange, auto_monitor=True) self.pvAcquireRBV = PV(pvName+":Acquire_RBV", callback=self.onAcquireRBVChange, auto_monitor=True) self.pvNELM = PV(pvName+":Data.NELM", callback=self.onNELMChange) self._done = self.isDone() self.pvPixelSize = PV(pvName + ":PixelSize") self.pvCheckImage = PV(pvName + ":CheckImage") self.pvMinX = PV(pvName + ":MinX") self.pvMinY = PV(pvName + ":MinY") self.pvSizeX = PV(pvName + ":SizeX") self.pvSizeY = PV(pvName + ":SizeY") self.pvAcquireTime = PV(pvName+":AcquireTime") self.pvAcquireTimeBase = PV(pvName+":AcquireTimeBase") self.pvDelayTime = PV(pvName + ":DelayTime") self.pvDelayTimeBase = PV(pvName + ":DelayTimeBase") self.pvFileFormat = PV(pvName + ":FileFormat") self.pvFileName = PV(pvName + ":FileName") self.pvFileNumber = PV(pvName + ":FileNumber") self.pvFilePath = PV(pvName + ":FilePath")
def __init__(self, pvName, mnemonic, timeBased=False): """ **Constructor** To use this Keithley Class you must pass the PV (Process Variable) prefix. .. Note:: e.g.: SXS:K6514 Examples -------- >>> from KeithleyClass import * >>> name = Keithley('SOL:K6514', 'k1') """ StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.timeBased = timeBased self.keithley = Device(pvName+':', ('GetMed','SetMed','GetMedRank','SetMedRank','GetAver', 'SetAver','GetAverCoun','SetAverCoun','GetNPLC','SetNPLC', 'GetAutoZero', 'SetAutoZero','GetZeroCheck','SetZeroCheck', 'GetAverTCon','SetAverTCon','GetRange','SetRange', 'GetZeroCor','SetZeroCor', 'GetAutoCurrRange','SetAutoCurrRange' 'Count','ContinuesMode', 'CNT', 'OneMeasure')) self.pvMeasure = PV(pvName+':'+'Measure', auto_monitor=False) self._counting = self.isCountingPV() self.keithley.add_callback('CNT', self.onStatusChange)
def __init__(self, pvName, mnemonic): StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.modem = Device(pvName + ':FONE:', ('discar.PROC', 'audio', 'numero', 'discar.VALA')) self._status = self.getStatus() self.modem.add_callback('discar.VALA', self.onStatusChange)
def __init__(self, pvName, mnemonic, scalerObject=""): """ **Constructor** Parameters ---------- pvName : `string` Charge-Coupled Device (CCD)'s naming of the PV (Process Variable) mnemonic : `string` Device mnemonic scalerObject : `object` It represents logically the Scaler device """ StandardDevice.__init__(self, mnemonic) self.pvAcquire = PV(pvName + ":Acquire", callback=self.onAcquireChange) self.pvConfigWait = PV(pvName + ":Wait", callback=self.onWaitChange) self.pvAutoIncrement = PV(pvName + ":AutoIncrement") self.pvMinX = PV(pvName + ":MinX") self.pvMinY = PV(pvName + ":MinY") self.pvSizeX = PV(pvName + ":SizeX") self.pvSizeY = PV(pvName + ":SizeY") self.pvAcquireTime = PV(pvName + ":AcquireTime") self.pvFileNumber = PV(pvName + ":FileNumber") self.pvNumImages = PV(pvName + ":NumImages") self.pvFilePath = PV(pvName + ":FilePath") self.pvFileName = PV(pvName + ":FileName") self.pvCommand = PV(pvName + ":StrInput") self.pvCommandOut = PV(pvName + ":StrOutput") self.scaler = scalerObject self._done = self.isDone() self._doneConfig = self.isDoneConfig() self.time = float(self.pvAcquireTime.get() / 1000000) #Convert from microsecond to second
def __init__(self, pvScalerName="", numberOfChannels=1, mnemonic=""): StandardDevice.__init__(self, mnemonic) self._counting = False self.pvScalerTP = PV( pvScalerName + ".TP") # envia para o IOC do cintilador o tempo de exposicao #self.pvScalerCNT = PV(pvScalerName+".CNT", self.onStatusChange) # envia para o IOC o disparo da medida self.pvScalerCNT = PV(pvScalerName + ".CNT") # envia para o IOC o disparo da medida self.pvScalerFREQ = PV(pvScalerName + ".FREQ") self.pvScalerVAL = PV(pvScalerName + ".VAL", self.onValChange) self.pvScalerCounters = [] self.pvScalerGates = [] self.pvScalerPresets = [] # Initial State if (self.pvScalerCNT.get() == 0 and self.pvScalerVAL.get() == 0): self._counting = False for i in range(1, 2 + numberOfChannels): self.pvScalerCounters.append( PV(pvScalerName + ".S" + str(i), auto_monitor=False)) # valor do contador i self.pvScalerGates.append(PV(pvScalerName + ".G" + str(i))) self.pvScalerPresets.append(PV(pvScalerName + ".PR" + str(i)))
def __init__(self, pvNameIN, pvNameOUT, mnemonic, scalerObject=""): StandardDevice.__init__(self, mnemonic) # IN DXAS:DIO:bi8 # 1.0 (read TTL OUT from CCD) # OUT DXAS:DIO:bo17 # 6.1 (write Trigger IN to CCD start acquisition) self.pvAcquire = PV(pvNameOUT) self.pvMonitor = PV(pvNameIN, callback=self.onAcquireChange) self._done = self.isDone() self.countTime = 1
def __init__(self, pvName="", pvHutchName="", mnemonic=""): StandardDevice.__init__(self, mnemonic) self.delay = 0.01 self.pvFilter1 = PV(pvName+":DIO:XIA:Filter1") self.pvFilter2 = PV(pvName+":DIO:XIA:Filter2") self.pvFilter3 = PV(pvName+":DIO:XIA:Filter3") self.pvFilter4 = PV(pvName+":DIO:XIA:Filter4") self.pvHutch = PV(pvHutchName)
def __init__(self, pvName, mnemonic, timeBased=False): """ **Constructor** To use this Keithley Class you must pass the PV (Process Variable) prefix. .. Note:: e.g.: SXS:K6514 Examples -------- >>> from KeithleyClass import * >>> name = Keithley('SOL:K6514', 'k1') """ StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.timeBased = timeBased self.keithley = Device( pvName + ":", ( "GetMed", "SetMed", "GetMedRank", "SetMedRank", "GetAver", "SetAver", "GetAverCoun", "SetAverCoun", "GetNPLC", "SetNPLC", "GetAutoZero", "SetAutoZero", "GetZeroCheck", "SetZeroCheck", "GetAverTCon", "SetAverTCon", "GetRange", "SetRange", "GetZeroCor", "SetZeroCor", "GetAutoCurrRange", "SetAutoCurrRange" "Count", "ContinuesMode", "CNT", "OneMeasure", ), ) self.pvMeasure = PV(pvName + ":" + "Measure", auto_monitor=False) self._counting = self.isCountingPV() self.keithley.add_callback("CNT", self.onStatusChange)
def __init__(self, pvName, mnemonic, scalerObject=""): StandardDevice.__init__(self, mnemonic) self.pvAcquire = PV(pvName+":cam1:Acquire", callback=self.onAcquireChange) self.pvNumImages = PV(pvName+":cam1:NumImages") self.pvFileName = PV(pvName+":cam1:FileName") self.pvFilePath = PV(pvName+":cam1:FilePath") self.pvAcquireTime = PV(pvName+":cam1:AcquireTime") self.pvFileNumber = PV(pvName+":cam1:FileNumber") self.pvArrayCounter = PV(pvName+":cam1:ArrayCounter") self.pvArrayCounterRBV = PV(pvName+":cam1:ArrayCounter_RBV") self.scaler = scalerObject self._done = self.isDone() self.time = self.pvAcquireTime.get()
def __init__(self, pvName, mnemonic, scalerObject=""): StandardDevice.__init__(self, mnemonic) self.pvAcquire = PV(pvName + ":cam1:Acquire", callback=self.onAcquireChange) self.pvNumImages = PV(pvName + ":cam1:NumImages") self.pvFileName = PV(pvName + ":cam1:FileName") self.pvFilePath = PV(pvName + ":cam1:FilePath") self.pvAcquireTime = PV(pvName + ":cam1:AcquireTime") self.pvFileNumber = PV(pvName + ":cam1:FileNumber") self.pvArrayCounter = PV(pvName + ":cam1:ArrayCounter") self.pvArrayCounterRBV = PV(pvName + ":cam1:ArrayCounter_RBV") self.scaler = scalerObject self._done = self.isDone() self.time = self.pvAcquireTime.get()
def __init__(self, pvPrefix="", mnemonic=""): StandardDevice.__init__(self, mnemonic) self.pvBVAL_RBV = PV(pvPrefix + ":BVAL_RBV") self.pvBVAL = PV(pvPrefix + ":BVAL") self.pvBPOS = PV(pvPrefix + ":BPOS") self.pvSVON = PV(pvPrefix + ":SVON") self.pvRUNNING = PV(pvPrefix + ":RUNNING") self.pvRUNNING.add_callback(self.finish) self.pvJOB = PV(pvPrefix + ":JOB") self.pvGOJOB = PV(pvPrefix + ":GOJOB") self.pvSTA1 = PV(pvPrefix + ":STA1") self.pvSTA2 = PV(pvPrefix + ":STA2") self.motomanfinish = False
def __init__ (self,pvPrefix="", mnemonic=""): StandardDevice.__init__(self, mnemonic) self.pvBVAL_RBV = PV(pvPrefix + ":BVAL_RBV") self.pvBVAL = PV(pvPrefix + ":BVAL") self.pvBPOS = PV(pvPrefix+ ":BPOS") self.pvSVON = PV(pvPrefix+":SVON") self.pvRUNNING = PV(pvPrefix+":RUNNING") self.pvRUNNING.add_callback(self.finish) self.pvJOB = PV(pvPrefix+":JOB") self.pvGOJOB = PV(pvPrefix+":GOJOB") self.pvSTA1 = PV(pvPrefix+":STA1") self.pvSTA2 = PV(pvPrefix + ":STA2") self.motomanfinish = False
def __init__ (self,pvPrefix, mnemonic): StandardDevice.__init__(self, mnemonic) self.pvAcquire = PV(pvPrefix + ":Acquire") self.pvTime = PV(pvPrefix + ":Time") self.pvDataRBV = PV(pvPrefix+ ":Data_RBV") self.pvAcquireRBV = PV(pvPrefix+":Acquire_RBV") self.pvAcquireRBV.add_callback(self.finish) self.pvSettings = PV(pvPrefix+":Settings") self.pvFlatfield = PV(pvPrefix+":FlatfieldCorrection") self.pvFlatfieldRBV = PV(pvPrefix+":FlatfieldCorrection_RBV") self.pvFlip = PV(pvPrefix + ":FlipChannels") self.pvFlipRBV = PV(pvPrefix + ":FlipChannels_RBV") self.mythenfinish = (self.pvAcquireRBV.get() == 0)
def __init__(self, pvName, mnemonic): StandardDevice.__init__(self, mnemonic) self.pvAcquire = PV(pvName + ":Acquire", callback=self.onAcquireChange) self.pvAcquire_RBV = PV(pvName + ":Acquire_RBV") self.pvAcquireTime = PV(pvName + ":AcquireTime") self.pvAcquireTime_RBV = PV(pvName + ":AcquireTime_RBV") self.pvNumImages = PV(pvName + ":NumImages") self.pvNumImages_RBV = PV(pvName + ":NumImages_RBV") self.pvNumImagesCounter_RBV = PV(pvName + ":NumImagesCounter_RBV") self.pvNumExposures = PV(pvName + ":NumExposures") self.pvNumExposures_RBV = PV(pvName + ":NumExposures_RBV") self.pvNumExposuresCounter_RBV = PV(pvName + ":NumExposuresCounter_RBV") self.pvImageMode = PV(pvName + ":ImageMode") self.pvImageMode_RBV = PV(pvName + ":ImageMode_RBV") self.pvTriggerMode = PV(pvName + ":TriggerMode") self.pvTriggerMode_RBV = PV(pvName + ":TriggerMode_RBV") self.pvFrameType = PV(pvName + ":FrameType") self.pvFrameType_RBV = PV(pvName + ":FrameType_RBV") self.pvGain = PV(pvName + ":LFGain") self.pvGain_RBV = PV(pvName + ":LFGain_RBV") self.pvNumAccumulations = PV(pvName + ":NumAccumulations") self.pvNumAccumulations_RBV = PV(pvName + ":NumAccumulations_RBV") self.pvNumAcquisitions = PV(pvName + ":NumAcquisitions") self.pvNumAcquisitions_RBV = PV(pvName + ":NumAcquisitions_RBV") self.pvNumAcquisitionsCounter_RBV = PV(pvName + ":NumAcquisitionsCounter_RBV") self.pvBackgroundEnable = PV(pvName + ":LFBackgroundEnable") self.pvBackgroundEnable_RBV = PV(pvName + ":LFBackgroundEnable_RBV") self.pvBackgroundPath = PV(pvName + ":LFBackgroundPath") self.pvBackgroundPath_RBV = PV(pvName + ":LFBackgroundPath_RBV") self.pvBackgroundFile = PV(pvName + ":LFBackgroundFile") self.pvBackgroundFile_RBV = PV(pvName + ":LFBackgroundFile_RBV") self.pvFilePath = PV(pvName + ":FilePath") self.pvFilePath_RBV = PV(pvName + ":LFFilePath_RBV") self.pvFileName = PV(pvName + ":FileName") self.pvFileName_RBV = PV(pvName + ":LFFileName_RBV") self.pvFileNumber = PV(pvName + ":FileNumber") self.pvFileNumber_RBV = PV(pvName + ":FileNumber_RBV") self.pvArrayCounter = PV(pvName + ":ArrayCounter") self.pvArrayCounter_RBV = PV(pvName + ":ArrayCounter_RBV") self.pvAutoIncrement = PV(pvName + ":AutoIncrement") self.pvAutoIncrement_RBV = PV(pvName + ":AutoIncrement_RBV") self.pvImageArrayData = PV(pvName + ":image1:ArrayData") # Current state self._done = self.isDone() self.time = self.pvAcquireTime_RBV.get() self.countTime = 1 self.paused = False
def __init__(self, mnemonic, backwardFormula): """ **Pseudo Counter class Constructor** Parameters ---------- mnemonic : `string` Counter mnemonic backwardFormula : `string` Mathematical Formula used to calculate the Pseudo counter value position based on other counters """ StandardDevice.__init__(self, mnemonic) self.name = mnemonic self.backFormula = backwardFormula
def __init__(self, pvPrefix="", mnemonic=""): """ **Constructor** See :class:`py4syn.epics.StandardDevice` Parameters ---------- pvPrefix : `string` Blue Ribbon BD306's device base naming of the PV (Process Variable) mnemonic : `string` Blue Ribbon BD306's mnemonic """ StandardDevice.__init__(self, mnemonic) self.pvP1 = PV(pvPrefix + ":P1") self.pvP2 = PV(pvPrefix + ":P2")
def __init__(self, pvName, mnemonic): """ **Constructor** See :class:`py4syn.epics.StandardDevice` See :class:`py4syn.epics.ICountable` Parameters ---------- pvName : `string` PV name (Process Variable) mnemonic : `string` Mnemonic """ StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.pv = PV(pvName)
def __init__(self, pvName, mnemonic, scalerObject=""): StandardDevice.__init__(self, mnemonic) self.pvAcquire = PV(pvName + ":Acquire", callback=self.onAcquireChange) self.pvAcquire_RBV = PV(pvName + ":Acquire_RBV") self.pvAcquireTime = PV(pvName + ":AcquireTime") self.pvAcquireTime_RBV = PV(pvName + ":AcquireTime_RBV") self.pvNumImages = PV(pvName + ":NumImages") self.pvNumImages_RBV = PV(pvName + ":NumImages_RBV") self.pvNumImagesCounter_RBV = PV(pvName + ":NumImagesCounter_RBV") self.pvNumExposures = PV(pvName + ":NumExposures") self.pvNumExposures_RBV = PV(pvName + ":NumExposures_RBV") self.pvNumExposuresCounter_RBV = PV(pvName + ":NumExposuresCounter_RBV") self.pvImageMode = PV(pvName + ":ImageMode") self.pvImageMode_RBV = PV(pvName + ":ImageMode_RBV") self.pvTriggerMode = PV(pvName + ":TriggerMode") self.pvTriggerMode_RBV = PV(pvName + ":TriggerMode_RBV") self.pvFrameType = PV(pvName + ":FrameType") self.pvFrameType_RBV = PV(pvName + ":FrameType_RBV") self.pvGain = PV(pvName + ":LFGain") self.pvGain_RBV = PV(pvName + ":LFGain_RBV") self.pvNumAccumulations = PV(pvName + ":NumAccumulations") self.pvNumAccumulations_RBV = PV(pvName + ":NumAccumulations_RBV") self.pvNumAcquisitions = PV(pvName + ":NumAcquisitions") self.pvNumAcquisitions_RBV = PV(pvName + ":NumAcquisitions_RBV") self.pvNumAcquisitionsCounter_RBV = PV(pvName + ":NumAcquisitionsCounter_RBV") self.pvBackgroundEnable = PV(pvName + ":LFBackgroundEnable") self.pvBackgroundEnable_RBV = PV(pvName + ":LFBackgroundEnable_RBV") self.pvBackgroundPath = PV(pvName + ":LFBackgroundPath") self.pvBackgroundPath_RBV = PV(pvName + ":LFBackgroundPath_RBV") self.pvBackgroundFile = PV(pvName + ":LFBackgroundFile") self.pvBackgroundFile_RBV = PV(pvName + ":LFBackgroundFile_RBV") self.pvFilePath = PV(pvName + ":FilePath") self.pvFilePath_RBV = PV(pvName + ":LFFilePath_RBV") self.pvFileName = PV(pvName + ":FileName") self.pvFileName_RBV = PV(pvName + ":LFFileName_RBV") self.pvFileNumber = PV(pvName + ":FileNumber") self.pvFileNumber_RBV = PV(pvName + ":FileNumber_RBV") self.pvArrayCounter = PV(pvName + ":ArrayCounter") self.pvArrayCounter_RBV = PV(pvName + ":ArrayCounter_RBV") self.pvAutoIncrement = PV(pvName + ":AutoIncrement") self.pvAutoIncrement_RBV = PV(pvName + ":AutoIncrement_RBV") self.pvImageArrayData = PV(pvName + ":image1:ArrayData") # Counter device object #self.scaler = scalerObject self._done = self.isDone() self.time = self.pvAcquireTime_RBV.get() self.countTime = 1
def __init__(self, pvName, mnemonic): """ **Constructor** See :class:`py4syn.epics.StandardDevice` See :class:`py4syn.epics.ICountable` Parameters ---------- pvName : `string` PV name (Process Variable) mnemonic : `string` Mnemonic """ StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.countTime = 1 self.value = 0
def __init__(self, pvScalerName="", numberOfChannels=1, mnemonic=""): StandardDevice.__init__(self, mnemonic) self._counting = False self.pvScalerTP = PV(pvScalerName+".TP") # envia para o IOC do cintilador o tempo de exposicao #self.pvScalerCNT = PV(pvScalerName+".CNT", self.onStatusChange) # envia para o IOC o disparo da medida self.pvScalerCNT = PV(pvScalerName+".CNT") # envia para o IOC o disparo da medida self.pvScalerFREQ = PV(pvScalerName+".FREQ") self.pvScalerVAL = PV(pvScalerName+".VAL", self.onValChange) self.pvScalerCounters = [] self.pvScalerGates = [] self.pvScalerPresets = [] # Initial State if(self.pvScalerCNT.get() == 0 and self.pvScalerVAL.get() == 0): self._counting = False for i in range(1,2+numberOfChannels): self.pvScalerCounters.append(PV(pvScalerName+".S"+str(i), auto_monitor=False)) # valor do contador i self.pvScalerGates.append(PV(pvScalerName+".G"+str(i))) self.pvScalerPresets.append(PV(pvScalerName+".PR"+str(i)))
def __init__(self, pvName, mnemonic, imageBufferQueue=None, processName=""): StandardDevice.__init__(self, mnemonic) self.processName = processName self.initCamera = True self.initNELM = True self.NCount = 0 self.NData = 0 self.imageBufferQueue = imageBufferQueue self.pvData = PV(pvName + ":Data", auto_monitor=True) self.pvData.add_callback(self.onDataChange) self.pvAcquire = PV(pvName + ":Acquire", callback=self.onAcquireChange, auto_monitor=True) self.pvAcquireRBV = PV(pvName + ":Acquire_RBV", callback=self.onAcquireRBVChange, auto_monitor=True) self.pvNELM = PV(pvName + ":Data.NELM", callback=self.onNELMChange) self._done = self.isDone() self.pvPixelSize = PV(pvName + ":PixelSize") self.pvCheckImage = PV(pvName + ":CheckImage") self.pvMinX = PV(pvName + ":MinX") self.pvMinY = PV(pvName + ":MinY") self.pvSizeX = PV(pvName + ":SizeX") self.pvSizeY = PV(pvName + ":SizeY") self.pvAcquireTime = PV(pvName + ":AcquireTime") self.pvAcquireTimeBase = PV(pvName + ":AcquireTimeBase") self.pvDelayTime = PV(pvName + ":DelayTime") self.pvDelayTimeBase = PV(pvName + ":DelayTimeBase") self.pvFileFormat = PV(pvName + ":FileFormat") self.pvFileName = PV(pvName + ":FileName") self.pvFileNumber = PV(pvName + ":FileNumber") self.pvFilePath = PV(pvName + ":FilePath")
def __init__(self, pvRotaryMagnetName="", mnemonic=""): StandardDevice.__init__(self, mnemonic) self._active = False self._done = self.isDone() self.pvRotaryMagnetDESC = PV(pvRotaryMagnetName+".DESC") self.pvRotaryMagnetVAL = PV(pvRotaryMagnetName+".VAL", self.onValChange)
def __init__(self, mca, mnemonic, channel): StandardDevice.__init__(self, mnemonic) self.mca = mca self.mnemonic = mnemonic self.channel = channel
def __init__(self, pvName, mnemonic): StandardDevice.__init__(self, mnemonic) self.pvName = pvName self.modem = Device(pvName+':FONE:', ('discar.PROC','audio','numero','discar.VALA')) self._status = self.getStatus() self.modem.add_callback('discar.VALA',self.onStatusChange)