Commit Graph

743 Commits

Author SHA1 Message Date
3cea8580ae issues with StructOf
- depending whether client or server side, handling of optional is different
- fix issues when struct is used as keyworded command arguments

Change-Id: I72b347b1a96ee3bce1f67dace4862c313c12c7a9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30972
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-02 15:27:25 +02:00
65ff0c0fc3 a playground for debugging drivers
playgound for trying out drivers by calling methods read_*
and write_* directly without starting a real SECoP server

Change-Id: Ia7d2366920d29794a4eda5d7bfb2b62d4930eb65
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30944
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-02 15:27:12 +02:00
21427ca765 frappy_psi: two small fixes in k2601b/ppmssim
Change-Id: I5b3a333fd6e79d1f09d540726ce0a91580c63d08
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30983
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-02 09:46:21 +02:00
3929a37e93 fix issues with lakeshore 370
- simplify parsing/formatting of LakeShore commands
  -> allow 'g' as enum format
- HasIO: check missing io later
- ls370res.ResChannel: get io for channels from switcher
- rwhandler.CommonWriteHandler: return value in write method
- frappy_psi.channelswitcher: fix the case when default channel does not exist

Change-Id: I28dd94cdf922cde307b870d4ffdfc64664c3423b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30949
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-02 07:56:14 +02:00
ea5cdbbe44 improve error handling on callbacks
errors in callback functions should be reported to log,
but not stop the callback chain

Change-Id: I4fc509b7121960ebe59e1ad4f4b4746dfb4d5ba3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30950
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-05-02 07:48:05 +02:00
Jens Krüger
827d27ed59 MLZ/Entangle: Fix formatting issues
Change-Id: I33b90a202ef55260159d13de1ecda8ca107e5bf3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30968
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de>
2023-04-28 10:14:06 +02:00
5f4e5d22b7 make io device visible as expert by default
Change-Id: I49204bd2f951413e660d701ed67c0c08bcc29e43
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30967
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-04-27 16:39:05 +02:00
Alexander Zaft
97083a4db5 specify minimum pyqt5 version
Change-Id: I06f169fc9fc8734a9284e3db570e58422c271c92
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30938
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-04-24 14:11:40 +02:00
1d97a422c2 fix error from manual %-format conversion
frappy_psi.ppms (line 263) was not correctly converted probably due
to the fact, that dict access with f-strings gets quite ugly.

As it seems we want to get rid of %-format, use str.format_map here.

Change-Id: Idf5b700554aa7a02a6647dc4672bf4a3856f92a5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30933
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-04-20 17:17:31 +02:00
Alexander Zaft
4b2500a9d7 Add __format__ to EnumMember
Make the format specifier 'd' able to be used when formatting them
in f-strings as an alternative to an int()-cast.

Change-Id: I4083aa0f4b0d8d10e3e11a29591cfbf5e5aca03d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30902
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-04-20 13:36:04 +02:00
Jenkins system
9e7a0a8c1d [deb] Release v0.17.10 2023-04-19 14:32:52 +02:00
Alexander Zaft
805df680da make entangle mapping a dict
Change-Id: I38d863a907469674001f0721140f88c17b53635b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30911
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-04-19 14:29:11 +02:00
Alexander Zaft
0bf4b6cdf2 Manually convert most remaining format statements
%d accepts floats and other things, so manual fixes are needed after
conversion.

After flynt -ll 2000 --aggressive, each was manually checked if the
casts with int() are needed.

Two statements are still missing in ls370res

Change-Id: I2651ddbe60695aa19582882a97d0f71bcb05c1ef
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30901
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-04-19 13:59:54 +02:00
Alexander Zaft
32b6d6ffc2 Rebuild NodeWidget when the description changes
+ add descriptionChanged signal
* track detached of TabWidgetStorage correctly
* build new NodeWidget when the nodes description changes. the old one
  is replaced

Change-Id: I61e60c61b7c2c975819730cb98562657a66f16af
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30910
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-04-18 10:05:22 +02:00
Alexander Zaft
bbddb6c572 [WIP] gui: add specific input widgets
+ add bool, enum and generic input widgets

Change-Id: If6962ed6f2c96a319d4ed8c8ee5fb8c03f6e7f82
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30723
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-04-17 08:57:24 +02:00
Alexander Zaft
de1579c34a move unit into display label
TODO: decide if this is preferable to a dedicated label
Change-Id: I707fad5ab85bf2de53f82bc638a9fe20eb26f14e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30786
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-04-17 08:50:34 +02:00
Alexander Zaft
34183453e0 Convert formatting automatically to f-strings
Automatically convert formatting with the following call:
flynt -ll 2000 -v frappy*
Result: 303/381 auto-converted.
Failing conversions will be looked at manually in a follow-up commit.

