- implement a 'handleError' callback
- SecopClient.handleError is registered as a callback and by default
logs errors up to a limited number of times
- the cache is customized to return an item indicating an undefined value,
helping to avoid follow up errors.
+ frappy.errors: cosmetic fix
+ frappy.client: cosmetic changes
Change-Id: I4614e1d27c7aea3a1a722176c6be55f8563597cd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33429
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
buggy updates or errors in callbacks are now converted into
error updates, buggy error updates are skipped.
-> the receive thread should no longer crash
Change-Id: I97e3999db73e64f73dfbc380fac3d7685b6ca31c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33386
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
when a reply to a request is not received within 10 s a timeout
error is raised, but any further requests with the same identifier
will be blocked - fix this
Change-Id: Id2fbc8bb6e6ecfd54bba1fa57b62e626e49b54c8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33385
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
this seems to be broken in change 33266
Change-Id: I4da78f297976daeac0a0709b9c86e6e28fc122bf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33268
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
triggerPoll must be set on attached io
Change-Id: If3fa1016efa6047371380790f60db246d87b3628
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33269
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
- driving in an extra thread, hoping not to miss end of travel
status bits (does not work always)
- maxtry parameter for trying several times
TODO: move by step (in an other thread)
Change-Id: I89b51d1f6926f2fd26ec22d43aede377b5231583
- fix inheritance of command description
- when no stop method is given, then the description should indicate
that stop is a no-op -> add missing doc strings to stop methods
- add test to make sure stop command doc strings are given
when implemented
Change-Id: If891359350e8dcdec39a706841d61d4f8ec8926f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33266
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
on Module, use one single callback list 'paramsCallback' instead of
'valueCallbacks', 'errorCallbacks'. Redesign the mechanism to
avoid most of the closures.
Change-Id: Ie7f68f6bf97ab3f3cd961faa20b0e77730e5b37d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33118
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
- for the case when the remote module name does not match,
'read', 'change' and 'do' does not work
- a proxy to an IO class has enablePoll == False, but it needs
a triggerPoll for modules relying on it to work
- a proxy on a communicator module has a status even when the
remote does not - this needs 2 fixes
Change-Id: Icd44da4c2984f27ce7147dec633739f9176012ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33168
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
for the use case where a parameter is a selection of discrete
float parameters
declaring a parameter as FloatEnumParam will create effectively
two parameters, one with datatype FloatRange and another with
datatype Enum, influencing each other automatically.
in a later change StructParam should be moved from
frappy/structparam.py to frappy/extparams.py
Change-Id: Ica3fd8dcaf6e9439e8178390f220dec15e52cc86
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32975
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
- ls372 autorange: wait one sec. more for switching
- keep only one channel, even after target is reached
- intermediate target only when T is raise, but not when lowered
For the case when the readback of a parameter does not reflect the
change immediately.
May also be used on Writable.target or Drivable.target with a short
BUSY period.
+ bug fix in an error message in frappy.datatypes.IntRange
Change-Id: I5e1c871629f9e3940ae80f35cb6307f404202b4a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31981
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>