886 Commits

Author SHA1 Message Date
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
526a182ed7 init generalConfig.defaults only in secop-server
generalConfig.defaults must not be set on import, as this
depends on import order

Change-Id: I00395b40b4281ddc044c196713f6512068011380
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27985
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
b1ddc01fbb merge until "support write_ method on readonly param and more"
from gerrit

Change-Id: I8d2ad2a381d3a37947d8afc5e17be0428d94df36
2022-03-21 14:00:12 +01:00
7c9296fe2e even more merges from gerrit
Change-Id: I4cfddc8fd4157ceae353789f2f60d834ec05974e
2022-03-08 10:54:04 +01:00
34b93adef0 more merges from gerrit
Change-Id: I13441cd8889dd39f74a2dd1a85e75a1b76bb93c8
2022-03-08 10:52:14 +01:00
10018b8cad some more merges from gerrit
- removed files
- modified drivers
- fixed READE.md

Change-Id: I47ae486df4dde3d60cc5e0e328194718dd396d87
2022-03-08 08:54:47 +01:00
57e0a2cc72 add statemachine
Change-Id: Icd35d284329a854a9757cb1963a70662b15fb6bb
2022-03-08 08:37:26 +01:00
a2bfe878b6 add handlers
Change-Id: Ia0604ea9e4fd7a226cf6eccb326df003f88cc4b0
2022-03-08 08:36:40 +01:00
9320541754 result from merge with gerrit
drivers in secop_psi

Change-Id: I7fd8312b11f365b423e66b2417b9e54ec6558a11
2022-03-08 08:35:41 +01:00
bd246c5ca7 result from merge with gerrit
secop subdir only

Change-Id: I65ab7049719b374ae3ec0259483e7e7d16aafcd1
2022-03-07 17:49:08 +01:00
Georg Brandl
dee3514065 Makefile: fix docker image
Change-Id: I90a3fe36abbea0501c7e7e27fa33e90bfd4f116d
2022-03-07 11:21:28 +01:00
93c8866f37 fixed README.md
Change-Id: I24445416d1195aed50a153f6462b2a168e1be1c4
2022-02-02 11:40:30 +01:00
acb3bdad6a varios fixes at psi repo, as of 2022-02-01
Change-Id: I8cdc849126d52ef0f2f27a0faf661830aac6f874
2022-02-02 09:57:30 +01:00
5e3fb10884 trinamic (psi repo!) as of 2022-02-01
Change-Id: I87b94ff0fa7a56abc6eae65fa76539a0c6a8f396
2022-02-02 09:56:44 +01:00
3b25251e10 ppms fixes (psi repo!) as of 2022-02-01
Change-Id: I96c81a0772baf5e6038d27d3a40e1163c4669289
2022-02-02 09:56:08 +01:00
903e17a6e5 mercury, as of 2022-02-01
Change-Id: Ifdbb2afc827b894874edaec50e82b645023beda9
2022-02-02 09:55:43 +01:00
9109170752 logging as of 2022-02-01
Change-Id: I63c681bea9553cd822b214075b163ca6c42fe0cc
2022-02-02 09:54:54 +01:00
05d0cfb193 history, as of 2022-02-01
Change-Id: I725a57546df8f7c9e5ffe04eb98872f2a609efe4
2022-02-02 09:52:01 +01:00
8253fe471b check for missing supercalls to module init methods
Change-Id: I8b7fe5cdd2883fd45532a3e8ac2d7b32945b36a3
2021-12-21 09:46:50 +01:00
245f4f48bf all members optional be default in struct
this apllies only to the argument in frappy - in the case
of all members optional, they are put into the description,
not honouring issue 69

Change-Id: I8e9e4d9ef6bd5b9bb2748f3c6116b7094cd9e927
2021-12-21 09:21:00 +01:00
c523e8f84e [WIP] work on history writer
Change-Id: If8c42091c734fb8c7b386c06429f1b21a7e169ec
2021-12-03 16:50:34 +01:00
6e73420d0f add doc strings to commands missing them
Change-Id: Ib0320cc4653ff695a7ee2bad3486eeec5309d3b1
2021-12-03 16:49:48 +01:00
483d4c9d6f add doc string to Persistent.factory_reset
this is mandatory for a Command !
2021-12-03 16:26:07 +01:00
77acda840a fix tests from mlz repo
- fix omit_unchanged
- names too short
+ other pylint complains
Change-Id: I3c277b461fad1a5fdf8e76ff1cc42b8742d1de16

Change-Id: I58fb64f91bcc2efef20df68f5c63a64315413286
2021-11-12 17:16:59 +01:00
1eecc93f71 fix feature for removing commands
from a bug introduced in the 'fix parameter inheritance' change

Change-Id: I757c354130077d8838aac864b21b4f81caa9bccf
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27096
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>
2021-11-12 17:09:29 +01:00
1d9e07edb4 add more tests and fixes for command inheritance
- fix CommandType.__repr__
- secop/modules.py: command properties are allowed to be configured:
   - section 2: remove comment and rename
   - section 3: all accessible properties should be checked
- command description should be inherited also when taken from docstring
- move test for command inheritance to test_modules.py
- added tests to check for valid properties of commands

Change-Id: I5fd04e03be1faec5e54fed9735620bc5dc0f89c0
2021-11-12 17:07:11 +01:00
9058ef054b various small changes
- set default target unit to '$'
- shorten too verbose error message on client
- add shutdown method to server and dispatcher

Change-Id: Ib3a8b26bc31e988e45a3ff2efd734168d723d794
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27095
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>
2021-11-12 17:00:17 +01:00
a7b741eaa4 updates from mlz repo
- asynconn: raise * from *
- asynconn: correct handling for timeout in AsynSerial
- add new py35compat
- target unit $

Change-Id: I052185ad3ebb3e3d1e3374f7ece9c7df06223951
2021-11-10 14:37:57 +01:00
41ce909172 update to changes from mlz repo
- bug fixes in error.py
- add from * to raise statements
- fix py35 compatibility
- finalize omit_unchanged_within feature
- fix follwup bug (missing Param.override) in proxy.py

Change-Id: I621c01a0d5e1ec6696fb06f39666f3316fb53649
2021-11-10 13:44:14 +01:00
7690481938 secop_psi.softcal: default path for calib
Change-Id: I5ad2159587f13e1a0bcb75764397d4c784ed1c87
2021-11-08 14:24:09 +01:00
l_samenv
3d9e9c59d6 fixes in sea
- call explicitely __set_name__ on produced parameters
- as Parameters.override has changed, do not use it
2021-11-04 12:56:42 +01:00
7d2eacfe5c fixes in sim_uniax 2021-11-04 13:01:40 +01:00
ccf38f87d9 remove do_now argument for next_action 2021-11-04 12:58:33 +01:00
b6cadf4a69 add ill4
+ fixes in focus-be-filter
2021-11-04 07:51:37 +01:00
1c1911f8a8 adapt uniax simulation to newest uniax version
Change-Id: Iad13306edf007ecfa4aebafdfb0bd38fa6be9c6a
2021-10-27 16:35:54 +02:00
99ebb9d110 closed loop force control 2021-10-27 16:36:44 +02:00
e47d07f706 fix set_zero
and cosmetic changes
2021-10-27 16:35:57 +02:00
5f034a40f8 new version using actions state machine
Change-Id: I3de3ee8077aa11b66a0b15232d8f9313c2ab0226
2021-10-08 13:26:23 +02:00