174 Commits

Author SHA1 Message Date
298f94e4d5 update code (remove underscore from attached modules)
Change-Id: I10bd6bec8f5e9459219f3186fd696e053a264604
2022-09-08 09:22:32 +02:00
0fec736886 update code in several drivers
- remove poll arguments
- change from HasIodev to HasIO

Change-Id: I2668f1068c17a50d9aff43b1bb3e4fb03c8d840e
2022-09-08 09:13:03 +02:00
ada4c43ebf change max force to 190 N 2022-09-07 13:14:51 +02:00
9a40d27354 fix bug in ls340res
return value must be converted to float
2022-09-07 13:14:51 +02:00
6929422b94 fox update of param2path dict
Change-Id: Ie8de3d7f549ba29954058f3d516d1c3965932aa0
2022-08-24 17:02:21 +02:00
l_samenv
2cd66c2e08 sea: allow multiple parameters being updated with one hdb path 2022-08-24 16:57:27 +02:00
f23e42de1f fix bugs with persistent_limit parameter
take into account that reading the switch heater might be delayed
2022-08-16 16:54:30 +02:00
2f6954c4f3 magfield: add persistent_limit parameter
- use update_switch_heater instead of write_switch_heater
  for detecting switch time
- switch_time split into switch_on_time/switch_off_time

Change-Id: Id90a8b2c2520e24f3ee4a34aee25d41210e5d6d4
2022-08-16 10:05:01 +02:00
dmc
b81fc7b122 remove tm from ill5.cfg
only one SeaDrivable per sea drivable allowed!
2022-08-15 16:22:02 +02:00
8e3cdc80e4 improvements in magfiels/ips_mercury
- read voltage
- fix a bug with ._init name conflict
2022-08-12 15:10:23 +02:00
3496e391f6 check for last_target in conditions for redo 2022-08-02 11:19:30 +02:00
bb40a0820c use flag instead tolerance for redo check
when target is changed, a flag is set, and
this is used to jump back in the sequence to the right step
for redoing
2022-07-29 15:12:44 +02:00
86767e2fa1 add still and sorb heaters to dil5 2022-06-21 15:32:15 +02:00
8a995aafed fix issue with non matching persistent field 2022-06-21 15:31:44 +02:00
7379ea91e5 fix issue sending numbers in exp. format
numbers must be fixed point, with maximum 8 digits
2022-06-21 15:30:20 +02:00
cf42119f85 fix handling of persistent_field parameter
'persistent_field' parameter should be updated as long as the
switch is turning off

Change-Id: I76b592077ceb0a2a20beb8e6390487c620764650
2022-06-17 08:24:38 +02:00
80d9a790ec fixed proper parameter inheritance 2022-06-15 16:02:38 +02:00
5951312d40 fixes to make pylint happy
Change-Id: I95baf4e585603a640d4ec71076a4d509082775ed
2022-06-14 15:24:42 +02:00
778ac17172 Merge branch 'wip' of gitlab.psi.ch-samenv:samenv/frappy into wip 2022-06-14 15:08:35 +02:00
dfbc1c757a fixes in mercury an triton
- Valve is now a drivable, as it will check success, and retry,
  which might take around 1 second
+ some more
2022-06-14 15:07:17 +02:00
54b58f2188 step_size instead of speed_factor
no longer need to pre configure a speed_factor,
the proper units of speed and accel are taken from
the hardware
2022-06-14 15:03:53 +02:00
f855b9db40 fixes in convergence and statemachine
- set spent_inside to 0 on set_target
- additional debug log messages in statemachine
2022-06-14 14:07:24 +02:00
6fd365197a sea driver: no events for unexported params
Change-Id: Ia4b5f5f742d0240010218ee24dc147bb535c7c64
2022-06-13 14:09:13 +02:00
e6fdd79df4 start SEA server if not running
before connecting to SEA

Change-Id: I75c02f25e023e0e1769810a180430efd48b9c550
2022-06-08 16:28:39 +02:00
a35231f5bd fixes in mb11/dil5
- no need fro second slot in TemperatureLoop, PressureLoop
- only ValvePos needs two slots
- added testwise heater to mix chamber

Change-Id: Iac4592d037a5e6a4f586041762992d75cc77e3de
2022-06-07 14:26:30 +02:00
9c7b6aeb94 various fixes on mb11/dil5 2022-06-07 11:45:25 +02:00
68e2e06905 fixes in convergence, mercury, phytron, triton 2022-06-01 09:21:47 +02:00
4cb0031302 Merge branch 'wip' of gitlab.psi.ch-samenv:samenv/frappy into wip 2022-05-30 12:10:51 +02:00
4bfb76ca82 IPS mercury
+ mb11, dil5, dil2, variox configs
2022-05-30 12:09:57 +02:00
Ultrasound PC
efca358c72 add adq_mr and iqplot 2022-05-23 15:30:23 -04:00
Ultrasound PC
319f3b4649 upgrade upltrasound to newer version of frappy 2022-05-23 15:25:41 -04:00
39171fe06e add limits to phytron
Change-Id: I431374efab7a858db6a652f78533b13b12ba6d57
2022-05-19 18:05:52 +02:00
0972e8c7e8 add sign to phytron motor
+ fixes in ma10 config
2022-05-19 17:58:54 +02:00
7b9d2d1701 allow quiet SEA requests
SECoP read -> SEA hval should be quiet on the log file

