except when explicitely mentioned with reorder=True
improved test_modules for unique accessibles, as this
was related with Accessible.ctr
Change-Id: I61877de9300bb0297c88a6c44bb265c634937856
Reviewed-on: https://forge.frm2.tum.de/review/19693
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
if the return value is 0 or "", and value is different from it,
then the behaviour is incorrect.
Alternative: we do not allow write_<par> to return None, and
check for it, or even validate the returned value.
Change-Id: If7381dd06f7c55bdc4a80981e67f831cd8ee4136
Reviewed-on: https://forge.frm2.tum.de/review/19728
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
the export argument of an accessible allows now to specify an other
external name than the attribute used internally.
export=True (default, use defined name, or prefix with '_' when
name not in predefined list)
export=False (do not export)
export=<any string> (special cases only)
Change-Id: I6c6669cd502d9d6fd3aa40091673e5554fd961bd
Reviewed-on: https://forge.frm2.tum.de/review/19664
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
- custom properties: to be declared at startup calling the
classmethods Parameter.add_property or Command.add_property
Probably the call should be placed in secop_<facility>/__init__.py
- valid properties are listed in Parameter.valid_properties /
Command.valid_properties. New properties without relation to code
in the SECnode like fmtstr, group, visibility can be added at one
place in code only
Change-Id: I8c550eba955473665d246ddef3815b23c68be4f7
Reviewed-on: https://forge.frm2.tum.de/review/19611
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>
modified cryo.py for using Override correctly, here the description of the stop command is overridden
Change-Id: I060a2802226239f3af3dc1e573b7148d863b938c
Reviewed-on: https://forge.frm2.tum.de/review/19607
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
initialisation occurs in this order:
- object creeation (via __init__ which should consume the cfg values it knows about)
- registering each object with the dispatcher
- calling init_module() on each module (for connecting to other modules, checking hw, creating threads....)
- calling start_module(cb) on each module. after the module finished startup it should call cb(self) once.
This is the right place to do initialisation of hw which is not needed to read from the hw.
(uploading curves, polling/re-setting all parameters, etc.)
Change-Id: Ieaf9df5876e764634836861241f58ab986027f44
Reviewed-on: https://forge.frm2.tum.de/review/18566
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
- for now, the definition also accepts the old syntax
(to be changed later)
- Commands have datatype CommandType
- do not need keyword for the decription parameter of Override
- issue a Warning when a Parameter is overwritten without Overrride
(this should be turned into an error message)
-
Change-Id: Ib2c0f520abb5b4d7e6aed4d77a0d2b8bc470a85a
Reviewed-on: https://forge.frm2.tum.de/review/18251
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>
will be extensivly used by tests.
Change-Id: I250fe9b7c2fdcd489efcde28a6558629d90eb810
Reviewed-on: https://forge.frm2.tum.de/review/18253
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
no more automatic definition by just declaring do_<command>
Change-Id: Ided91b5ae6fe657a6134f1cc14cc6484570a3646
Reviewed-on: https://forge.frm2.tum.de/review/18206
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
for descriptive data the composition will be used.
Change-Id: If35f8176d489231e223e6d97425c1bcea58060ff
Reviewed-on: https://forge.frm2.tum.de/review/18189
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
via using '$' as special char.
Change-Id: Idfbad84b76d2f5161cb6ecc21d63349f23cd47fa
Reviewed-on: https://forge.frm2.tum.de/review/18188
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
unfortunately IntEnum can't be bent like we would need it (extensible).
So we had to write our own....
The members of the Enum still behave like ints, but also have
.name and .value attributes, should they be needed.
needed adoptions to correctly use (and test) the EnumType are included.
Change-Id: Ie019d2f449a244c4fab00554b6c6daaac8948b59
Reviewed-on: https://forge.frm2.tum.de/review/17843
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
stringify at the latest possible moment, not the earliest
Change-Id: I230138c5787f97a72e8726ddc3546c61092d87c5
Reviewed-on: https://forge.frm2.tum.de/review/17858
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
- The widgets do not have a logger itself, the node logger has to be
used
- The 'target_go' callback function has to be part of the Driveable
widget not the Readable widget
Change-Id: Ie045fb02414d768fcf9c5e3f8590267209e23d83
Reviewed-on: https://forge.frm2.tum.de/review/17721
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
to not recreate them when another module/param got selected
Change-Id: Ic81bd8e3105f666d3a03dffb3de4e15603d99c39
Reviewed-on: https://forge.frm2.tum.de/review/17276
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>