- 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>
- 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>
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>
create the correct descriptive data.
Main use case is for unit-tests and testing custom configs.
Change-Id: I3077f80cb9fdbf2443ee9da796c3749707fd2b55
Reviewed-on: https://forge.frm2.tum.de/review/16806
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
+ rework GUI
- include a combobox for selection of visibility
- include a checkbox wether validation should be done in the client
- remove unused lineEdit
+ improve datatypes
+ improve tests for new descriptive data
+ metaclasse: fix overlooked read_* or write_* func's
+ improve polling
+ Introduce new ErrorClasses
+ dispatcher: use new features of datatypes + PARAMS
+ improve lib
+ autopep8
+ first working version of MLZ_entangle integration
+ split specific stuff into it's own package (MLZ,demo,ess)
Change-Id: I8ac3ce871b28f44afecbba6332ca741095426712
second approach, better fitting what was agreed upon so far.
- pv_names are local to SEC-node, so not exporting via json and marking
them 'private'
- 2 devices for 2 temperature control loops, not one 'monster' device
which handles everything.
- read_status implemented
- write_target also updates the status (may be sensible to go to the core?)
- provide working stubs in case epics is not installed (-> testing possible)
- tested with the stubs.
- tests with real epics.
found problems:
in EpicsTempCtrl(EpicsDriveable) the read/write_<paramname> methods from
EpicsDriveable needed to be reimplemented. This should not be needed!
Change-Id: I9e4eeaff83114131d117c8f04fba758dfe22237b
+ make parameter-properties configurable
+ better derivation of automatic properties
+ implement 'group' properties (how to display in gui???
+ clean up descriptive data by omitting unset and live properties
Change-Id: Icd2b6e91e09037e9d4a8d6ad88483f8509a2cf5f
put encoders and framers into their own files.
also rework messages and dispatcher
make tcpserver functional
FIRST WORKING VERSION!
(no daemon mode yet, sorry)
start bin/server.py, connect a terminal to localhost:10767
and press enter....
note: not all requests are bug free yet, ListDevicesRequest() works
Change-Id: I46d6e469bca32fc53057d64ff48cce4f41ea12ea