Exemple #1
0
    def _set_value(self, value, timestamp=None):
        if isinstance(value, cas.gdd):
            info = self._gdd_to_dict(value)

            self._timestamp = info['timestamp']
            self._value = info['value']
            self._status = info['status']
            self._severity = info['severity']
        else:
            gdd = cas.gdd()
            gdd.setPrimType(self._ca_type)

            if timestamp is None:
                timestamp = cas.epicsTimeStamp()

            self._timestamp = timestamp
            self._value = value
            self._status, self._severity = self.check_alarm()

            if not self._interest:
                return

            self._gdd_set_value(gdd)

            # Notify clients of the update
            self.postEvent(self._mask, gdd)
            self._mask = cas.DBE_VALUE | cas.DBE_LOG
Exemple #2
0
    def _set_value(self, value, timestamp=None):
        if isinstance(value, cas.gdd):
            gdd = value
            info = self._gdd_to_dict(gdd)

            self._timestamp = info['timestamp']
            self._value = info['value']
            self._status = info['status']
            self._severity = info['severity']
        else:
            gdd = cas.gdd()
            gdd.setPrimType(self._ca_type)

            if timestamp is None:
                timestamp = cas.epicsTimeStamp()

            self._timestamp = timestamp
            self._value = value
            self._status, self._severity = self.check_alarm()

            self._gdd_set_value(gdd)

        if self._interest:
            # Notify clients of the update
            self.postEvent(self._mask, gdd)
Exemple #3
0
 def _gdd_to_dict(self, gdd):
     '''Take a gdd value and dump the important parts into a dictionary'''
     timestamp = cas.epicsTimeStamp()
     gdd.getTimeStamp(timestamp)
     value = gdd.get()
     status, severity = self.check_alarm(value)
     return dict(timestamp=timestamp,
                 value=value,
                 status=status,
                 severity=severity)
Exemple #4
0
 def _gdd_to_dict(self, gdd):
     '''Take a gdd value and dump the important parts into a dictionary'''
     timestamp = cas.epicsTimeStamp()
     gdd.getTimeStamp(timestamp)
     value = gdd.get()
     status, severity = self.check_alarm(value)
     return dict(timestamp=timestamp,
                 value=value,
                 status=status,
                 severity=severity)
Exemple #5
0
 def touch(self):
     '''Update the timestamp and alarm status (without changing the value)'''
     self._timestamp = cas.epicsTimeStamp()
     self._status, self._severity = self.check_alarm()
Exemple #6
0
 def touch(self):
     '''Update the timestamp and alarm status (without changing the
     value)'''
     self._timestamp = cas.epicsTimeStamp()
     self._status, self._severity = self.check_alarm()