1230 Commits

Author SHA1 Message Date
Oksana Shliakhtun
69dd011260 Added alarms
Change-Id: Idd06278e44e01522ddf904b56a452ce8c704b5a6
2023-02-02 17:22:08 +01:00
Oksana Shliakhtun
d62076128a add comma between command and arguments
Change-Id: Ibc3a9072140842d521ebb4840eecb180e69b134e
2023-01-31 09:42:45 +01:00
38ae301cda add frappy-cli
Change-Id: I2622212e178ceede7cc7285564a7a09929fafc5c
2023-01-30 17:16:08 +01:00
Oksana Shliakhtun
2ee9ea65da fix SETP?
Change-Id: I337adece10204ca67dcf720e4de36085b80601ba
2023-01-30 17:13:52 +01:00
Oksana Shliakhtun
0dfaa79f77 fix set_par/get_par calls
Change-Id: Iff6b244ca381849333646853b4c0bb8a347bbb3b
2023-01-30 17:09:46 +01:00
Oksana Shliakhtun
866fe73f2e fix CDISP
Change-Id: I09010a1997799bed04f25a7a3eb0157f7af5ad8b
2023-01-30 17:04:28 +01:00
l_samenv
f5c96214b0 Merge branch 'develop' of gitlab.psi.ch:samenv/frappy into develop 2023-01-30 16:57:29 +01:00
l_samenv
4d28abe141 fix issue with old reading
- old reading shoould be ignored
- fix channels for CTI7
2023-01-30 16:56:31 +01:00
Oksana Shliakhtun
c75d7f17f7 The PID parameters were added.
Change-Id: I67a7db66ca13b60d35cb4041bbd35c6c4729416c
2023-01-30 16:52:06 +01:00
Oksana Shliakhtun
a384664639 first version of lakeshore 340 driver
Change-Id: Ie9a68be61e142802b2e71420b87623b7a4b4f645
2023-01-24 18:13:34 +01:00
Oksana Shliakhtun
ee708f7b02 fix typo in frappy_psi.mixins
Change-Id: Ifccb6278bbfc221882067a2ae8c72d0163e5f351
2023-01-24 18:12:25 +01:00
edc942cb24 introduce frappy_psi.mixins
containing for now: HasControlledBy, HasOutputModule

Change-Id: I27e3a81d6e985c74440eb9ea6d224272bac4fb7d
2023-01-24 15:33:27 +01:00
b19a8c2e5c converter for creating python config files
+ testmode in server returns errors
+ fix in (old) statemachine

Change-Id: Icdfd6c3d8f70e717fecd61e8a54adad326be6000
2023-01-23 18:00:56 +01:00
68b45978a7 ppms.cfg: add target=0 in mf
Change-Id: Ibccf95b54ba93a0b0648c61b7630ae376bf3e70e
2023-01-23 18:00:20 +01:00
7d4dfdebbd fix bug in k2601b
convert returned float (which is integer) to int

Change-Id: I8363f4d5188f2b1be89f1383da20c76522286424
2023-01-23 18:00:20 +01:00
6c325460f7 make doc when .git is not there
accept failure of secop.version.get_version()

Change-Id: Ia689bd4f56b848bc354c0d68826a3174f0746a97
2023-01-23 18:00:20 +01:00
c70b61e4e5 relax identification check
accept *,SECoP,*

Change-Id: Ieb56e9c57fc5eb18e025fbc2f1d17a9d6e3f0a97
2023-01-23 18:00:20 +01:00
dcd79506a9 Merge "improve parameter initialisation" 2023-01-23 08:25:36 +01:00
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
Alexander Zaft
d889401697 Revert limit change in demo
After 29724, the change in frappy_demo/modules.py from 30183 which was
made to run 'make demo' without errors can be reverted.

Change-Id: I00a6f512304a3159c10e44aef670ac0edd4703d7
2023-01-19 15:39:33 +01:00
85295a7d72 Merge "client: detect original frappy error class" 2023-01-19 12:29:37 +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
59cc981566 client: detect original frappy error class
The text part of the error report contains the original error
class - convert it to the frappy error class, if possible.
This makes the error messages on the client nicer, as the
error class would be duplicated in the error message on the
client side.

Change-Id: If2e0c3eb15ac2dd1b80a851ff42e4076557a325d
2022-12-22 13:44:08 +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
l_samenv
589b857039 add driver for LakeShore 372
- including channelswitcher
2022-12-21 11:05:15 +01:00
l_samenv
ad4a6d2e09 improved cyoltd (flame magnet)
- use a statemachine
- do more control in frappy, switching from persistent to driven
  internally
- a lot of fixes
2022-12-21 11:00:19 +01:00
l_samenv
766f15beee improvements in magfield
- use HasTargetLimits instead of HasLimits
- move ramp_tmo parameter to SompleMagfield
- add last_target method
- fix progress check in SimpleMagfield.ramp_to_target
- better mechanism for setting to persistent mode after restart
- fix switching mode
- fix on_error
- fix condition for shortcut start_field_change -> check_switch_off
- remove direct status updates
- move check for manual switch heater operations to ips_mercury
2022-12-21 10:57:41 +01:00
l_samenv
79b8cd7b2d fix inheritance of status codes attached to state functions 2022-12-21 10:38:11 +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
l_samenv
bd0f3a0b07 fixe in triton and mercury 2022-12-19 16:13:06 +01:00
l_samenv
c4f9f2ef4b rename action to dil_action 2022-12-19 16:12:06 +01:00
l_samenv
0820d537c3 Merge branch 'wip' of gitlab.psi.ch:samenv/frappy into wip 2022-12-19 16:09:40 +01:00
1a6aa893e4 move persistent_field parameter from magnet.py to ips_magnet.py
'persistent_field' is in principle the same as 'value'.
however, on IPS it might be different, at least it is a seperate
HW parameter
2022-12-19 16:03:44 +01:00
b10c722ff6 Merge branch 'wip' of gitlab.psi.ch-samenv:samenv/frappy into wip 2022-12-19 15:13:20 +01:00
b7a1f17e5e fix new statemachine with ips magfield
+ add on_error, on_restart etc. to states.py
+ add n_retry argument to mercury change/multichange
2022-12-19 15:12:00 +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
l_samenv
a0d14c30be attocube: more robust moving
- try up to 10 times when end of travel or no more progress
- issue WARN instead of ERROR when moving did not work
2022-12-02 10:37:45 +01:00
l_samenv
e668b6a439 attocube: add offset and change to HasTargetLimits 2022-12-02 09:12:51 +01:00
l_samenv
3483c3374d allow pollinterval = 0 2022-12-02 09:10:07 +01:00
l_samenv
d71a512454 new features HasTargetLimits and HasSimpleOffset
according to standard
2022-12-02 09:07:20 +01:00
l_samenv
b1608c4d7f Merge branch 'wip' of gitlab.psi.ch:samenv/frappy into wip 2022-12-02 09:00:12 +01:00
l_samenv
e4c1f35e4a add attocube 2022-12-02 08:54:26 +01:00