Commit Graph

990 Commits

Author SHA1 Message Date
Alexander Zaft
ed1d693008 fix frappy-server cfgfiles command
frappy-server <name> errors after 34893

Change-Id: Ifba758fbabc3aef32e20b683f1c1edbfea711a75
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34913
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-11-05 15:45:58 +01:00
Georg Brandl
fb883f64de server: better handling of cfgfile argument
No reason to keep stringly-typed data on that level

Change-Id: Iba8d88301bf36ef6051031d1916d1bac84ede546
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34893
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
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>
2024-10-31 17:17:01 +01:00
7ab062a449 generalConfig: fix the case when confdir is a list of paths
convert all env variable values containing ':' into a list of paths
+ fix one case where an env variable is not converted to a Path
+ remove unused _gcfg_help

Change-Id: Ibc51ab4606ca51e0e87d0fedfac1aca4952f3270
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34872
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>
2024-10-31 10:11:11 +01:00
Alexander Zaft
16d5749d9e server: service discovery over UDP.
implement RFC-005
- server broadcasts once on startup and answers to broadcasts
- small tool for listening on the port and sending broadcasts

Change-Id: I02d1184d6be62bef6f964eb9d238220aef062e94
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34851
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-10-31 08:19:30 +01:00
Georg Brandl
e0cff7f81c systemd: enable indication of reloading/stopping
Change-Id: I6dd1b3a50234fb0304fb1a5318f2f22d35d464ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34896
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>
2024-10-30 15:53:00 +01:00
Alexander Zaft
dbb4ed6e97 server: fix windows ctrl-c
thread.join() blocks indefinetely, not allowing python to handle the
interrupt. Same is true for sleep on windows, but when we only sleep a
second, this is fine. Instead of joining the threads, keep track of them
manually.

Change-Id: I559fe06d9ce005a15388c881e4f076d996aea9dc
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34894
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-30 15:52:57 +01:00
ae11d0b33f better order of accessibles: 'value' 'status' and 'target' first
- predefined parameters/commands appear first, in the order
  defined in frappy.params.PREDEFINED_ACCESSIBLES
- other (custom) parameters by inheritance order
- remove paramOrder attribute (not used currently)

Change-Id: If4c43189e4837dba057dc0a430ac6c3d1ae10829
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34904
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-30 15:37:40 +01:00
Alexander Zaft
4a332532e7 generalconfig: streamlined config discovery
determine generalconfig file location in order:
  - command line argument
  - environment variable
  - git location (../cfg)
  - local location (cwd)
  - global location (/etc/frappy)

Change-Id: Ie34bcbd5188837075ee7bb7d5029d676ae72378e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34839
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-29 14:03:00 +01:00
Alexander Zaft
2ece560ad7 Revert "config: allow using Prop(...)"
This reverts commit ba59bd5498.

Reason for revert: unnecessary

Change-Id: I4bf46a1de2e699049572f376e84fa39db5dae76c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34888
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-28 14:19:39 +01:00
Alexander Zaft
512f95eafd config: fix typo
Change-Id: Ie90993d9b2d387780fa3faa28fd8d4523f7fc866
2024-10-28 11:10:34 +01:00
Alexander Zaft
ba59bd5498 config: allow using Prop(...)
Still maps to the same logic, but it might be a bit confusing to
configure properties with prop = Param(...)

Change-Id: I6bde6a0b015095a8b765d98cb2780f0d42de7e6e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34886
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2024-10-28 11:07:21 +01:00
f5e46d82fb fix playground
- fix initialization
- add description

Change-Id: Ic210c26edfec709bafa902e32eae04350d571acd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34874
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-25 09:37:56 +02:00
ccc976984d frappy_psi.sea: bugfix: revert change of updateEvent to udpateItem
revert some of change 34813
SeaClient is based on ProxyClient, not SecopClient
-> updateItem is not defined there

Change-Id: Ib3049038481917ec7a11b9fb2d285cedff5febbb
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34873
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-24 14:59:00 +02:00
Alexander Zaft
d1930868aa core: fix Dispatcher and SECNode opts handling
both tried to consume everything before, also making the check for
unknown options afterwards pointless

