Skip to content

Fix DynaCool driver init and temperature_setpoint cache update#8097

Merged
jenshnielsen merged 3 commits intomicrosoft:mainfrom
SherwanMicrosoft:fix/dynacool-driver-init-and-temperature-setpoint
May 6, 2026
Merged

Fix DynaCool driver init and temperature_setpoint cache update#8097
jenshnielsen merged 3 commits intomicrosoft:mainfrom
SherwanMicrosoft:fix/dynacool-driver-init-and-temperature-setpoint

Conversation

@SherwanMicrosoft
Copy link
Copy Markdown
Contributor

Summary

Fixes three bugs in qcodes.instrument_drivers.QuantumDesign.DynaCoolPPMS.DynaCool.DynaCool
that prevented the driver from instantiating against a real PPMS DynaCool and
from updating the temperature_setpoint cache after a temperature ramp.

Encountered while bringing up an SdH measurement on a Quantum Design PPMS DynaCool
on QCoDeS 0.57.0; all three issues are present on main as well.

Changes

  1. block_while_ramping_temperature parameter (~line 84) — created with
    set_cmd=False / get_cmd=False, which makes the parameter read-only and
    causes add_parameter to reject the supplied initial_value=False. Changed
    to set_cmd=None / get_cmd=None so the parameter behaves as a
    cache-only settable, matching the existing docstring intent
    ("when set to True, will block further interaction…").

  2. blocking_t_state_check_interval parameter (~line 93)add_parameter
    already passes instrument=self automatically; the duplicate keyword raised
    a TypeError on driver construction. Removed.

  3. _set_temperature_and_state cache update (~line 436) — referenced
    self.setpoint, which doesn't exist on this class. The corresponding
    parameter is self.temperature_setpoint. Fixed.

Test plan

Manually instantiated the driver against the real PPMS hardware
(TCPIP0::10.164.120.28::5000::SOCKET) and exercised:

  • driver construction (previously raised on parameters 1 & 2)
  • temperature_setpoint(...) round-trip (previously raised AttributeError
    inside the blocking branch on parameter 3)

No new tests added; these are integration-only paths against vendor hardware.

Newsfragment

Added under docs/changes/newsfragments/+dynacool-fixes.improved_driver
(will be renamed to <PR-number>.improved_driver once the PR number is
assigned).

- block_while_ramping_temperature: use set_cmd=None/get_cmd=None so the parameter is settable instead of read-only (set_cmd=False rejected the supplied initial_value).

- blocking_t_state_check_interval: drop duplicate instrument=self kwarg; add_parameter already provides it.

- _set_temperature_and_state: update cache on self.temperature_setpoint, not the non-existent self.setpoint.
@SherwanMicrosoft SherwanMicrosoft requested a review from a team as a code owner May 5, 2026 11:46
@SherwanMicrosoft
Copy link
Copy Markdown
Contributor Author

@microsoft-github-policy-service agree

Comment thread docs/changes/newsfragments/ 8097.improved_driver
@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 70.80%. Comparing base (955704d) to head (bcfc09a).

Files with missing lines Patch % Lines
...ent_drivers/QuantumDesign/DynaCoolPPMS/DynaCool.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #8097   +/-   ##
=======================================
  Coverage   70.80%   70.80%           
=======================================
  Files         302      302           
  Lines       31911    31911           
=======================================
  Hits        22593    22593           
  Misses       9318     9318           

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

@jenshnielsen jenshnielsen left a comment

Choose a reason for hiding this comment

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

Thanks @SherwanMicrosoft The changes looks good to me

@jenshnielsen jenshnielsen enabled auto-merge May 6, 2026 11:51
@jenshnielsen jenshnielsen added this pull request to the merge queue May 6, 2026
Merged via the queue into microsoft:main with commit c79da16 May 6, 2026
16 of 17 checks passed
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