d99f2dfbc3
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-21 16:17:31 +02:00
e673dfe92b
[deb] Release v0.17.10
2023-04-21 16:17:30 +02:00
d18e368ab9
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-21 16:17:30 +02:00
a334cc4f0a
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-21 16:17:30 +02:00
42c5e97122
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-21 16:17:30 +02:00
f069b31d5a
[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-21 16:17:30 +02:00
47000f7a9f
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-21 16:17:30 +02:00
6f95c0d825
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-21 16:17:30 +02:00
a9d479ba0a
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-21 16:17:30 +02:00
9329d2b0f4
[deb] Release v0.17.9
2023-04-21 16:17:30 +02:00
4f69899fbe
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-21 16:17:30 +02:00
2dad4b4ee1
[deb] Release v0.17.8
2023-04-21 16:17:30 +02:00
5174321b6a
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-21 16:17:30 +02:00
32edc4c049
[deb] Release v0.17.7
2023-04-21 16:17:30 +02:00
d986134781
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-21 16:17:30 +02:00
bd4330f9fd
[deb] Release v0.17.6
2023-04-21 16:17:30 +02:00
f260bd25b1
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-21 16:17:30 +02:00
d0af831b1f
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-21 16:17:30 +02:00
df8bc1c203
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-21 16:17:30 +02:00
c101af99d3
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-21 16:17:30 +02:00
7baacb0f9e
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-04-21 16:17:30 +02:00
155efb06bf
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-04-21 16:17:30 +02:00
2f730ab444
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-04-21 16:17:30 +02:00
41f3a2ecd4
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-04-21 16:17:30 +02:00
10d2d16453
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-04-21 16:17:30 +02:00
087a5ef476
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-04-21 16:17:30 +02:00
67bbe9d9a5
[deb] Release v0.17.5
2023-04-21 16:17:30 +02:00
0b501ba444
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-04-21 16:17:30 +02:00
981513df10
[deb] Release v0.17.4
2023-04-21 16:17:30 +02:00
95e5102137
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-04-21 16:17:30 +02:00
d498fa9230
[deb] Release v0.17.3
2023-04-21 16:17:30 +02:00
eff8ac8c62
[deb] Release v0.17.2
2023-04-21 16:17:30 +02:00
39f0180f40
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-04-21 16:17:30 +02:00
dd6ee398f2
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-04-21 16:17:30 +02:00
c3796aa6eb
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-04-21 16:17:30 +02:00
4cf54dcce8
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-04-21 16:17:30 +02:00
79277e86f1
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-04-21 16:17:30 +02:00
361f9ac4fc
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-04-21 16:17:30 +02:00
11a3bed8b8
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-04-21 16:17:30 +02:00
5db84b3fa1
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-04-21 16:17:30 +02:00
dccd329435
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-04-21 16:17:30 +02:00
0d265b9752
make return value 'Done' unneccessary
...
'Done' was introduced in order to suppress unneccessary
duplicate updates. However, since super calls on access methods are
allowed, it is not nice when such a method returns Done, as this
is not automagically replaced by the current parameter value.
As a consequence:
- using Done is discouraged, but not (yet) removed in all code
- the 'omit_unchanged_within' property is moved from Module to an
internal Parameter property 'update_unchanged'
- its default is moved from a SEC node property to generalConfig
- the 'update_unchanged' parameter property may be set to
'never' for parameters where duplicate updates make no sense
- this property might be set to 'always', for measurements, where
even unchanged values taken from HW should be transmitted
Change-Id: I2847c983ca09c2c4098e402edd08d0c96c3913f4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30672
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-04-21 16:17:30 +02:00
9cab6670b9
check configured names for spaces
...
reject equipment_ids and module names which contain spaces
Change-Id: I0ffe8fee13122ddfff6715863d0a82f72b5cb9f6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30711
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-21 16:16:40 +02:00
8c6f1a21ab
gui: terminate connection on tab close
...
+ add method to explicitly terminate connection on qsecnode
* disconnect explicitly when closing tabs
Change-Id: I00af5fb296e1499b88eafc033f62fdcc1131a145
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30677
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-21 16:16:40 +02:00
a1271b7268
fix README typo
...
Change-Id: I545835243959c9feb6781f3ed400bff53d0eb428
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30705
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-21 16:16:40 +02:00
9bf187758b
central point for status codes
...
Put status code definitions into frappy.datatypes.StatusType.
frappy.datatypes is anyway imported in servers and clients,
so this is a better place than frappy.modules.
Change-Id: I81dfc8a066f598fbd20854ed1a13b937b7facc8c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30703
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-04-21 16:16:40 +02:00
349c510555
gui: support proper formatting of values
...
- use Datatype.format_value to convert all values
- frappy.client.ProxyClient: use CacheItem instead of 3-tuple
- CacheItem has built in formatting
- adapt gui to use it instead of stopgap
As it is now easy to convert to string including values, it may
be better to move the unit in the modulewidget into the value field.
This would simplyfy the code.
Change-Id: I5c06da4a24706fcbc83ebcbf8c0ea6a8eb6d7890
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30680
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-04-21 16:16:40 +02:00
31b1a916f5
fix importing AsynCon without serial
...
importing HasIO without serial being installed fails, as the import
guard sets Serial to None, which is then called for AsyncSerials
SETTINGS attribute
Change-Id: I94a9eb5c2ff8de1a1b31f31700358d5d2226eadd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30700
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-21 16:16:40 +02:00
9755040ac2
demo: fixup Switch class
...
Target and value are not emitting an update event upon changing target.
Change-Id: Ic01d17fd8529dc0b0a720fbc79d98c7a61fc572b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30645
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 >
2023-04-21 16:16:40 +02:00
c0704b3d4f
split BadValue into WrongType and RangeError
...
in order to match SECoP specification
fixes #4668
Change-Id: Ica73a8171536ccc324cf8db915347a6263c2d736
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30625
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-04-21 16:16:40 +02:00