44eeea1159
improve error handling
...
in the current implementation, in case polling results in an error,
an error_update is generated. But on activate, for this parameter
a normal update will be generated, indicating that this value is ok.
With this change, parameters have an additonal attribue 'readerror',
which save the error generated on the last read, or None, if the
read was successful.
In addition, subsequent repeated errors are only reported the first
time.
Change-Id: I39f18d17debadd8aa5b904e59998d2172f3f11b9
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21974
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-12-06 15:41:30 +01:00
94a539da90
parameters with a handler are polled by default
...
parameters with a common commandhandler need only one poller item
Change-Id: Ie2e20cf7bcebc67ca96d58455323f01f528b25ab
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21951
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-12-03 15:49:13 +01:00
dda8428144
introduce command handlers
...
A command handler can be used to deal with parameters which have a common
command for querying and writing to the hardware. Support for parsing
and formatting commands is included.
Change-Id: I79a1b6c9daf3af3be2e1875875ced41ec1a1829d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21946
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-12-03 11:03:21 +01:00
59fbd5cac0
make secop.poller.Poller default
...
modules using the old poller (now called secop.poller.BasicPoller)
need to explcitly declare it (pollerClass = BasicPoller)
BasicPoller is still used in:
secop_mlz/amagnet.py
secop_mlz/entangle.py
secop/simulation.py
Remark: before removing BasicPoller we may need a replacement for
Readable.pollParams
Change-Id: If1ae8b68e02f13e601334656b818337c882e06cc
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21910
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-11-27 14:26:57 +01:00
ca8b07496f
allow server.run without python-daemon
...
is python-deamon is not installed, secop-server should work
without '-d' option.
Change-Id: I2d64379a7612931c55f1d9cdbdb2cb424453c675
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21909
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-11-27 09:49:13 +01:00
e953b53963
introduced attached modules
...
for the module names, use Attach instead of Property,
which get attached modules automatically before calling initModule
Change-Id: Iff1b37828d4345c03a18ed29b9970bea149a812d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21885
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-11-27 08:10:57 +01:00
b2f730e53e
secop-gui: ask for reconnect
...
ask whether to reconnect when a connection is lost
Change-Id: I5928fabb7393bbf97a557b1ce1d85113891c96c9
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21865
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-11-22 15:47:08 +01:00
c0c926d9d7
configurables must contain only settable properties
...
+ bug fix in TCLRequestHandler (decoding error)
+ cosmetic changes
Change-Id: I824e06f1acf975bb59c3312bb97fdfca23e6c975
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21826
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-11-22 13:08:23 +01:00
6af440c971
improve ppms simulation
...
improvments on temp simulation
Change-Id: I681e2a2fb7c556c2b73e969efa77ace13f0fc6ec
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21687
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-11-11 17:43:35 +01:00
ba7876b7d3
bug fix in secop_psi.ppms.Level
...
Level.update_value_status must be a no-op
Change-Id: I621f790f7248d21cdc1efedbac42e78b7ff0c889
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21686
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-11-11 17:27:00 +01:00
Enrico Faulhaber
5458911b67
Adapt sim_* cfg's to current syntax
...
+ make 'limit' usable as type in cfg files
+ minor fixes
Change-Id: Ib94b2645c7a0d978d64d4c86c4415d4b5b0d485f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21485
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2019-10-31 13:59:56 +01:00
ac873ed546
bug fixes in ppms
...
- bug fixes
- set min/max datatype property of mf
Change-Id: I841e69b59085991e56499efbbf9bee7040dc8b59
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21483
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-30 09:15:01 +01:00
230624cdeb
fix config path
...
config path must be 'cfg', not 'etc'
Change-Id: I835091f16ced3896126dcb650fc37155b15c95c2
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21482
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-30 09:00:54 +01:00
Enrico Faulhaber
339c970192
move ppms.cfg to right place
...
Change-Id: I7a771c7615ac5c45923253367dcf789807bec50a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21481
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2019-10-29 17:04:33 +01:00
JenkinsCodeReview
692e88f4d8
[deb] Release v0.10.5
2019-10-29 16:33:19 +01:00
Enrico Faulhaber
e19f7a8c25
minor fixups
...
Change-Id: I038a962a128c12b81bad6d228e3c1a086c7db719
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21480
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
2019-10-29 16:29:41 +01:00
1768aaefaa
change interfaces_class to interface_classes
...
according to the newset SECoP syntax
accept both namings on the client side
Change-Id: I23abfa163d189044d997b715c912359158c16e42
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21478
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2019-10-29 16:28:00 +01:00
98f87f1306
make baseclient work without mlzlog
...
The used logger can now be configured from caller. This allows
for example to use NicosLogger when imported from NICOS.
+ fix a problem when connections was lost
Change-Id: I8496ba11ad467749493751b49c4e36dd739892ab
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21477
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-29 14:28:15 +01:00
679559c1e7
readonly is mandatory for SECoP
...
but still optional with default True for frappy Parameter
Change-Id: I416c835af324ec3875aaa785cd0aefb28f9bfaa3
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21457
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-23 09:09:09 +02:00
d4916f4591
modified ppms driver
...
chamber module has now an enum instead of a string as main value
+ update_value_status must be called even for disabled modules
in order to update the status to disabled
Change-Id: I3470de8b82f45b7fe53b18576c9898d1747e0ff6
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21448
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-22 11:09:15 +02:00
3d94da983a
windows interface for the PPMS driver
...
this runs on window systems only
Change-Id: I75ea9572981a4d6da2e5b371b709d613578a1e80
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21447
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-22 08:03:35 +02:00
2a2750ad71
added PPMS driver
...
this is driver for the PPMS of LIN at PSI.
This includes the SCoP driver and a simulation, which mimics a
PPMS device including the command interface.
The (small) interface to the windows system of PPMS follows in
a separate patch.
Change-Id: I92173b6dd83016fd1db446c710af101d436fc57b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21445
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-21 16:44:32 +02:00
0700ddc455
fix DataType.copy for nested types
...
all nested types need a specific copy method, as some information
of EnumType (its name) and TextType are not visible in the
exported form
Change-Id: I3ef765ca35cda11b10798c68a3e2115502554c2e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21441
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-21 12:52:34 +02:00
Enrico Faulhaber
536c798699
Remove obsolete protocol specification
...
The one at https://www.github.com/SampleEnvironment/SECoP
is the correct version!
Change-Id: I4f8a9c3b40ea4e1f3ecea8b7b491dd96cb04d009
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21437
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-18 16:30:54 +02:00
2d646f1af4
revert default of poll to False
...
Before the introduction of the Property, the default of the poll
property was False. I feel that this is a better default, as the
programmer should think about which parameters really need to be
polled.
+ change comment about poll property (meaning depends on Poller)
+ change name of Status datatype to StatusType (avoid name conflicts
with Status enum type)
Change-Id: Ie405b10ce8dfe85b235dbe78c910b5b5ee22cbb1
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21407
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-17 08:52:14 +02:00
f4d572966c
use Properties from secop.properties for datatypes
...
this change is triggered by the fact, that assigining a unit
in the config file did no longer work.
this change has several implications:
1) secop.properties must not import secop.datatypes:
- as ValueType can not be imported, the default behaviour with
'mandatory' and 'default' arguments was slightly changed
- instead of checking for DataType when exporting, a try/except
was used
2) the datatype of datatype properties is sometimes not yet defined.
a stub is used in this cases instead, which is later replaced by
the proper datatype. The number of stubs may be reduced, but this
should be done in a later change, as the diff will be much less
readable.
3) in config files, datatype properties can be changed like parameter
properties. HasProperties.setProperties/checkProperties/getProperties
are overridden for this.
the config editor seems still to work, an issue (probably py3) had
to be fixed there
Change-Id: I1efddf51f2c760510e913dbcaa099e8a89c9cab5
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21399
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-10-11 16:46:29 +02:00
JenkinsCodeReview
7688abfc8d
[deb] Release v0.10.3
2019-10-11 10:49:44 +02:00
Enrico Faulhaber
1cdff94eb0
fix for different python versions
...
Change-Id: I9bf6f651cfa520e015f789f62f248c63ad10f2d9
2019-10-11 10:49:16 +02:00
JenkinsCodeReview
3ca7d95090
[deb] Release v0.10.2
2019-10-11 10:42:58 +02:00
Enrico Faulhaber
c2fbfd9d64
reduce verbosity of package building
...
Change-Id: I917aa3e93eeb4802a93ce86dcfa8aecc952b248a
2019-10-11 10:40:29 +02:00
Enrico Faulhaber
4884435c2d
fix packaging
...
Change-Id: I073e9208fe6d7655d5bd89cd21252d8b10d46755
2019-10-11 10:38:02 +02:00
Enrico Faulhaber
eee7307818
upgrading debian files to compat 11
...
works on buster
Change-Id: I700ec073d3c13ce684cf361f7c3b059e79901bae
2019-09-27 17:06:47 +02:00
JenkinsCodeReview
4bd9486d5f
[deb] Release v0.10.1
2019-09-26 16:41:10 +02:00
Enrico Faulhaber
569ad634b7
Further dependency changes
...
Change-Id: Idc4775642c9cf98e23b47142d4ed3cf34c0111d7
2019-09-26 16:40:58 +02:00
JenkinsCodeReview
43c784bf71
[deb] Release v0.10.0
2019-09-26 16:31:14 +02:00
Enrico Faulhaber
e86ebd3d2d
move pytest to build-depends
...
Change-Id: I0a3e2677453d86a90479a11dda9d7d48e101a48e
2019-09-26 16:30:29 +02:00
JenkinsCodeReview
c7d38b164a
[deb] Release v0.9.0
2019-09-26 16:26:07 +02:00
Enrico Faulhaber
8e619a67d4
fix debian files
...
to work again (hopefully).
Also:
- few minor tweaks for py3
- added psi facility
- split secop-gui into separate package, so secop-core doesn't need QT
Change-Id: I457d3c9c60c78feb40e15c2fb153ce0d3491d1e8
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21327
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2019-09-26 16:24:58 +02:00
9fce31c4f3
remove more py2 relicts
...
some u"" (double quotes) were not found in change before
Change-Id: I85912892bbe7b57afee758c69d1aa7073557adc0
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21326
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-09-26 15:38:37 +02:00
Lutz Rossa
c0233b5d6c
allow parsing of isUTF8 flag for strings
...
The StringType class itself allows this flag now the parser gives no
error, if this flag is used.
Signed-off-by: Lutz Rossa <rossa@helmholtz-berlin.de >
Change-Id: I2f73cafcfb47a13b6e74e942b2dd8faa88c970fe
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21324
Tested-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-09-26 14:50:12 +02:00
c1164568ae
further fixes of py3 issues
...
complaints by pylint are mainly related to
- remove object from base list in class definitions
- unnecessary else/elif after return/raise
Change-Id: I13d15449149cc8bba0562338d0c9c42e97163bdf
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21325
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-09-26 14:15:48 +02:00
Enrico Faulhaber
70a9c42a7a
Remove py2 support
...
Change-Id: Ieeaeb3b8efcae004e94aea6c1d2703c9782a8650
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21320
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2019-09-26 10:32:01 +02:00
04032079d7
fix some remaining py3 incompatibilites
...
- None <= 0 is invalid in py3
- restrict BLOBType to bytes (may be changed after migration to py3)
- remove long
- use list(<dict>.items()) when dict is changed within loop
- allow initialization of properties in HasProperties without
supercall to base class
- <dict>.values() can not be indexed
- adapted/removed various tests. additional tests might be added
after definitive migration to py3
after this change, all the tests run with py3, also secop-server and
secop-gui were tested with an example, but other code might still contain
py3 incompatibilities
Change-Id: I881c6972aeabb8494a21a6cbc7ffeddfd4f5d4f8
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21306
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2019-09-26 10:31:21 +02:00
Björn Pedersen
874faf695f
Upgrade CI environment to python3
...
base on python3 buster base image and adjust.
Change-Id: I6367b447ecdb230584036ffab1606cd5878f3d0d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21321
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2019-09-26 08:40:47 +02:00
JenkinsCodeReview
31fdeb7aa8
[deb] Release v0.8.1
2019-09-25 15:40:45 +02:00
Enrico Faulhaber
9b33e07260
Provide systemd files
...
+ move example cfg from etc/ to cfg/
Change-Id: I437b3e2aaca55539ff110f5a46e411b34e0a0b9c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21319
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2019-09-25 15:32:48 +02:00
JenkinsCodeReview
0c1a63538c
[deb] Release v0.8.0
2019-09-25 10:27:52 +02:00
8631fd47a1
change datatype property to datainfo
...
- according to SECoP v1.0
- internally the name 'datatype' is kept
Change-Id: I0298a45f2db529ced3a07e2e9b344c91cfb7bb88
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21300
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-09-24 16:20:19 +02:00
596353e09a
change again SECoP datatype syntax
...
- change from single element JSON-object to flattened JSON-object
with 'type' key.
- rename of some data properties (maxbytes, maxchars, maxlen)
- added isUTF8 to StringType
The rename of the SECoP property 'datatype' to 'datainfo' will
follow in an other change.
Change-Id: I7a75f0d025ff476dd19385db3487f18c4c746bcf
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21293
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2019-09-24 14:53:03 +02:00
Enrico Faulhaber
6acc82d808
lib: fix lazy_property descriptor
...
see also: https://forge.frm2.tum.de/review/c/frm2/nicos/nicos-core/+/21285
Change-Id: I5ea4c5bfbad7f871dd819b0cf4fdd479c79c47a2
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21288
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2019-09-24 09:31:58 +02:00