Monitor with async reading
Description
This MR introduces a new monitor that has asynchronous reading. It will send data in bunches (randomly between 1-9 values) directly to the async_readback endpoint.
Related Issues
closes #67 (closed) and closes #48 (closed)
Type of Change
- Change 1
Additional Notes
separate MR closes #68 (closed)
To test the new device in BEC
I added the new device in BEC which works fine. To reproduce, add the following device to the demo config:
async_bpm:
readoutPriority: async
deviceClass: ophyd_devices.sim.sim_monitor_async.SimMonitorAsync
deviceConfig:
device_access: true
deviceTags:
- beamline
enabled: true
readOnly: false
softwareTrigger: true
Remark
I followed the pydantic model for DeviceMessage, however, for both 'append' and 'extend' options the async_data is not properly unpacked in the s.scan.async_data
when 'value' and 'timestamp' are both provided. Issue in BEC is created -> bec#309 (closed)
Definition of Done
-
Documentation is up-to-date. -
include device_progress -> I am trying to test the device_progress callbacks in BEC, but struggling a bit with the simulation for the moment. Postponed to Monday
Edited by appel_c