fix: change inheritance for simmonitor from device to signal
This commit is contained in:
parent
f56961ba8c
commit
a6754208a0
@ -46,11 +46,6 @@ class SimMonitor(ReadOnlySignal):
|
|||||||
sim_cls = SimulatedDataMonitor
|
sim_cls = SimulatedDataMonitor
|
||||||
BIT_DEPTH = np.uint32
|
BIT_DEPTH = np.uint32
|
||||||
|
|
||||||
SUB_READBACK = "readback"
|
|
||||||
_default_sub = SUB_READBACK
|
|
||||||
# TODO: to be removed once changes in BEC are merged
|
|
||||||
readback = Cpt(ReadOnlySignal, value=BIT_DEPTH(0), kind=Kind.hinted, compute_readback=True)
|
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
name,
|
name,
|
||||||
@ -70,14 +65,17 @@ class SimMonitor(ReadOnlySignal):
|
|||||||
|
|
||||||
super().__init__(
|
super().__init__(
|
||||||
name=name,
|
name=name,
|
||||||
parent=self,
|
parent=parent,
|
||||||
kind=kind,
|
kind=kind,
|
||||||
value=self.BIT_DEPTH(0),
|
value=self.BIT_DEPTH(0),
|
||||||
compute_readback=True,
|
compute_readback=True,
|
||||||
|
sim=self.sim,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
)
|
)
|
||||||
if self.sim_init:
|
if self.sim_init:
|
||||||
self.sim.set_init(self.sim_init)
|
self.sim.set_init(self.sim_init)
|
||||||
|
# TODO remove after refactoring, ensures backward compatibility with old simulation config of BEC core (pseudo signal)
|
||||||
|
self.readback = ReadOnlySignal(name=self.name, parent=self, value=self.BIT_DEPTH(0))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def registered_proxies(self) -> None:
|
def registered_proxies(self) -> None:
|
||||||
|
@ -138,6 +138,7 @@ class ReadOnlySignal(Signal):
|
|||||||
kind: int = Kind.normal,
|
kind: int = Kind.normal,
|
||||||
precision: float = PRECISION,
|
precision: float = PRECISION,
|
||||||
compute_readback: bool = False,
|
compute_readback: bool = False,
|
||||||
|
sim=None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
super().__init__(*args, name=name, parent=parent, value=value, kind=kind, **kwargs)
|
super().__init__(*args, name=name, parent=parent, value=value, kind=kind, **kwargs)
|
||||||
@ -145,7 +146,7 @@ class ReadOnlySignal(Signal):
|
|||||||
self._value = value
|
self._value = value
|
||||||
self.precision = precision
|
self.precision = precision
|
||||||
self.compute_readback = compute_readback
|
self.compute_readback = compute_readback
|
||||||
self.sim = getattr(self.parent, "sim", None)
|
self.sim = sim if sim is not None else getattr(self.parent, "sim", None)
|
||||||
if self.sim:
|
if self.sim:
|
||||||
self._init_sim_state()
|
self._init_sim_state()
|
||||||
self._metadata.update(write_access=False)
|
self._metadata.update(write_access=False)
|
||||||
@ -227,6 +228,7 @@ class CustomSetableSignal(BECDeviceBase):
|
|||||||
value: any = 0,
|
value: any = 0,
|
||||||
kind: int = Kind.normal,
|
kind: int = Kind.normal,
|
||||||
precision: float = PRECISION,
|
precision: float = PRECISION,
|
||||||
|
sim=None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
if parent:
|
if parent:
|
||||||
@ -238,7 +240,7 @@ class CustomSetableSignal(BECDeviceBase):
|
|||||||
self._dtype = type(value)
|
self._dtype = type(value)
|
||||||
self._shape = self._get_shape(value)
|
self._shape = self._get_shape(value)
|
||||||
self.precision = precision
|
self.precision = precision
|
||||||
self.sim = getattr(self.parent, "sim", None)
|
self.sim = sim if sim is not None else getattr(self.parent, "sim", None)
|
||||||
self._update_sim_state(value)
|
self._update_sim_state(value)
|
||||||
|
|
||||||
def _get_shape(self, value: any) -> list:
|
def _get_shape(self, value: any) -> list:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user