585 Commits

Author SHA1 Message Date
f4e974f46c improve parameter initialisation
- make 'value' a Parameter property instead of an attribute
- use 'value' instead of 'default' property for setting
  the initial value in the config file
- removal of initwrite parameter property

this change is the basis of a better implementation
for change 30041 (PersistentParam property 'override_cfg')

Change-Id: I2b82bdd54c2dacb87dcd2b3472004d2f0a730cf0
2023-01-20 16:55:06 +01:00
82957c287d Merge "rework datatypes (setter should not check limits)" 2023-01-19 08:28:30 +01:00
Alexander Zaft
05593d80f6 Bring demo up to date
* Add python config for test and demo server
* Remove old configs
* Fix issue with slow start of test server

Change-Id: If0e576f4e4dda8b03489fdbb79b209dfcdca29ff
2023-01-18 16:24:30 +01:00
7a870aa56c rework datatypes (setter should not check limits)
- use Datatype.validate for converting and checking limits
  (used also in properties)
- Datatype.__call__ converts and validates, but without checking
  limits (used in setter)
- Datatype.validate may be used to add missing optional struct elements
  from previous value (used in Dispatcher._setParameterValue)
- remove problematic range check
+ use shorter formula for converting float to int in ScaledInteger
  (leftover from python2 compatibility)
+ improve error messages (strip very long repr(value))

Change-Id: Ib85736fe558ec3370ebce4e1c43f957e3bb0497c
2023-01-16 10:18:15 +01:00
Alexander Zaft
09d48ea913 Merge "GUI: add logging infra, switch to argparse" 2023-01-12 13:12:09 +01:00
Alexander Zaft
8850edbc2d Merge "Change config to Python" 2023-01-12 13:10:37 +01:00
3cc9a75174 improve He level tutorial
values return from read_* methods should be converted
from string to float on float parameters

+ fix some wording

Change-Id: Ic80010c6fbe3eef23483ff69c8a43e25afb8bb6a
2022-12-22 13:39:47 +01:00
Alexander Zaft
52b77ba9e6 Change config to Python
- Change Configuration format to be python-based.
- move config logic to frappy/config.py
- Add first py-config: cryo_cfg.py
- Adapt test to new expected config format

Change-Id: Iaec484e0e1e21ebbb1e5c74b53be6231329ddf71
2022-12-20 09:48:14 +01:00
Bjoern Pedersen
db3b190c26 Improve jenkinsfile
Change-Id: I68efdd1a20135a0374fb9692e369a315824786ea
2022-12-19 14:34:48 +01:00
Alexander Zaft
c522c41654 GUI: add logging infra, switch to argparse
First part for #4662

Change-Id: I75877337e8ea35d4c4555471ee4518c942dac88a
2022-12-08 16:38:00 +01:00
Enrico Faulhaber
929e41ffff Merge "Fix identification response" 2022-12-06 18:00:10 +01:00
Alexander Zaft
8d99a8c536 Fix identification response
- fix header, but accept both responses
- warn when counterpart uses old behaviour

Fixes: #4659
Change-Id: Ib8869755898bf20edcbc7ae93157c943f816ebc1
2022-12-06 14:43:45 +01:00
a14c282993 redesign of the state machine
With the current implementation, we run into a deadlock with the lock
from the state machine interfering with the accessLock on the module.
We can not wait for the state machine to finish while having the
accessLock locked by write_target. As a consequence, when restarting
the state machine we should not wait, but remember the state function
to call and postpone the restart after the cleanup has finished.
For this, we want to know the status before calling the state function.

- create HasState mixin, using doPoll for driving the machine
- StatusCode decorator for assigning a status to a state function
- remove the state machines 'threaded' option
- 'Retry' is now a unique value instead of a class. The retry period
  is determined by the (fast) poll interval.
- return 'Finish' instead of None for finishing the machine. returning
  None for state function is now an error, as this might happen
  easily inadvertently.

Change-Id: Icb31367442f10e98be69af3e05a84f12ce5cc966
2022-12-06 10:18:50 +01:00
Alexander Zaft
d09634a55d Fix error Message for too large arrays
Change-Id: I69b6789ef9f463565918a395120b8f5ad3494b20
2022-11-28 09:28:37 +01:00
b17030afa2 Merge "interactive client: fix detection of overriding modules" 2022-11-10 17:01:34 +01:00
37c9efb27b interactive client: fix detection of overriding modules
+ add docstring to PrettyFloat

Change-Id: Idc92e169e94d0c2bd3f9b8958870393295c87b18
2022-11-10 15:58:28 +01:00
Enrico Faulhaber
4167ce7b00 fix sorce package name
Change-Id: I91cd5d5e6d2da00eedc3e2ff0ee2a1d3e9ed4b04
2022-11-10 15:00:27 +01:00
Jenkins system
2b7b2267d2 [deb] Release v0.15.0 2022-11-10 14:46:02 +01:00
Enrico Faulhaber
8071c21819 Merge "Fix typo in .description" 2022-11-10 14:43:32 +01:00
Enrico Faulhaber
e16ef3ae87 Merge "rename debian files" 2022-11-10 14:42:54 +01:00
Björn Pedersen
51147d8e09 Fix doc warnings/errors
Change-Id: Idd6feeb66d58bc562853d3a82831645ef2d5ccf6
2022-11-10 11:12:32 +02:00
Alexander Zaft
6909eb8541 rename debian files
Change-Id: Ib990ecb8ef5ad856eb32110e5448064acf9a5a12
2022-11-10 09:46:46 +01:00
Björn Pedersen
5d6b208671 CI build: upgrade base image
- use python 3.9 (3.9 bullseyse)
- add latex-fonts-extra to fix missing tgtermes.sty
- in bullseye python3-pytango has been renamend to python3-tango
 (https://packages.debian.org/stable/python/python3-tango)

Change-Id: I06c8d8e432644f657057d14bbe754f28e2c10dd4
2022-11-10 09:08:21 +01:00
Alexander Zaft
b3eebb6c6a rename debian package files
Change-Id: I376082a68ceacd6fda984dc8dc1d53fa4afbbfef
2022-11-09 16:31:40 +01:00
Alexander Zaft
7f166a5b8c Rename from secop to frappy
debian/ is still missing, will follow in next commit.

Fixes: #4626

Change-Id: Ia87c28c1c75b8402eedbfca47f888585a7881f44
2022-11-09 16:29:29 +01:00
Alexander Zaft
c1eb764b09 fixed pylint warnings
Change-Id: Ibb3da77e9a53b7293a280659defc029416e30e3b
2022-11-09 17:19:17 +02:00
Christian Felder
a9d798fabc Fix typo in .description
Change-Id: I84def1c25279a2492d39931590f32a3b6fea8856
2022-11-08 17:44:58 +01:00
Alexander Zaft
a928c95efd Merge "Add requirements-gui.txt and add PyQT5" 2022-11-03 15:50:19 +01:00
Enrico Faulhaber
7df4584150 Merge "Remove iohandler left-overs from docs" 2022-11-03 15:00:54 +01:00
Alexander Zaft
b7cebe2cd8 Add requirements-gui.txt and add PyQT5
Change-Id: I8e2cdcc2d0353f4384ba8ea026e02af65064ece9
2022-11-03 14:41:25 +01:00
Georg Brandl
b8b2dafaf8 Makefile: fix release target
Change-Id: I1cc94a91cbb03c046092a814163664a507c88bdc
2022-11-03 13:56:24 +01:00
Björn Pedersen
f66411dded Remove iohandler left-overs from docs
The iohandler module has been remove in 28526

Change-Id: I24c86f88c8a37f85018cfcdec48279a1438da408
2022-11-03 13:52:27 +01:00
Jenkins system
ce4bbec766 [deb] Release v0.14.3 2022-11-03 13:51:52 +01:00
Enrico Faulhaber
355810a887 MLZ/entangle: fix AnalogOutput.read_status()
Change-Id: I584cd8f559b6c57f3c73105b28bc533526f6f492
2022-11-03 12:59:58 +01:00
Bjoern Pedersen
aa98604f88 Upgrade for ci
fixes outdated options and macros in Jenkinsfile
fixes outdated options in pylintrc

Change-Id: Ib064cc8b4235536c21288733676438297e15736d
2022-11-03 12:27:37 +01:00
Georg Brandl
b0051ca3f0 secop_mlz/amagnet: formatting fixup
Change-Id: I05ec4568c87d58f32cf48479ac653075e2211ed3
2022-10-28 16:20:29 +02:00
Enrico Faulhaber
92edbb27ea change repo to secop/frappy
Change-Id: I515c0d958c87d555156861db83a7b22c60046ead
2022-10-21 12:40:33 +02:00
Jenkins system
20fc48ddf0 [deb] Release v0.14.2 2022-10-20 15:38:45 +02:00
Georg Brandl
340c031f46 systemd generator: adapt to changed config API
Change-Id: Idb2527b7007aca3a051c1ec9a2d8eecdb55cacef
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29535
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>
2022-10-20 15:13:29 +02:00
Jenkins system
3ac8b4e255 [deb] Release v0.14.1 2022-10-20 14:04:07 +02:00
Georg Brandl
6ffc73a1e1 Makefile: fix Jenkins host
Change-Id: I1ae3c27d0839b8dffde4cf9da5a13fa00f88a9d3
2022-10-20 14:03:59 +02:00
Georg Brandl
4ef0b0c01d mlz: avoid error on import due to consistency check
Change-Id: I43751a93b16a0cd9a64ae79da7045fd4e879b065
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29529
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-10-20 10:39:08 +02:00
Georg Brandl
1fc805a5a2 gui: clarify needed input for "add sec node" dialog
Change-Id: Ia34eef4df50d545fa779979dd25a239803af0a8e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29528
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-10-20 07:54:05 +02:00
05edf98dfe secop_psi.entangle.AnalogInput: fix main value
when the unit of parameter 'value' is taken from tango, the
'$' units of other parameters are already replaced by the configured
value and are not updated. this change fixes this.

not yet tested on entangle, but a test with similar code works

Change-Id: I87ad112b0965b39bb204d6c3d1fc1de6d4e14f60
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29357
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>
2022-10-19 17:27:29 +02:00
Jenkins system
e09c365ea5 [deb] Release v0.14.0 2022-10-19 11:31:51 +02:00
64cb297a06 HasIO: automatic creation of io from uri fails
attached io in HasIO must not be mandatory - either uri or io
has to be given

Change-Id: Id39e40f98020d4051c1ad8105f6af6018aafaea8
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29349
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>
2022-09-22 15:37:42 +02:00
eaefa1ce87 apply main unit also in structured types
Change-Id: I5a3efb167f2b460b847d8e7ac75a21848976b5f8
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29350
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>
2022-09-22 14:59:24 +02:00
71aaf7187a improvements on interactive client
- fix handling of exceptions
- add selective logging
- improve formatting of values

Change-Id: I69c11e95aca1cdd222800fd3fd192a6b12b38411
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29348
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>
2022-09-22 14:59:10 +02:00
0a28192c15 improve general config
for easier configuration of multiple servers on the same machine,
FRAPPY_* env. variables are overriding the values from the
general config file

+ apply expanduser where approporiate

Change-Id: Icb73543402f5fb1b8a248a8b8d7fb470971492f4
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29351
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>
2022-09-22 14:58:47 +02:00
1b9cac04b1 fix bug when restarting statemachine
- fixed bad if clause
+ better debug message on restart/stop

Change-Id: I4c2327593c014749a32377dac45f0f46c680df2b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29352
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>
2022-09-22 14:58:20 +02:00