Skip to content

Beam attenuation#35

Open
Daniel Henriksen (dihenriksen) wants to merge 25 commits into
mainfrom
beam-attenuation
Open

Beam attenuation#35
Daniel Henriksen (dihenriksen) wants to merge 25 commits into
mainfrom
beam-attenuation

Conversation

@dihenriksen
Copy link
Copy Markdown
Contributor

@dihenriksen Daniel Henriksen (dihenriksen) commented May 8, 2026

Mainly, this PR creates the ability to attenuate a beam by giving control over a set of attenuators:

  • Made AttenuatorBank, Attenuator, and other helper classes
  • Implemented movable protocol for those classes to control individual attenuators, and to set total attenuation
  • Tests for attenuation functionality

Also fixed various other issues:

  • Ignore test_eiger_async tests for now since they are very broken
  • Update ophyd-async version to match what is in cdi-profile-collection
  • Fix distribution build step
  • Fix style problems
  • Remove python 3.10 from supported python versions due to compatibility issues with the latest version of ophyd-async

@dihenriksen Daniel Henriksen (dihenriksen) marked this pull request as ready for review May 12, 2026 02:55
Copy link
Copy Markdown

@jwlodek Jakub Wlodek (jwlodek) left a comment

Choose a reason for hiding this comment

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

Marked some suggestions. Mainly I'd recommend making both device classes Movables and re-work the current methods for changing states into a set method override.

Comment thread src/cditools/attenuator.py Outdated
Comment thread src/cditools/attenuator.py Outdated
Comment thread src/cditools/attenuator.py
Comment thread src/cditools/attenuator.py Outdated
Comment thread src/cditools/attenuator.py Outdated
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