reduce communication traffic
- expermental change: no updates of unchanged values within 1 sec - reduce fast_pollfactor in trinamic - improve stop behaviour of dpm.DPM
This commit is contained in:
@ -419,6 +419,8 @@ class Module(HasAccessibles):
|
||||
def announceUpdate(self, pname, value=None, err=None, timestamp=None):
|
||||
"""announce a changed value or readerror"""
|
||||
pobj = self.parameters[pname]
|
||||
timestamp = timestamp or time.time()
|
||||
changed = pobj.value != value or timestamp > (pobj.timestamp or 0) + 1
|
||||
if value is not None:
|
||||
pobj.value = value # store the value even in case of error
|
||||
if err:
|
||||
@ -431,7 +433,9 @@ class Module(HasAccessibles):
|
||||
pobj.value = pobj.datatype(value)
|
||||
except Exception as e:
|
||||
err = secop_error(e)
|
||||
pobj.timestamp = timestamp or time.time()
|
||||
if not changed:
|
||||
return # experimental: do not update unchanged values within 1 sec
|
||||
pobj.timestamp = timestamp
|
||||
pobj.readerror = err
|
||||
if pobj.export:
|
||||
self.DISPATCHER.announce_update(self.name, pname, pobj)
|
||||
|
Reference in New Issue
Block a user