support write_ method on readonly param and more
- write method may be used internally on a readonly parameter + add IDLE, WARN, BUSY and ERROR to secop.core + secop.datatype.EnumType: allow 'self' as member name + secop.lib.statemachine: log Restart and Stop exceptions only on debug level + secop_psi.ccu4.CCU4: explicit conversion to float + secop.proxy: remove superfluos and erroneous make_secop_error Change-Id: I2f13d31ceacd2bde65eab64f8eae4225556c18f5 Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27963 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>
This commit is contained in:
@ -23,8 +23,7 @@
|
||||
|
||||
from secop.client import SecopClient, decode_msg, encode_msg_frame
|
||||
from secop.datatypes import StringType
|
||||
from secop.errors import BadValueError, \
|
||||
CommunicationFailedError, ConfigError, make_secop_error
|
||||
from secop.errors import BadValueError, CommunicationFailedError, ConfigError
|
||||
from secop.lib import get_class
|
||||
from secop.modules import Drivable, Module, Readable, Writable
|
||||
from secop.params import Command, Parameter
|
||||
@ -47,8 +46,6 @@ class ProxyModule(HasIO, Module):
|
||||
if parameter not in self.parameters:
|
||||
return # ignore unknown parameters
|
||||
# should be done here: deal with clock differences
|
||||
if readerror:
|
||||
readerror = make_secop_error(*readerror)
|
||||
self.announceUpdate(parameter, value, readerror, timestamp)
|
||||
|
||||
def initModule(self):
|
||||
@ -201,7 +198,7 @@ def proxy_class(remote_class, name=None):
|
||||
def wfunc(self, value, pname=aname):
|
||||
value, _, readerror = self._secnode.setParameter(self.name, pname, value)
|
||||
if readerror:
|
||||
raise make_secop_error(*readerror)
|
||||
raise readerror
|
||||
return value
|
||||
|
||||
attrs['write_' + aname] = wfunc
|
||||
|
Reference in New Issue
Block a user