def updateState(self, state=None):
       BlissMotor.updateState(self, state)
       
       if self.motorState==BlissMotor.READY: 
         pos = self.getPosition()

         for positionName in self.predefinedPositions:
              if self.predefinedPositions[positionName] >= pos-self.delta and self.predefinedPositions[positionName] <= pos+self.delta:
                  self.emit('predefinedPositionChanged', (positionName, pos, ))
                  return

         self.emit('predefinedPositionChanged', ('', None, ))
    def connectNotify(self, signal):
        BlissMotor.connectNotify(self, signal)

        if signal == 'predefinedPositionChanged':
            positionName = self.getCurrentPositionName()
            
            try:
                pos = self.predefinedPositions[positionName]
            except KeyError:
                self.emit(signal, ('', None))
            else:
                self.emit(signal, (positionName, pos))
        elif signal == 'stateChanged':
            self.emit(signal, (self.getState(), ))
    def init(self): 
        BlissMotor.init(self)

        self.predefinedPositions = {}
        self.predefinedPositionsNamesList = []
        self.delta = self.getProperty('delta') or 0

        try:
            positions = self['positions']
        except:
            logging.getLogger("HWR").error('%s does not define positions.', str(self.name()))
        else:    
            for definedPosition in positions:
                positionUsername = definedPosition.getProperty('username')

                try:
                    offset = float(definedPosition.getProperty('offset'))
                except:
                    logging.getLogger("HWR").warning('%s, ignoring position %s: invalid offset.', str(self.name()), positionUsername)
                else:
                    self.predefinedPositions[positionUsername] = offset 

            self.sortPredefinedPositionsList()
Exemple #4
0
    def init(self): 
        BlissMotor.init(self)

        self.predefinedPositions = {}
        self.predefinedPositionsNamesList = []
        self.delta = self.getProperty('delta') or 0

        try:
            positions = self['positions']
        except:
            logging.getLogger("HWR").error('%s does not define positions.', str(self.name()))
        else:    
            for definedPosition in positions:
                positionUsername = definedPosition.getProperty('username')

                try:
                    offset = float(definedPosition.getProperty('offset'))
                except:
                    logging.getLogger("HWR").warning('%s, ignoring position %s: invalid offset.', str(self.name()), positionUsername)
                else:
                    self.predefinedPositions[positionUsername] = offset 

            self.sortPredefinedPositionsList()
 def __init__(self, name):
     BlissMotor.__init__(self, name)
 def __init__(self, name):
     warn(
         "BlissMotorWPositions class is deprecated. Use BlissNState instead",
         DeprecationWarning,
     )
     BlissMotor.__init__(self, name)
Exemple #7
0
 def __init__(self, name):
     BlissMotor.__init__(self, name)