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

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.

1 participant