Commit Graph

804 Commits

Author SHA1 Message Date
fd2d05d7b5 add StructParam
adds a generic solution for creating parameters with struct datatype
with their members linked to individual parameters.

main use case: ctrlpars

read_*/write_* methods are either created for the main (structed)
parameter based on the corresponding methods of the individual
parameters or the methods for the individual parameters are created
based on the methods of the main parameter

+ disable pylint use-dict-literal

Change-Id: I7f1d9fb3d3b2226b548c2999bbfebe2ba5ac285e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31405
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-07-03 08:29:53 +02:00
Alexander Zaft
01348e0c7c server: add option to dynamically create devices
add module which scans a connection and registers new devices depending
on the answer.
* change module initialization to demand-based
* move code from server to dispatcher
- remove intermediate step in Attached __get__

TODO:
  factor out dispatcher (regards to playground)
  discuss factoring out of module creation code from server AND
  dispatcher

Change-Id: I7af959b99a84c291c526aac067a4e2bf3cd741d4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31470
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-07-03 07:23:30 +02:00
fdf82c3989 pylint: disable use-dict-literal
sometimes it is nicer to use dict(...) instead of {}
an objections against removing this check from pylint?

Change-Id: Ib08d3016b7ec3512111021a82685253cdcd42916
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31505
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>
2023-06-30 08:15:11 +02:00
9ece4f797b frappy_psi.sea: try to reconnect on failure
both .asynio and .syncio connection should be tried to reopen.

Change-Id: I836ede1e5fff6f7ac670c92e769da8ec834d2b12
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31449
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-06-28 17:33:40 +02:00
b47e5d270c fix frappy.lib.merge_status
merge_status should consider that the status text in arguments
is already composed. add test for this.

Change-Id: Ia000d1e1d8e97a5c2b5ef9d1569cc123232016ae
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31378
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-06-28 11:49:38 +02:00
Alexander Zaft
cffe301c26 add test cases for server and config
Change-Id: I36427cab769785a9495851348f5e2ed1f20bcbc9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31324
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-22 09:56:40 +02:00
Alexander Zaft
83d11da5ae server: Add signal handling
previously, no cleanup would be performed, SIGINTs being catched above
the server.run() function
+ signal handler for SIGINT, SIGTERM
* put serve_forever in its own thread, to be able to call shutdown() on
  the server

Change-Id: Ia5c021f3d6fd60ff2b9012c10e30715f93104977
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31340
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-21 08:33:22 +02:00
4c911d58b7 frappy_psi.convergence: bug fixes and improvements
- consider that super().read_status() might not exist
- use empty status text instead of 'approaching' for simple busy
- test for tolerance should use <=

Change-Id: Idfd59fcec02827e0eb0105a9ff3b9efb54e41d71
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31379
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>
2023-06-20 16:59:24 +02:00
Alexander Zaft
d079bd15e7 Add shutdownModule function
Add and call shutdownModule function, in order to allow modules to clean
up.
use shutdownModule instead of shutdown to avoid confusion with
severs/dispatchers shutdown and to make it consistent with initModule
etc.
Try to resolve module dependencies

Change-Id: I2a091bf74ecadc2395fcdf92c599f1c49eb120f5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31339
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>
2023-06-20 16:16:08 +02:00
Jenkins system
0c45755170 [deb] Release v0.17.13 2023-06-20 14:38:00 +02:00
Alexander Zaft
b91905fc04 server: fix systemd variable scope
Change 31280 introduced an error where an import was overridden, which
leads python to consider it a local variable, preventing access to the
systemd import. (TODO: a better way to handle the systemd import?)

Fixes: #4732
Change-Id: I5188a8737392bd8befcdfa9af044a21be9af908a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31386
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-20 14:35:48 +02:00
5727ecbc7f frappy_psi.sea: bug fixes
- left over fixes from config file format change
- sea enums might be texts - create SeaEnum datatype for this

Change-Id: I1f1baeeb4d6a0b13b5ec42d651bc0fc37b0fdf2c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31380
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-06-20 09:39:02 +02:00
27b8deeb2e frappy_psi.magfield: bug fix
Change-Id: I8c004fe6ab840b3b6f270702a636a96ebba8c0b8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31381
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-06-20 09:38:40 +02:00
98c8600117 frappy_psi.triton: fix HeaterOutput.limit
+ fix handling of control_active

Change-Id: Ic11933f6c1c4d9df07aa9d06ae4dca40b755e4ed
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31377
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-06-20 07:50:20 +02:00
f7129f6a00 add a hook for reads to be done initially
inital reads from HW should be done in the thread started by
startModule, not in startModule itself.