Change-Id: Icd996b27221202faccc15af78e0380cf52ee37f2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30900
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-04-14 15:50:27 +02:00
Alexander Zaft
c114dbab26 Change leftover %-logging calls to lazy
Change-Id: I0bee8d02ac364ab93f77919cae78afa386b85c85
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30899
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-04-14 15:50:19 +02:00
Jenkins system
1dcd1db4eb [deb] Release v0.17.9 2023-04-11 16:09:04 +02:00
08071acbf9 interactive client: avoid messing up the input line
- trigger a redraw of the input line when asynchronous log
  messages arrive
+ do not print traceback on 'remote' errors
+ persistent readline history

Change-Id: If85fd064c1c09c44e0cb0ebccbfc1b6411ad5aac
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30793
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-04-05 10:43:06 +02:00
Jenkins system
4ad9669531 [deb] Release v0.17.8 2023-04-05 07:20:26 +02:00
Jens Krüger
33f9f39f3c Debian: Fix typo
Change-Id: Iba218600bd60ad663869cee7758d6d4ac1387908
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30864
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de>
2023-04-05 07:19:18 +02:00
Jenkins system
59131c7456 [deb] Release v0.17.7 2023-04-05 07:07:25 +02:00
Jens Krüger
5245779fd9 Debian: add pyqtgraph dependency
The pyqtgraph version should be >= 0.11.1 (tested on Debian 11), so the
buster installation won't run without manual interaction: Installation
of pyqtgraph via pip

Fixes: #4711

Change-Id: If785da5578ac7f3812d8d49bc36d055cde4a37f9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30859
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de>
2023-04-05 07:06:16 +02:00
Jenkins system
fed071d74a [deb] Release v0.17.6 2023-04-04 08:42:26 +02:00
Jens Krüger
d79a24221b Fix debian GUI package dependency
The current python packages for Qt5 are called 'python3-pyqt5*'

Change-Id: I36bba2be50eb8769b01eeaf1202b32d3c849fc56
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30854
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-04-04 08:39:56 +02:00
bf83f9a185 improve error messages
- treat validation errors of the result of write_ and read_ messages
  properly
- add info about the called read_* and write_ methods to the error
  message, in case the error is not raised in the outmost method
- as subsequent errors in poll functions are logged only once, log an
  info when a poll function succeeds again
- remove DiscouragedConversion error

Change-Id: Ib66e001cc95de8225751a1464a92594c369ceb3f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30788
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-04-04 08:15:26 +02:00
Alexander Zaft
c1d5b77e9c cli: add argparse and inlcudes before repl
+ add argparse to cli
+ add option for files that are executed after connection to the modules
  but before repl starts
+ add option to skip interactive mode after executing files

Change-Id: I8f01db84b2c91d4bf1a7b397e8fa1bf0c87ddf0d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30823
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Tested-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-04-03 11:30:53 +02:00
Alexander Zaft
9791f15807 add optional validation to ValueType
* add optional parameter for ValueType: validator
used for checking, if a value meets a criteria (e.g. is dict)
+ InternalParameter, which is not exported and can hold any python value

Change-Id: If39a7a4a8019f2aa1a930e42cbef4fca59163b78
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30787
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-04-03 10:09:26 +02:00
Alexander Zaft
2daa8d49bf add copyright headers where missing
Change-Id: Ie68ed439d084b4b79d7db81b58360967f5726d7c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30768
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-03-24 08:11:34 +01:00
Alexander Zaft
1041fd58f3 gui: logwindow improvements
* make state consistent with menu action
* colorize
* add time to log message

Change-Id: I0c0800ddb1843b826a6adacf4e4b18d52598acf2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30759
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-03-24 07:32:03 +01:00
Alexander Zaft
56c4e221bc gui: add console history
+ add HistorySerializer to merge histories in correct order
* move console to own file
* promote msgLineEdit to class based on NICOS-HistoryLineEdit

Change-Id: I853d49a70640f38275c8762ab345003db5ec5592
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30753
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-03-24 07:31:39 +01:00
Alexander Zaft
d654708060 gui: switch group button order, change text
* change order of name and toolbutton
* change text on click

