Repository navigation
Add the optics devices to the profile; fix Slits blade PVs - #8
Merged
Anthony Sligar (sligara7) merged 1 commit intoOct 23, 2026
Conversation
…L/R) Slits used L}Mtr/R}Mtr for inboard/outboard, which do not exist; the records are I}Mtr/O}Mtr (cainfo on 28ID1A and 28ID1B, cs-studio-xf common/op/slits_4ax.opi, pdf-profile-collection 12-optics). A new test pins every optics class's PV names to the old profile; it failed on Slits before the fix. Adds OCM_slits, BDM_slits, WB_slits, cleanup_slits, sbm, Mirror_VFM, optics_table_adc and OCM_table to the profile. Assisted-by: copilot:claude-opus-5-5
There was a problem hiding this comment.
🟢 Approval recommended
The changes are narrowly scoped, include targeted regression coverage, and have no identified blocking issues; beamline validation remains outstanding.
No open issues 🎉
What changed in this PR
Adds eight optics devices to the collection profile using existing motor classes and corrects the slit blade PV suffixes to match the beamline records.
Changes:
- Registers four slit assemblies, the monochromator, mirror, and two optics tables.
- Corrects inboard/outboard slit suffixes from
L/RtoI/O. - Adds PV-name regression tests and extends mock startup coverage to all eight devices.
| File | Description |
|---|---|
| tests/test_utils.py | Checks that all eight optics devices connect during mock startup. |
| tests/test_optics.py | Verifies optics motor and mirror encoder PV names. |
| src/pdftools/profiles/collection.py | Instantiates the optics devices with beamline prefixes. |
| src/pdftools/motors.py | Corrects the inboard and outboard slit blade PV suffixes. |
Review effort: Balanced
Anthony Sligar (sligara7)
merged commit Oct 23, 2026
6801ba1
into
NSLS2:pdf-profile-conversion
4 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the optics from pdf-profile-collection
12-optics.pyto the profile:OCM_slits,BDM_slits,WB_slits,cleanup_slits,sbm,Mirror_VFM,optics_table_adc,OCM_table(classes already inpdftools.motors).SlitsusedL}Mtr/R}Mtrfor inboard/outboard. Those records do not exist; the blades areI}Mtr/O}Mtr(cainfoonSlt:2andSlt:0, cs-studio-xfcommon/op/slits_4ax.opi, and the old profile).Slitsbefore the fix.spinner_gonioheadis left for the plain-motors PR: it drives the same PVs asSpinnergo_X/Y/Ry, which still need deduplicating.Verified: mock tests (PV names, profile boots in mock mode with all eight devices). Not run on the beamline.