- add a hook method 'initialReads' for this
+ add doc for init methods
+ fix some errors in doc

Change-Id: I914e3b7ee05050eea1ee8aff3461030adf08a461
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31374
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>
2023-06-20 07:41:47 +02:00
2feff36077 frappy_psi.mercury: proper handling of control_active
Change-Id: I31e846fa6fdf6d642184e3736a66ffd53033bccf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31376
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>
2023-06-19 17:04:55 +02:00
04b6ad09ba frappy.mixins.HasOutputModule
add 'set_control_active' method for overriding by subclasses

Change-Id: Ib344319862a4a0bf29efef16a63db09d1f314a82
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31375
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>
2023-06-19 16:50:57 +02:00
06175da887 frappy_psi.phytron: rename reset_error to clear_errors
use the command 'clear_errors' to return from an error state

+ make sure target is valid after clear_errors

Change-Id: I3c180500a05836d52bbb9a8ecbdb397adea03d0d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31337
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-06-19 16:50:38 +02:00
9306596cb2 frappy_psi.mercury/triton: add control_off command
frappy_psi.triton.TemperatureLoop has not output module to
deactivate control -> add control_off also to loops in
frappy_psi.mercury

Change-Id: I4dc4333134da34a8d3ae0f3c037a1e5b108c95a1
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31341
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>
2023-06-19 10:36:10 +02:00
666ebf5719 GUI bugfix: use isChecked instead of checkState in BoolInput
Change-Id: I4896df13c117c6eeaaaaba80ca3da4b1982c3d9b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31346
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>
2023-06-15 16:36:12 +02:00
Alexander Zaft
3783210b81 add egg-info to gitignore
Change-Id: I33e8987e552383776717e6176567988702be092a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31338
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de>
2023-06-14 13:36:13 +02:00
Jenkins system
18f2fa05c9 [deb] Release v0.17.12 2023-06-13 06:51:28 +02:00
Alexander Zaft
b0e23466cc entangle: fix tango guards for pytango 9.3
Change-Id: I666969f9c798971d5cd8a0c2f6564067ac3cde72
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31327
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2023-06-13 06:50:51 +02:00
Alexander Zaft
6802e8f9d3 io: followup fix for retry-first-ident
followup fix: no error was raised ever for the first identification
message.

Change-Id: I80f0f431add6dfd7b37d750b9fc661174aa8f217
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31318
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-12 14:02:47 +02:00
Alexander Zaft
ff9f7239cf config: fix merge_modules
Change-Id: I31d05afe300443e08fb08f9e6645401f52cfae39
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31323
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-12 14:02:22 +02:00
Alexander Zaft
15ca3c984d io: add option to retry first ident request
Change-Id: I524c15387eaf2461e3dfe690250a55f058467b0b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31291
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-07 10:25:34 +02:00
68d74347c6 silently catches error in systemd.daemon.notify
our version of systemd installed does not accept
a string as argument for systemd.daemon.notify

anyway, whether systemd notifications are sent or not
should not depend only on the presence of a package,
but should be configurable.

Change-Id: I466d1ed2b969301a287dd532ab4d0743a74045fa
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31280
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>
2023-06-02 16:50:11 +02:00
Alexander Zaft
a11b8cf2d1 seop: fix fitparam command
Change-Id: I75589f4c9d954ebb189bd9c785e9f307767fa69d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31273
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-02 09:47:45 +02:00
Alexander Zaft
4a80b4e45d Typo in influences description
Change-Id: If834790c2d269a5c988703da2fcc1764202b5021
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31269
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-01 15:56:18 +02:00
Alexander Zaft
d3c9666593 Add SEOP He3-polarization device
Change-Id: Ifd85584da154b629fdb88c1f4a8605bd788c82e6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31176
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-06-01 14:32:28 +02:00
fa4349784c frappy.client: dummy logger is missing 'exception' method
Change-Id: Id22fe73f3c507e626602ddf045f7a02ed8873f91
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31241
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-31 16:19:16 +02:00
Alexander Zaft
815e91ae26 Add influences property to parameters/commands
Change-Id: Ica1cc40155cae9b6f52788c8559399030c07d379
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31234
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-05-31 09:14:18 +02:00
Alexander Zaft
3b92688b84 Warn about duplicate module definitions in a file
check for each file, if every module definition occurs only once

Change-Id: I4f37f67c07d68068cbced718908927a594defc88
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31194
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>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-05-25 14:12:07 +02:00
Jenkins system
37337ac959 [deb] Release v0.17.11 2023-05-25 09:38:25 +02:00
Alexander Zaft
af0f9b39b5 Fix rstrip misuse in frappy-generator
rstrip uses its argument as a set of characters to strip from the
string. Cut the last four characters with a slice if applicable.

Change-Id: Ia2198acf43f92d6f5d687122301f4a5e5324ac31
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31181
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-05-25 09:31:16 +02:00
a643093934 client: timestamps must never lie in the future
+ use log.exception for error in callback
  (nicer when called from nicos)

Change-Id: If6d3036d9876457e57b996e5b20343d28f99451b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31160
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>
2023-05-24 09:08:07 +02:00
d8c0a1c507 phytron motor driver
an example for HasOffset and limits

+ cosmetic improvement of HasStates.start_machine

Change-Id: I34cbfa65dc04947285d8c901715899915f28fdaf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31070
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-23 16:19:58 +02:00
bda0afe042 client.interactive: fix error when interface_classes empty
Change-Id: I7a4f3052d4c666186930b3b6dceca5f18d89d4e3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31078
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-23 16:19:27 +02:00
4b307fe92a add unit=s to pollinterval
Change-Id: Ie352b3c044cafacbf2e3516284ea8bd1a68f23cc
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31071
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>
2023-05-23 16:16:06 +02:00
04d7d0249a move more code from bin/frappy-cli to frappy/client/interactive.py
allow to call console client easier from outside frappy

Change-Id: If08c5a27ca371a96d9ceedac2e2a7ea576740a60
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31083
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-23 16:15:01 +02:00
Georg Brandl
386e5d241e debian: add new executable
Change-Id: If0faae7aff20a75d1aa327d7da3ddcc48854238c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31152
Tested-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2023-05-23 07:30:47 +02:00
ccb33b81b3 add sea driver
+ fix a bug in frappy.client.ProxyClient: move CacheItem stuff to
  frappy.client.SecopClient.updateValue, as ProxyClient is used by
  SeaClient and does not know Frappy datatypes

Change-Id: I3aef9fdddbdd2bbef0c56a10c8a8031e4acc5993
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31065
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-09 14:49:21 +02:00
37e18a8a5b driver for mercury IPS
OI mercury series magnet power supply

Change-Id: I1ec20435a9e585c543afc736355e39da72eff879
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31009
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-09 14:49:12 +02:00
dfe0038494 improve traceback while processing config file
the filename of the executed config file has to
be known to 'exec' for a meaningfull traceback

Change-Id: I3403740dc9198ce5f64741fbb112cb908159c704
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31055
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>
2023-05-09 13:03:53 +02:00
Alexander Zaft
259970249a Fix lower limit checking of FloatRange
compatible used sys.float_info.min (smallest representable positive
float) instead of -sys.float_info.max.
so FloatRanges -500,10 and -10,10 were two-way compatible
Since it is correctly set in __init__, no need for the guard here

Change-Id: If693fa69a8b2de1aa52ce702bd282a84a8f4c55a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31056
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-05-09 08:49:41 +02:00
3a3ca0372b fix interplay mercury.TemperatureLoop and HasConvergence
frappy_psi.convergence.HasConvergence:
- no need to inherit HasStates (should be independent)
- trigger current state then tolerance or settling_time is changed

frappy_psi.mercury:
- improve readback checks
- fix interplay with HasControlledBy
- fix interplay with HasConvergence

Change-Id: I6efedbe6bbfba5a66ddd22ac441ebf38af11eda6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31047
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-08 14:41:30 +02:00
bc2b860f31 mixins should not inherit Module
else conflicts building MRO may arise

Change-Id: Ifdfc5000884d5d815a55eca6dbb5198b19410890
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31046
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-08 14:39:07 +02:00
Alexander Zaft
e20986c65b Fix interface class list
Communicator Modules were exported with the interface class Module
instead of the correct Communicator interface. Modules that combine
Drivable etc. and Communicator also did not have Communicator listed
as a second valid interface class.

Change-Id: Ib74d866cf97631f7fbc29ea9914b2968010cf226
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31037
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-05-08 10:32:48 +02:00
0153975d32 add HasOffset feature
+ remove all other unused features

Change-Id: Ifb276562a50c656b887cd9bbd5c865cae514d5ff
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31022
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-05 13:06:51 +02:00
e4bb28aa09 improve and fix errors with parameter limits
- in order to work properly, readonly=True in limit parameters
  has to be set before creating the write_* method
- more explicit: Use e.g. target_max=Limit()
- fix an error in the loop over the base classes when creating
  the check_* method
- more concise error message when a limit is violated
+ fix an error in playground when using persistent parameters

Change-Id: Ibd557b55d6c0d9a2612cda4460b16e3c70e1bc9e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31017
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-05 13:06:24 +02:00