Skip to content

Add load metadata plan for fastcs eiger#1187

Merged
DominicOram merged 29 commits intomainfrom
use_adodin_with_fastcs_eiger
May 21, 2025
Merged

Add load metadata plan for fastcs eiger#1187
DominicOram merged 29 commits intomainfrom
use_adodin_with_fastcs_eiger

Conversation

@shihab-dls
Copy link
Copy Markdown
Contributor

This PR adds a plan that broadly mimics the the Eiger arming sequence. This was used to test Fastcs-Eiger with ADOdin on i03 with @DominicOram.

Instructions to reviewer on how to test:

  1. Confirm that the plan correctly arms the Eiger

Checks for reviewer

  • Would the PR title make sense to a scientist on a set of release notes
  • If a new device has been added does it follow the standards
  • If changing the API for a pre-existing device, ensure that any beamlines using this device have updated their Bluesky plans accordingly
  • Have the connection tests for the relevant beamline(s) been run via dodal connect ${BEAMLINE}

Copy link
Copy Markdown
Contributor

@DominicOram DominicOram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Some suggestions in code, I also think it would be good to just add a __main__ at the bottom of src/dodal/plans/load_eiger_metadata_plan.py that does the full configure, arm, manually trigger and disarm. Just so that we can easily get back to testing

Comment on lines +20 to +28
yield from set_cam_pvs(eiger, detector_params, wait=True)
LOGGER.info(f"Setting CAM PVs: {time.time() - start}s")
yield from set_odin_pvs(eiger, detector_params, wait=True)
LOGGER.info(f"Setting Odin PVs: {time.time() - start}s")
yield from change_roi_mode(eiger, enable, detector_params, wait=True)
LOGGER.info(f"Changing ROI Mode: {time.time() - start}s")
yield from bps.abs_set(eiger.odin.num_frames_chunks, 1)
LOGGER.info(f"Setting # of Frame Chunks: {time.time() - start}s")
yield from set_mx_settings_pvs(eiger, detector_params, wait=True)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For next time we're testing we should try removing these individual waits, I think the arm should all still work

@DominicOram
Copy link
Copy Markdown
Contributor

Also, I think this is a duplicate of #1054, can we remove one of them?

@codecov
Copy link
Copy Markdown

codecov bot commented Apr 28, 2025

Codecov Report

Attention: Patch coverage is 94.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 97.96%. Comparing base (d21544f) to head (feb98fa).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...plans/configure_arm_trigger_and_disarm_detector.py 94.36% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1187      +/-   ##
==========================================
- Coverage   97.99%   97.96%   -0.04%     
==========================================
  Files         197      198       +1     
  Lines        7530     7605      +75     
==========================================
+ Hits         7379     7450      +71     
- Misses        151      155       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@shihab-dls shihab-dls marked this pull request as ready for review May 13, 2025 08:58
@shihab-dls shihab-dls requested a review from a team as a code owner May 13, 2025 08:58
@shihab-dls shihab-dls requested a review from DominicOram May 13, 2025 08:58
Copy link
Copy Markdown
Contributor

@DominicOram DominicOram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, minor comment. As discussed can you:

  1. Make a new ophyd-async pre-release
  2. Make sure main of dodal works against that
  3. Pin to the pre-release in this PR

)


@device_factory(skip=BL == "s03")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: We don't run with s03 any more so can remove this

Copy link
Copy Markdown
Contributor

@DominicOram DominicOram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be all good now, thanks!

@DominicOram DominicOram merged commit 9f908c6 into main May 21, 2025
17 of 19 checks passed
@DominicOram DominicOram deleted the use_adodin_with_fastcs_eiger branch May 21, 2025 13:35
@DominicOram DominicOram changed the title Add load metadata plan for eiger detector Add load metadata plan for fastcs eiger May 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants