DiamondLightSource / DiamondLightSource/dodal

Updates for eiger stream2 / no fan / single file writer

Open
#135 2 comments 0 reactions 0 assignees View on GitHub
eiger i04
Dominant language
Python
Stars
5
Forks
13
Avg merge
3d 2h
Merged PRs (30d)
10

Description

- [ ] Work can begin on this when https://github.com/DiamondLightSource/eiger-detector/issues/30 is resolved

In updating to odin to work with stream2 some simplifications have been made.

- The receivers have been removed entirely
- The fan is optional
- There is an option to have 1 or 4 writers

I am hoping to use a single writer and no fan everywhere, but we need to verify that it is sufficient to handle the data rates. It may be easier to patch things enough to test a single writer and then if it works then decide to only support a single writer to simplify the code, rather than to update it to work in either case.

Changes I can see from reviewing the code:

- Don't check for the frame receiver [here](https://github.com/DiamondLightSource/dodal/blob/main/src/dodal/devices/eiger_odin.py#L102)
- Don't check frames timed out [here](https://github.com/DiamondLightSource/dodal/blob/main/src/dodal/devices/eiger_odin.py#L129C39-L129C39)
- I am going to try to override `FramesDropped_RBV` to be eiger specific but it might need to be a new PV if it isn't possible
- I don't see any specific examples, but don't set `AcquisitionID` - I have disabled the record so that it is always empty and doesn't ignore any frames (and am now checking the series ID from the start message to make sure the image messages are in the expected acquisition)

And depending on if it needs to support both single writer and fan with 4 writers:
- Use `OD:NumProcesses_RBV` to query only the writers that exist
- Don't check the fan is initialised / connected [here](https://github.com/DiamondLightSource/dodal/blob/main/src/dodal/devices/eiger_odin.py#L143)

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.