DiamondLightSource / DiamondLightSource/fastcs-odin

Implement checking of FrameReceiver status before starting acquisitions

Open
#56 3 comments 0 reactions 1 assignee Claimed by @ajgdls View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.