Repository navigation
Profile conversion 5c: xrd_temperature_series - #13
Merged
Anthony Sligar (sligara7) merged 2 commits intoOct 23, 2026
Merged
Anthony Sligar (sligara7) merged 2 commits into
Anthony Sligar (sligara7) merged 2 commits into
Conversation
Replaces pdf-profile-collection pbar_set_temp followed by a count: moving the Eurotherm loop already waits until the reading settles, so the plan steps through the setpoints and counts at each, with the shutter closed while the temperature changes. Assisted-by: copilot:claude-opus-5-5
There was a problem hiding this comment.
🟡 Changes recommended
Initial shutter closure and fresh temperature metadata for each repeated run need correction.
2 open issues
What changed in this PR
Adds xrd_temperature_series to the XRD plans and collection profile, combining temperature settling with repeated acquisitions.
Changes:
- Adds ordered temperature moves, optional ramp-rate configuration, shutter handling, and temperature metadata.
- Exposes the plan in the collection session.
- Adds mock tests for acquisition order, metadata, ramp rate, and failure to settle.
| File | Description |
|---|---|
| tests/test_xrd_temperature.py | Adds mock coverage for the temperature-series plan. |
| src/pdftools/xrd.py | Implements temperature-controlled XRD acquisitions. |
| src/pdftools/profiles/collection.py | Imports the new plan into the collection session. |
Review effort: Balanced
…temperature per run An already-open shutter stayed open through the first temperature change, and every run at one temperature reported the first run's reading. Both found by Copilot review on NSLS2#13; regression tests added. Assisted-by: copilot:claude-opus-5-5
Anthony Sligar (sligara7)
merged commit Oct 23, 2026
97eb622
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.


Replaces the old
pbar_set_temp+ count withxrd_temperature_seriesinpdftools.xrd, loaded into the profile session.For each setpoint it moves the controller (e.g.
eurotherm.loop1; the move waits until the reading has settled within the loop'stolerance/settle_time), then counts asxrd_countdoes. The shutter is closed while the temperature changes. Each run's metadata records the setpoint and the reading before counting. An optionalramp_rateis set once at the start. The Lakeshore version (cryostat_set_temp) follows once the Lakeshore device lands.Verified: mock tests (
tests/test_xrd_temperature.py: setpoint order, shutter closed during moves, metadata, ramp rate, shutter closed and nothing counted when the temperature never settles). Not run on the beamline.