673 Commits

Author SHA1 Message Date
l_samenv
a4dec7b832 fix ill5 cfg 2022-06-29 11:49:51 +02:00
l_samenv
3563a0db16 fix ill4 2022-05-31 16:44:53 +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
3e6f1bebf7 added features 2022-05-30 12:07:33 +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
l_samenv
7fc030191d Merge branch 'wip' of gitlab.psi.ch:samenv/frappy into wip 2022-05-19 18:10:14 +02:00
l_samenv
3959da6847 stick rotatation is either om or stickrot 2022-05-19 18:10:02 +02: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
l_samenv
f276b973f5 add variox 2022-05-16 15:28:30 +02:00
l_samenv
8739ef04d7 add ori3 2022-05-12 16:39:28 +02:00
aea73d976c add ori6 2022-05-12 16:23:58 +02:00
l_samenv
4c98a4c706 add sticks and cfg
ma02, ma10, ma11, mbe
2022-05-12 16:16:26 +02:00
l_samenv
62146aa477 add heliox stick 2022-05-05 10:31:50 +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
cb170bd73b allow a configfile path as single argument to secop-server
when a full path is given as single argument to secop-server,
the server name has to be sanitized

Change-Id: I1d11f076157548e90877f380f0cab3a6a3f96784
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28232
Tested-by: Jenkins Automated Tests <pedersen+jenkins@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
l_samenv
9ff8c3ba54 add ma10, add stick motors 2022-04-29 11:08:04 +02:00
l_samenv
1d7351ba4f Merge branch 'wip' of gitlab.psi.ch:samenv/frappy into wip 2022-04-29 08:47:39 +02:00
l_samenv
3ac8876b37 cti5, cti7, ma10
+ fix .gitignore
2022-04-29 08:47:11 +02:00
9fa5aba052 add dom motor to MA7
Change-Id: I32b9ec469e030da90519b0a9e3d38b881e94d59f
2022-04-28 17:21:46 +02:00
bc13a912b4 change descr of ccr3 (ZEBRA) 2022-04-28 16:32:38 +02:00
l_samenv
33ba9ca946 add ccr3
+ add missing ma6.config.json
2022-04-28 16:31:20 +02:00
7d43f1cd58 Merge branch 'wip' of gitlab.psi.ch-samenv:samenv/frappy into wip 2022-04-28 13:43:46 +02:00
21a3865c5d general ini files for main, stick and addons 2022-04-28 13:43:09 +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
6752997048 replace 'iodev' by 'io' in cfg files 2022-04-22 16:45:12 +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
7316632fa6 improve poller error handling
- repeated errors on poller are only once logged (per poll
  function / read_* method)
- during exception handling, silent=True on a SECoP error indicates
  that the error is already logged
+ fix the name of HardwareError
+ add test for consistency of SECoPErrors
+ catch socket.timeout in AsynTcp

Change-Id: I9df6c775cc19553b22a4d6e39591092adf7ff9a1
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28139
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
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
8cb3ba7dfc fix error in secop.logging
Implement LogfileHandler.getChild. This is needed to inherit
the configured level from the parent handler.

+ remove redundant assignmet of logfile_handler.max_days

Change-Id: I7277c28221bbb6108d75f2437634e9db9bf6761e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28140
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
1ac2f8557c fixes in sch5 2022-04-20 15:53:15 +02:00
774f33122a fixes in secop_psi/sea.py
is_running parameter
2022-04-20 15:52:43 +02:00
1da7657483 Merge branch 'wip' of gitlab.psi.ch-samenv:samenv/frappy into wip 2022-04-20 14:52:17 +02:00
ac3bf5b122 add cryosim and magsim cfg
Change-Id: I5ad510c2119ec08cbef234b6565dda69aa370436
2022-04-13 10:46:57 +02:00
f6f2dd189b use a common poller thread for modules sharing io
When several poller threads are using the same io, the resposivity
of client requests is reduced, as every thread first finishes
its pending communication requests, before it is the turn of the
request thread. This is solved by using one common poller thread
for all modules sharing the same communicator.

+ fix an issue with overriding a property with a parameter, as
  this is the case for pollperiod (cfg was applied to property
  instead of overriding parameter)
+ separate setFastPoll arguments into flag and fast interval
+ fix missing announceUpdate call when read function fails
+ fix mechanism for triggering polls after an io connection
  reconnected again.

Change-Id: I1115a61fae3de80d18416e61f40b52a0eebb637c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28021
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
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
9152ea1d26 reintroduced individual init of generalConfig.defaults
revert basically the former change
"init generalConfig.defaults only in secop-server"

The problem of import order when setting generalConfig.defaults
has to be solved by not overriding already existing keys when
setting the default.

Change-Id: I82121e346607dd74146279c4241e13ab63c14096
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28011
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
a124adab97 avoid race conditions in read_*/write_* methods
using one RLock per Module
+ init generalConfig for all tests

Change-Id: I88db6cacdb4aaac2ecd56644ccd6a3e5fd2d1cf2
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28005
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
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