poll all parameters after reconnect

poller.Poller triggers polling of all parameters right after its iodev
reconnects, if the iodev supports registerReconnectCallback and
has the is_connected parameter

Change-Id: I59bb05cefdbea5efd4f3966ffe5237a75c2174bf
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21995
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
This commit is contained in:
2019-12-11 13:14:21 +01:00
parent bc089d2ae0
commit 07eb252b78
3 changed files with 54 additions and 9 deletions

View File

@ -73,7 +73,10 @@ class Event:
artime.sleep(max(0,timeout))
def set(self):
self.flag=True
self.flag = True
def clear(self):
self.flag = False
def is_set(self):
return self.flag
@ -198,7 +201,7 @@ def test_Poller(modules):
assert len(pollTable) == 1
poller = pollTable[(Poller, 'common_iodev')]
artime.stop = poller.stop
poller._stopped = Event() # patch Event.wait
poller._event = Event() # patch Event.wait
assert (sum(count.values()) > 0) == bool(poller)
@ -233,6 +236,7 @@ def test_Poller(modules):
for module in modules:
for pobj in module.parameters.values():
if pobj.poll:
assert pobj.cnt > 0
assert pobj.maxspan <= maxspan[pobj.polltype] * 1.1
assert (pobj.cnt + 1) * pobj.interval >= total * 0.99
assert abs(pobj.span - pobj.interval) < 0.01