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 maximum ramp value is 9999. This will be used by the entangle server
during the stop, but it collides with the former limit 600 and creates
errors in the client.
Change-Id: I6888b876515a4a13ba04e4ccad3d045a8092f499
Reviewed-on: https://forge.frm2.tum.de/review/17747
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Jens Krueger <jens.krueger@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>
The command 'setposition' wasn't sane declared so the use of one of the
devices using this command lead always to a ProgrammingError during the
'describe' command via the server interface.
Change-Id: I34a6b07e8f0fbd861496515a5e18d3181ad134d5
Reviewed-on: https://forge.frm2.tum.de/review/17715
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>