Skip to content

Add i21 shutter with lateral motor#2005

Open
oliwenmandiamond wants to merge 5 commits intomainfrom
add_i21_shutter
Open

Add i21 shutter with lateral motor#2005
oliwenmandiamond wants to merge 5 commits intomainfrom
add_i21_shutter

Conversation

@oliwenmandiamond
Copy link
Copy Markdown
Contributor

Added fastshutter to i21. Extended base to add the additional motor that i21 requires. Updated existing classes to reuse the same enum OpenClosed

Instructions to reviewer on how to test:

  1. Check dodal connect
  2. Check tests pass

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}

@oliwenmandiamond oliwenmandiamond requested a review from a team as a code owner April 10, 2026 12:55
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.08%. Comparing base (5ff8c2a) to head (49bd441).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2005   +/-   ##
=======================================
  Coverage   99.08%   99.08%           
=======================================
  Files         319      320    +1     
  Lines       12408    12417    +9     
=======================================
+ Hits        12295    12304    +9     
  Misses        113      113           

☔ 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.

Copy link
Copy Markdown
Contributor

@Relm-Arrowny Relm-Arrowny left a comment

Choose a reason for hiding this comment

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

I am not 100% sure about the i21 fastshutter should behave like a standard shutter the other change looks good to me.

from dodal.devices.fast_shutter import EnumTypesT, FastShutter


class FastShutterWithLateralMotor(FastShutter[EnumTypesT], Generic[EnumTypesT]):
Copy link
Copy Markdown
Contributor

@Relm-Arrowny Relm-Arrowny Apr 13, 2026

Choose a reason for hiding this comment

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

We need to ask @fajinyuan how this fast shutter actually should behave, looking at it as an outsider, it look to me this is a externally triggered fast shutter. Couple of things concern me:

  1. The ERIO output is the status we trying to change as if it is a standard shutter, I am not 100% sure open will mean open or it just set the default state to open and a trigger signal will close it.
  2. There are 4 more outputs and a source signals on that fast shutter controller we likely want to be able to access them depending of the experimental condition.

close_state (EnumTypesT): The enum value that corresponds with closing the
shutter.
shutter_suffix (str, optional): Shutter suffix state. Defaults to CON.
lateral_suffix (str, optional): Lateral mottor suffix. Defaults to LAT.
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.

Suggested change
lateral_suffix (str, optional): Lateral mottor suffix. Defaults to LAT.
lateral_suffix (str, optional): Lateral motor suffix. Defaults to LAT.

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