Change-Id: I7e44c088163e0b99ac509a2c0f757270807d97ab
Fixes: #4912
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34837
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-10-21 15:20:08 +02:00
Alexander Zaft
51fe236a63 server: show interfaces as custom property
Change-Id: I129be1228b8a04386db5fe370ebdc2ec6ce8050a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34838
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-21 15:16:20 +02:00
Alexander Zaft
29ec5c16aa server: fix positional argument lint
Change-Id: Ib718826e7bbce2c6fcc9b39879c30baec1ecaa5a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34845
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-21 14:47:36 +02:00
Alexander Zaft
11ea75bedf sim: make amagnet sim cfg startable again
Change-Id: I1e7b7dd6e4069c616f49edbe4e223f501a000398
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34844
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>
2024-10-21 14:03:15 +02:00
Alexander Zaft
323581075b simulation: fix extra_params default, ccidu1 cfg
Change-Id: I80672f1c070054871708961bc6641457f8e409ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34843
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-10-21 14:03:10 +02:00
Alexander Zaft
ea1d08e669 test_server: basic description checks
Change-Id: I732ac2349f7e7ab2579f67cc6e51989703531087
2024-10-21 10:19:14 +02:00
Georg Brandl
baa0946e9d pylint: do not try to infer too much
Change-Id: I1aabf4c59fc47e888e8cd096a8228842f35ff769
2024-10-21 10:07:45 +02:00
Jenkins system
1c69abfd45 [deb] Release v0.20.1 2024-10-17 16:31:27 +02:00
Georg Brandl
d4c6a4d6d4 lib: there might be no confdir in "cfg"
Change-Id: I0832de4564a2c1ff439c486ae6cbaa776ebf1e59
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34833
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-10-17 16:31:10 +02:00
Georg Brandl
79cbf87da8 remove sim-server
asyncore is deprecated for a long time and now removed in 3.12

Change-Id: I32eb18797dd13663de08ebedc38ce3de4b5ede93
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34830
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-10-17 16:12:29 +02:00
Georg Brandl
e8a7825f6e remove old unused parse module
Change-Id: Ie94217504a65c21a7a8aa7221f9028a689476ffd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34831
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2024-10-17 16:05:30 +02:00
Georg Brandl
fa75fe9da8 remove unused test class
Change-Id: I887a66befa834a72bc684dc5edbcb5862a0d0b71
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34832
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-10-17 16:00:34 +02:00
Georg Brandl
b7ededef24 gui: do not add a console logger when there is no sys.stdout
Change-Id: Icfd39bd508b5d482c902e6e781cbc557085b0c2e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34829
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2024-10-17 15:57:35 +02:00
Jenkins system
2101bb727b [deb] Release v0.20.0 2024-10-17 14:24:29 +02:00
Georg Brandl
1d609deab6 setup: fill long_description and url
Change-Id: Ib5db4d9c33f205d181ed78c65265601caf23a53d
2024-10-17 14:22:47 +02:00
Georg Brandl
63ec5b6cb4 setup: fix classifiers
Change-Id: I473785df9c1157a77d02c3e1114bb6633d01149f
2024-10-17 14:12:21 +02:00
Georg Brandl
035472a707 update declared version to 1.0 final
Change-Id: Iec2564a5c95baf95de5f7e63ed1890334477c70f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34793
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.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>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-17 14:01:53 +02:00
2a99aa73e0 add more datatype tests
check from_string and to_string are counterparts
redesign standard value checks for this

Change-Id: I825cdba5955596096fd11ab52de571f05845d7ae
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34737
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2024-10-17 08:03:09 +02:00
cd20011437 add Datatype.to_string as counterpart of .from_string
This allows simple UIs using stringified versions in
text input.

- add frappy.client.SecopClient.setParameterFromString
- fix datatype tests
+ add updateItem to CallbackObject (for doc)

Change-Id: Ic7792bdc51ba0884637b2d4acc0e9433c669314d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34736
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2024-10-17 08:03:02 +02:00
28603aed5d do not fail when generalConfig.init() is called twice
Change-Id: I7132b71f906fc8a77b6fedcdcc2c7d4a3e48830a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34818
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2024-10-16 15:43:01 +02:00
Enrico Faulhaber
d50718a121 add test for importing custom modules
related: #4882

Change-Id: I605de7fd43be146c84f4324d2a8eebe0aa11da79
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34814
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2024-10-16 15:41:17 +02:00
Georg Brandl
d4668d904f install libgl1 for pyqt6
Change-Id: I873f97fb497364d9c647797a899cf348c430214b
2024-10-16 15:18:08 +02:00
Georg Brandl
5d74042fc9 install pytango for testing
Change-Id: I04e0dbc6d59b388dbcf6657b8815642fcdc25094
2024-10-16 15:15:51 +02:00
Georg Brandl
bd4519db4c new setuptools needs new importlib_metadata
Change-Id: Ie4220f7ec2c11b3dcf64c65b3ed97a3d9129af5c
2024-10-16 15:11:53 +02:00
Georg Brandl
084529d5fb ci/Dockerfile: do no use pytango from upstream
Change-Id: Ie002aff67e0fb4d6daf6f621c58be8c5ab71af9d
2024-10-16 15:06:14 +02:00
Georg Brandl
3bbde105f8 remove old "buffer" message
Change-Id: I010f535ec746ef15ccfc2929a2e62ccb83894c33
2024-10-16 15:06:14 +02:00
Enrico Faulhaber
831d74b993 ci: also install gui requirements for additional tests
Change-Id: Idc40699d470fb6449366a1cd75a3207cabcdd4a4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34815
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-10-16 14:43:22 +02:00
ffe5f52790 frappy_psi.sea: avoid error on import
the previous code raised an error when generalConfig.init() was
not called before importing. defer evaluation of seaconfdir to
the time it is used

+ use updateItem instead of updateEvent to avoid pylint complaint

Change-Id: I0da0891a8d4091102d2a149705f5546e2f6fd187
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34813
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>
2024-10-16 11:15:27 +02:00
Georg Brandl
6ac25c7504 fix descriptive data
- remove unspecified "version" and "interface" properties
- add frappy version to "firmware" property
- keep custom node props with underscores

Change-Id: Ib047e4765a90f2833f9e41af69a665554dd20737
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34792
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2024-10-15 10:17:15 +02:00
Alexander Zaft
e1458471a8 psi: change open calls in sea
Change-Id: I4fe235027df4ea935d84e29895eb280f620afbdf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34665
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-09-23 08:07:23 +02:00
Alexander Zaft
c550721e2d generalConfig, config: use pathlib
- switch to pathlib
- represent multiple confdirs as list of Paths internally, not string
  with pathsep

Change-Id: I1418e561641e27cd904af0762be056cd66ee1919
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34464
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
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>
2024-09-19 13:34:14 +02:00
Alexander Zaft
90d49355fa all: start using pathlib
Change-Id: I2b0d6ff8f534382913414fa9b35150d6f697acb4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34463
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-09-19 13:32:15 +02:00
116ad54ac1 GUI: allow enums to be plotted
numpy.finite() does not accept enums -> convert to float first

Change-Id: Ib740800a7410ada38fb48711d4da676af8b64b17
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34608
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2024-09-13 09:02:45 +02:00
8660d83a67 GUI: avoid space needed for closed groups
the empty QLabel in widgets for readonly parameters was not hidden
with the group.

Change-Id: I0e5ad49c3b693483a3cabf849e7962925cfcc434
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34607
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2024-09-10 15:21:37 +02:00
Alexander Zaft
235e0f5820 bin: remove make_doc
relic from markdown documentation

Change-Id: I8cb1913e6b6d1b8efe77d4d7f982f95e75166707
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34465
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>
2024-08-27 11:12:42 +02:00
Jenkins system
a7b763713b [deb] Release v0.19.10 2024-08-07 17:00:07 +02:00
Georg Brandl
4c77b0b923 remove walrus
So far, frappy is still supposed to be 3.6 compatible

Change-Id: Ieb56c6500d58cdc1fe2f34b1448b05ba74b0fa6e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34326
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: Georg Brandl <g.brandl@fz-juelich.de>
2024-08-07 15:32:12 +02:00