Change-Id: Ie020b02ef62e5792ca60e08fe72b420a6377efee
2022-05-16 17:04:47 +02:00
2bdfcf10a3 fix triton
tested at warm kelvinox triton system

Change-Id: I1c8064c78846db5b077363be3a8ecff5e2766ddb
2022-05-03 16:49:27 +02:00
f9db90d89b update secop_psi/sea.py
fixes after serveral changes in frappy
2022-04-29 16:30:19 +02:00
1ded96abba fix keithley 2601b after tests
- add missing super call in initModule
- change mode before writing levels
- fix MEASURE_DCVOLTS instead of MEASURE_VOLTS

Change-Id: Id93187e082db9868f443d4ef8cbdc85acd11be2b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28256
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-04-29 14:03:04 +02:00
a379805e43 add 'ts' to the ppms simulation
+ convert from CRLF to LF

Change-Id: I46fab0c970ccc5e7e704a5dc0ab2cfd51213cd31
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28233
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2022-04-29 14:03:04 +02:00
f1a639bc3c add secop_psi/triton.py
triton dil support

Change-Id: Ifbb0d382adec29b031a1e99c68515f7bb23ead45
2022-04-28 12:56:42 +02:00
98cdbafa7a fix mercury
secop_psi/mercury.py was not merged properly

Change-Id: I638fac70b278aa1ffb1378ad0f97b375a7e40869
2022-04-26 08:51:58 +02:00
l_samenv
026ab3f4b2 Merge branch 'wip' of gitlab.psi.ch:samenv/frappy into wip 2022-04-22 16:36:03 +02:00
20ad159722 support for OI mercury series
- temperature (incl. heater)
- pressure (incl. control via valve motor)
- LHe and LN2 levels

not yet included: magnet power supply

Change-Id: Id4ee8f9b7ebfa6284e519ba485217f9a19d70d59
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28028
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-04-22 16:35:24 +02:00
2159753398 avoid deadlock in proxy
in secop.proxy the callers modules method announceUpdate is
called from an other thread while the accessLock is locked,
creating a deadlock. solve this by creating an other lock
'updateLock' for the update.

+ add status parameter even to non-Readable proxy modules,
  in order to indicate a failed connection
+ fix an error in secop_psi/softcal.py

Change-Id: Iae7c6d5a74001150a47aa9dc99209c15d972cd5e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28130
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-04-22 16:35:24 +02:00
b1a24b253a improved trinamic driver
- safe_current: current limit for unlimited move
- move_limit: max. angle to move with high current > safe_current
- direct axis parameter access is not exported by default
- support for home switch
- allow use without encoder
- automatic reset for motors in a configuration, where the motor
  current is deliberatly low for a limited torque
- improved error message on driving failures

Change-Id: I25f8516905a2c4c3cda09d091d5a43004ec6dc6f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28029
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-04-22 16:35:24 +02:00
5a553dbdeb motor valve using trinamic motor
This valve needs 8 turns to open. As the encoder forgets
the number if turns on power cycle, a home switch is
mounte, which engages during the last turn when closing.
The final close position is determined by closing the valve
with a defined motor current/torque.

+ fix an issue in StateMachine.start: the first cycle
  must be called after the new state is assigned

Change-Id: I34cd05d10d97b043f9e3126310943b74ee727382
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28030
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-04-22 16:35:24 +02:00
l_samenv
e9f687e6dd update phytron driver
+ fixes in secop_psi/sea.py (iodev)
2022-04-22 16:25:14 +02:00
774f33122a fixes in secop_psi/sea.py
is_running parameter
2022-04-20 15:52:43 +02:00
d5924567da fix statemachine
- fix: calling state.start(<new state>) on restart must ensure
  that the function <new state> is called before state.start()
  returns.
- modify slighly behaviour of cleanup function

Change-Id: I483a3aefa6af4712b3cf13f62c86d4c06edd1d8d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28020
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-04-08 15:36:23 +02:00
2e21bcdd0a HasConvergence mixin
the HasConvergence mixin runs a state machine to determine
when the value has reached target from parameters 'tolerance',
'settling_time' or detects convergence failure depending on
the parameter 'timeout'.

Change-Id: Iccc3d43bcf5ab54ae02ce3a81423c2decc1b392d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27967
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-04-08 15:36:23 +02:00
b1ddc01fbb merge until "support write_ method on readonly param and more"
from gerrit

Change-Id: I8d2ad2a381d3a37947d8afc5e17be0428d94df36
2022-03-21 14:00:12 +01:00