Skip to content

Fix DynaCool driver init and temperature_setpoint cache update#8097

Open
SherwanMicrosoft wants to merge 1 commit intomicrosoft:mainfrom
SherwanMicrosoft:fix/dynacool-driver-init-and-temperature-setpoint
Open

Fix DynaCool driver init and temperature_setpoint cache update#8097
SherwanMicrosoft wants to merge 1 commit intomicrosoft:mainfrom
SherwanMicrosoft:fix/dynacool-driver-init-and-temperature-setpoint

Conversation

@SherwanMicrosoft
Copy link
Copy Markdown

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
Author

@microsoft-github-policy-service agree

``temperature_setpoint`` cache:

- ``block_while_ramping_temperature`` is now created with ``set_cmd=None`` /
``get_cmd=None`` so it behaves as a settable cache-only parameter, instead of
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This file should be named 8097.improved_driver

@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.80%. Comparing base (ec90c0a) to head (52e008c).
⚠️ Report is 228 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8097      +/-   ##
==========================================
+ Coverage   70.26%   70.80%   +0.53%     
==========================================
  Files         333      302      -31     
  Lines       32169    31911     -258     
==========================================
- Hits        22604    22593      -11     
+ Misses       9565     9318     -247     

☔ 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

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