Conversation
0a3ab26 to
cd67dab
Compare
| monitor: EigerMonitorIO | ||
| stream: EigerStreamIO | ||
| detector: EigerDetectorIO | ||
| od: OdinHdfIO |
There was a problem hiding this comment.
Can we make this odin rather than od?
|
Claude finished @coretl's task in 1m 52s —— View job Code Review CompleteTasks
SummaryThis PR successfully migrates from EPICS ADOdin to FastCS-Odin. Previous review comments have been addressed. The code is generally well-structured with good test coverage. I've identified a few issues: Issues FoundCritical:
Major:
Minor:
Detailed Feedbacksrc/ophyd_async/fastcs/odin/_odin_io.py:76The Question: Is this intentional? If src/ophyd_async/fastcs/odin/_odin_io.py:87-89await asyncio.gather(
wait_for_value(self._drv.fp.writing, True, timeout=DEFAULT_TIMEOUT),
)The single-item src/ophyd_async/fastcs/eiger/_eiger.py:23od: OdinHdfIOShould be src/ophyd_async/fastcs/jungfrau/_jungfrau.py:9-17The duplicate Line 35: Type ignore commentself.odin, # type: ignoreThis type ignore is needed because of the duplicate Positive Observations
Recommendations
|
| f"uint{await self._detector_bit_depth.get_value()}" | ||
| ), | ||
| self._drv.fp.data_compression.set("BSLZ4"), | ||
| self._drv.fp.frames.set(0), |
There was a problem hiding this comment.
Setting frames to 0 appears unusual. What does fp.frames represent in the Odin context?
If it's the expected frame count, this would always set it to 0 regardless of acquisition parameters. If it's a frame counter that should be reset, consider adding a comment explaining this behavior.
| # TODO: Delete this duplicate device, once FastCS Jungfrau | ||
| # has top level 'detector' and 'odin', after which, follow | ||
| # EigerDetector as an example of correct structure | ||
| class OdinHdfIO(Device): |
There was a problem hiding this comment.
This duplicate OdinHdfIO class should be tracked for removal. Once FastCS Jungfrau provides the same structure as Eiger (with top-level 'detector' and 'odin'), this workaround can be eliminated.
Consider creating a GitHub issue to track this technical debt if one doesn't already exist.
|
Merged into #1177 |
closes #551
This PR implement FastCS-Odin in place of ADOdin.