Skip to content

add i10-1 and i06-1magnet temperature controller - #2121

Merged
oliwenmandiamond merged 92 commits into
mainfrom
2113-i10-1-high-field-magnetic-controllers
Aug 18, 2026
Merged

add i10-1 and i06-1magnet temperature controller#2121
oliwenmandiamond merged 92 commits into
mainfrom
2113-i10-1-high-field-magnetic-controllers

Conversation

@Relm-Arrowny

@Relm-Arrowny Relm-Arrowny commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Fixes #2113, #2124

Requires: ophyd-async(#1381). #2155

added a new generic temperature_controller:

  • TemperatureController base class
  • BaseTemperatureSensor and BaseHeater
  • Shared PID component
  • Temperature movable logic with configurable tolerance and stop behaviour
  • Support for multiple sensor readbacks
  • Support switchable readback control sensor.

Added support for the I06-1 SCM Cryocon M32 temperature controller:

  • Heater configuration, ramp settings and PID controls

Added support for the I10-1 High Field Magnet temperature controllers:

  • New HighFieldMagnetTemperatureController device

Fixed historical typo in module naming:

  • temperture_controller → temperature_controller

Instructions to reviewer on how to test:

  1. Do thing x
  2. Confirm thing y happens

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}

@Relm-Arrowny Relm-Arrowny linked an issue Jul 16, 2026 that may be closed by this pull request
5 tasks
@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.20%. Comparing base (091ec0d) to head (03f5574).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff            @@
##             main    #2121    +/-   ##
========================================
  Coverage   99.19%   99.20%            
========================================
  Files         364      367     +3     
  Lines       14379    14535   +156     
========================================
+ Hits        14263    14419   +156     
  Misses        116      116            

☔ View full report in Codecov by Harness.
📢 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.

@Relm-Arrowny Relm-Arrowny linked an issue Jul 20, 2026 that may be closed by this pull request
1 task
@Relm-Arrowny Relm-Arrowny changed the title add temperature controller add i10-1 and i06-1magnet temperature controller Jul 20, 2026
@Relm-Arrowny
Relm-Arrowny marked this pull request as ready for review July 20, 2026 15:19
@Relm-Arrowny
Relm-Arrowny requested a review from a team as a code owner July 20, 2026 15:19

@oliwenmandiamond oliwenmandiamond left a comment

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.

Thanks, looks good but have feedback to improve. As @Villtord mentioned in standup, could we please also make sure to add doc strings to the devices. Thanks!

Comment thread src/dodal/devices/beamlines/i06_1/magnet/temperature_controller.py Outdated
Comment thread src/dodal/devices/beamlines/i10_1/high_field_magnet/temperature_controller.py Outdated
Relm-Arrowny and others added 22 commits August 11, 2026 10:59
…b.com/DiamondLightSource/dodal into update_id_logic_to_use_standard_movable
* Create UndulatorAccessControl Device

* Clean up imports

* Add access control as dependency for test

* Add doc string and improve set_ and wait func
Co-authored-by: Raymond Fan <raymond.fan@diamond.ac.uk>
@oliwenmandiamond
oliwenmandiamond changed the base branch from main to update_to_ophyd_async_0_21_1 August 18, 2026 09:22
Base automatically changed from update_to_ophyd_async_0_21_1 to main August 18, 2026 09:37

@oliwenmandiamond oliwenmandiamond left a comment

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.

LGTM, thanks for doing this

@oliwenmandiamond
oliwenmandiamond enabled auto-merge (squash) August 18, 2026 09:41
@oliwenmandiamond
oliwenmandiamond merged commit 29e9733 into main Aug 18, 2026
19 of 20 checks passed
@oliwenmandiamond
oliwenmandiamond deleted the 2113-i10-1-high-field-magnetic-controllers branch August 18, 2026 09:49
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.

Add support for I06-1 Magnet Temperature Controller I10-1 high field magnetic controllers

3 participants