Change-Id: I6efba544d0ba63fd8065483a566643372892cc00
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30750
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-03-23 11:01:20 +01:00
Alexander Zaft
2086259bb4 gui: full module description only in detailed mode
* take only the first line of the description, this makes the normal
  view more condensed if it is formatted like a git commit message or
  similar

Change-Id: I268dce0aa09d3ad5133815fe33577532bf0a2e96
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30749
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-03-23 11:01:14 +01:00
Alexander Zaft
205789a51d gui: show parameter properties again
* parameter properties shown with own button
* for now as a popup window

Change-Id: If3b51eb66a759c207591f1341126557f2c6e4a3d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30748
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-03-23 11:01:04 +01:00
Jenkins system
6bb3104134 [deb] Release v0.17.5 2023-03-22 12:32:06 +01:00
Alexander Zaft
b6204d5fbc Fix generator
Change-Id: Ic332e9c130b56e446787af87718d4028f2aac714
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30746
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-03-22 12:31:45 +01:00
Jenkins system
bd7ecbe167 [deb] Release v0.17.4 2023-03-22 11:44:34 +01:00
Alexander Zaft
78ab28c6d3 Fix entangle integration bugs
found during ccr-box adaption
* missing param description DigitalOutput
* missing Writable baseclass in DigitalOutput
* rework ccr config file

Change-Id: Ie40f875caacd374b02e6f6175b5fb003619c5f4e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30743
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-03-22 10:18:23 +01:00
Jenkins system
013d20e8af [deb] Release v0.17.3 2023-03-21 15:55:10 +01:00
Jenkins system
2a4b94aa3b [deb] Release v0.17.2 2023-03-21 15:49:08 +01:00
bf809b4b9a format unit properly in the case of nested arrays
The unit is shown at the end of nested arrays.

Change-Id: I235bc40e61161e09a7b00cd1e186d8d8c1769d89
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30734
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-03-21 14:36:16 +01:00
7186759435 fix issues when closing tabs
- catch error on AsynTcp.shutdown (when already disconnected)
- avoid opening duplicate tabs
- shorten try except in mainWindow._handleTabClose to the minimum
+ fix an issue with frappy.client.CacheItem.formatted

Change-Id: Ice4086373a89a969f02e08ec90a173edbd5b0585
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30730
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-03-21 14:35:35 +01:00
Alexander Zaft
2722a0a40f gui: more greeter interactions
+ double click item to open node
+ Enter key while recent nodes are focused opens selected

Change-Id: I397f743faec70e623b5ef9a86d61625f8db7e933
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30736
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-03-21 14:18:19 +01:00
Alexander Zaft
df7dc2e612 Add SECoP link to readme
Change-Id: I5990b59e26060f9c9a2457f455537a0af28e28bb
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30735
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de>
2023-03-21 13:27:20 +01:00
fb3a31761c fix generalConfig defaults
bin/frappy-server:
- the default for omit_unchanged_within must not be overriden
+ remove no longer used disable_value_range_check

Change-Id: I5c0620e44dc7df3ae2ca48f7ab6371189acae489
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30727
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-03-21 09:15:03 +01:00
80297963d2 remove UNKNOWN, UNSTABLE and DISABLED from Readable.status
- re-add them where needed (epics, entangle ...)

Change-Id: I2b8af9f5f86285f081d5418211f6940e80a1dbd7
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30718
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-03-21 08:29:49 +01:00
ace85026e0 improve frappy.errors
- include all secop errors from spec
- add doc strings
- make conversion to and from error report nicer
- move all error classes to frappy.errors
- rename errors clashing with built-in errors

Change-Id: I4d882173b020cd4baf862c5891375b691e67e24a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30721
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-03-21 08:29:20 +01:00
a15cfc87bf simplify status type declaration
- StatusType: simpler inheritance (inherit from module instead of Enum)
- StatusType: more robust for standard codes, give names only
- <Module>.Status is automatically extended
- Enum: accept duplicates with same name and value

Change-Id: Iad1dacf14c31fe6f4ae48e7560b29e49838e4f23
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30716
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-03-21 08:18:40 +01:00
670fc39821 enhanced parameter range checks
- check for <param>_min and <param>_max
- customized checks with check_<param> method

the inherited customized check functions are all called in
a sequence, with the possibilty to return True to quit earlier,
no need to use super calls here

Change-Id: I903081abbbad2586c1e8237e303abaa3683ac419
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30632
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-03-21 07:51:28 +01:00