1307 Commits

Author SHA1 Message Date
b29b1e1b36 entangle.AnalogOutput: fix window mechanism
fix 2 problems:
- in case the window is smaller than the pollinterval, isAtTarget might be False
  for up to the timeout delay
- in case the history is shorter than the window, and the ramp is fast enough to miss
  any points during ramp, isAtTarget is True before the window time is reached.
  This happens because the history is reset on write_target

+ do not wait when target is not changed (by more than precision)

tested!

Change-Id: Ia4ff4378fe91fa93be50168b2883a20b49ebfb6a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27159
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2021-11-17 16:55:43 +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
c91d726f9d 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: Ic7795e305048625558e415ece099e6824df6e2c4
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27135
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 16:48:58 +01:00
1d75d192e5 automatic saving of persistent parameters
change persistent flag to be an enum off/on/auto

Change-Id: I3b1685ea76afb3b7f8c2e6ca63fbf81fa987750e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27100
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 10:48:10 +01:00
4bf3acab98 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 10:47:52 +01:00
Georg Brandl
eebc9232cd debian: fix email addresses in changelog
Change-Id: I7279f2eb0fecbde5f7f02a983e1b58537b79566f
2021-11-12 09:18:24 +01:00
Jenkins system
c16f159599 [deb] Release v0.12.4 2021-11-11 16:21:19 +01:00
796be752b7 fix command inheritance
Command.ownProperties must be definead in __init__

+ add test for this

Change-Id: I283331be6439a49ec61d28f04869a5b44704236f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27104
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-11 14:20:10 +01:00
Jenkins system
b8e8d24b50 [deb] Release v0.12.3 2021-11-10 16:33:19 +01:00
45dd14a72c 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-10 16:21:58 +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
ad7cfe4ea0 automatically register subclasses of AsynConn
using __init_subclass__ method.

+ correct typo

Change-Id: I9a57c467efcd138651248f92fbf84195624e0b9a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27093
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-10 13:50:46 +01:00
47d09e9b08 improve simulation
- customizable simulation interval
- add stop command to SimDrivable

Change-Id: Id4eb0ec465ecc97a115397c295c4a052aceb762c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27092
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-10 13:50:30 +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
d76d79aebb omit updates of unchanged values within short time
Sometimes it happens, that the same value determined once is
assigned several times to a parameter within a very short period.
Sending multiple updates is not useful in this case.

Change-Id: Icea66934c831fd9b2eac7d0394a124d002469914
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27091
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2021-11-10 12:34:51 +01:00
a64eb7f33b fix python 3.5 compatibility
- move workaround for PEP487 ty secop.lib.py35compat
- add missing context manager to TCPServer
- remove redundant code in secop/property.py

Change-Id: I0822010f196ad6cec5ec44e990013b79c5d4048b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27090
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2021-11-10 12:34:31 +01:00
3d0d779d81 fix property inheritance
+ remove obsolete filterDescriptor method
+ copying properties should support extensions (e.g. Attached)

Change-Id: I301947a4ae28fcad98250b277c6b0e7e0100eaf9
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27084
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-09 18:21:03 +01:00
3b7cc33f64 fix parameter inheritance
Correct inheritance has to follow the MRO, not only consider
the direct base classes.

Patchset 3: changed only tests, indicating that we need to change the code

Following patchsets include a major change in params.py and
modules.py. The parameter properties for inheritance, corresponding
mainly to the constructor arguments have to be stored separately
from the property values including inherited stuff.

Change-Id: Ibcbccb6abcc22e7e2d91df8f70ef64226684d8cc
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26805
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
2021-11-09 15:06:36 +01:00
41489a4a24 show first instead of last traceback on multiple errors
on initialization, the error message are collected and
shown before starting the server together with the traceback
of the last error. This should be the traceback of the
first error instead.

Change-Id: I86d4b42f7d4f98f2ab3b692cd6548e62acffa11b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27011
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-09 14:42: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
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
0d3df7be92 sameside approaching
Change-Id: I8b73d0ae0475bc727b49edd6f245c2204c51695b
2021-10-06 09:08:29 +02:00
5b7f4604ad more precise wording, typos
Change-Id: I6ca052fa512b5864b1ce29a22808a432c6f527db
2021-10-06 09:07:55 +02:00
09056ea87e set unit together with datatype
Change-Id: I412471880e71792160ee56a79375dc62dd4aaafc
2021-10-06 09:07:09 +02:00
21dfcbd290 allow interval in SimDrivable to be customized
Change-Id: Id59d263e5f54fda9388dcdaa34a3ce83b6d4a339
2021-10-06 08:46:04 +02:00
84e55d9c8d move markdown from requirements.txt to requirements-dev.txt
Change-Id: I07d700c7ac30900e4166611d0b17f80dff8d6f83
2021-10-06 08:41:53 +02:00
cbb005d942 show traceback of first error instead of last one
Change-Id: Iee418dcfb1d81a16112eed57b03c86242c2128b4
2021-10-06 08:34:56 +02:00
929f55055e fix property inheritance
Change-Id: If01b98fc38c730e73799b43c78838afee6cf6058
2021-10-06 08:33:52 +02:00
e38cd11bfe fix parameter inheritance using MRO
+ no update on unhchanged values within 1 sec

Change-Id: I3e3d50bb5541e8d4da2badc3133d243dd0a3b892
2021-10-06 08:32:47 +02:00
544e42033d fix merge errors 2021-09-21 16:58:29 +02:00
8bbf65f6e8 Merge branch 'uniax' into wip
Conflicts:
	cfg/uniax.cfg
	secop/core.py
	secop_psi/trinamic.py
2021-09-21 16:52:15 +02:00
e98f81a7c9 reduce communication traffic
- expermental change: no updates of unchanged values within 1 sec
- reduce fast_pollfactor in trinamic
- improve stop behaviour of dpm.DPM
2021-09-21 16:40:54 +02:00