add simulated device with async readout for e2e tests
For a quick test, I just added something like this to the unstage of the SynFlyer:
def unstage(self) -> List[object]:
dm = self.device_manager
scan_id = dm.devices[self.name].metadata["scanID"]
msg = messages.DeviceMessage(
signals={
"signal1": {"value": 0, "timestamp": 0},
"signal2": {"value": 0, "timestamp": 0},
},
metadata={"scanID": scan_id, "async_update": "append"},
)
for ii in range(10):
dm.producer.xadd(
topic=MessageEndpoints.device_async_readback(scanID=scan_id, device=self.name),
msg_dict={"data": msg},
expire=1800,
)
return super().unstage()
but maybe there is a better way, @appel_c ?