fix PARAMS handling + initialisation for simulation
Change-Id: I1be9814b33884034301da0d8f3984011dfcf53b9 Reviewed-on: https://forge.frm2.tum.de/review/17128 Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de> Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
This commit is contained in:
@ -39,6 +39,8 @@ class SimBase(object):
|
|||||||
# read and change messages correctly
|
# read and change messages correctly
|
||||||
if '.extra_params' in cfgdict:
|
if '.extra_params' in cfgdict:
|
||||||
extra_params = cfgdict.pop('.extra_params')
|
extra_params = cfgdict.pop('.extra_params')
|
||||||
|
# make a copy of self.PARAMS
|
||||||
|
self.PARAMS=dict((k,v.copy()) for k,v in self.PARAMS.items())
|
||||||
for k in extra_params.split(','):
|
for k in extra_params.split(','):
|
||||||
self.PARAMS[k] = PARAM('extra_param: %s' % k.strip(),
|
self.PARAMS[k] = PARAM('extra_param: %s' % k.strip(),
|
||||||
datatype=FloatRange(),
|
datatype=FloatRange(),
|
||||||
@ -81,6 +83,10 @@ class SimWritable(SimBase, Writable):
|
|||||||
SimBase.__init__(self, cfgdict)
|
SimBase.__init__(self, cfgdict)
|
||||||
Writable.__init__(self, logger, cfgdict, devname, dispatcher)
|
Writable.__init__(self, logger, cfgdict, devname, dispatcher)
|
||||||
self._value = self.PARAMS['value'].default
|
self._value = self.PARAMS['value'].default
|
||||||
|
def read_value(self, maxage=0):
|
||||||
|
return self.target
|
||||||
|
def write_target(self, value):
|
||||||
|
self.value = value
|
||||||
|
|
||||||
|
|
||||||
class SimDrivable(SimBase, Drivable):
|
class SimDrivable(SimBase, Drivable):
|
||||||
|
Reference in New Issue
Block a user