DiamondLightSource / DiamondLightSource/fastcs-odin
Implement checking of FrameReceiver status before starting acquisitions
- Dominant language
- Python
- Stars
- 1
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
Previously the FrameProcessorAdapter performed checks via the FrameReceiverAdapter that the frameReceiver has all of its free buffers available to avoid confusing failures. This was removed [here](https://github.com/odin-detector/odin-data/pull/370/files#diff-d7b077e0619e5c4e87a88096ee3e99eac961c58f2267b795e8a720bea30bb517L211).
The generated `start_writing` method should be disabled (`.enabled = False`, e.g. [here](https://github.com/DiamondLightSource/FastCS/blob/88f80a2934686c0be71f7eeb5cb9c6e8ce51b9cb/src/fastcs/transport/epics/ioc.py#L122) and a `@command` method added to FrameProcessorController the does the checks and then calls the `start_writing` method, which is still available internally, just not exposed to the transport layer (I think).
## Acceptance Criteria
- `FrameProcessorAdapterController` does not allow start writing if frame receiver status is bad.
Contributor guide
Assessment
This issue has not been assessed yet.