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
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
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
57082e276f
uniax, version 7.10.2021
...
- driving with a generator
- 3 phases
1) find active range (low current, far movement until force over hysteresis)
2) release force until well below target
3) adjusting using pid_p. (this is in fact an integral factor)
2021-10-08 08:53:22 +02:00
2c6b42f2aa
merged after getting from uniax
...
Change-Id: I1049ac1a22fd3013c360dba4eda9e53784ac36a5
2021-10-06 14:26:05 +02:00
762913012b
uniax.Uniax: fixed tolerance
...
Change-Id: I201c54715ef7f70a164f0f72116c5a8e737c128f
2021-10-06 14:19:20 +02:00
f491e53f8a
fix uniax cfg typo
2021-10-06 14:12:56 +02:00
92a812f92f
update uniax.cfg for current box
2021-10-06 14:11:40 +02:00
c0fbbdb419
remove whitespace
...
Change-Id: Ibe7acffe1dcdcd4932fa4275d14e8b9b87573537
2021-10-06 14:02:55 +02:00
29226a1062
uniax: added force control as seperate module
...
Change-Id: I8b14fc90f5885834e342f6bc5e5dd0ea711b27ea
2021-10-06 13:33:34 +02:00
70b9c88f82
revert signature of Accessibles.copy() method
...
no more kwds arguments, method 'merge' should be used
Change-Id: I7028d9df8b69c018dcdc0c55d3ae0f71e24ee15b
2021-10-06 13:31:21 +02:00