Repository navigation
Improvements to Galil driver - #8677
Draft
Jens Hedegaard Nielsen (jenshnielsen) wants to merge 6 commits into
Draft
Jens Hedegaard Nielsen (jenshnielsen) wants to merge 6 commits into
Jens Hedegaard Nielsen (jenshnielsen) wants to merge 6 commits into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8677 +/- ##
==========================================
+ Coverage 75.02% 75.70% +0.68%
==========================================
Files 307 307
Lines 32506 32498 -8
==========================================
+ Hits 24386 24604 +218
+ Misses 8120 7894 -226 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Setting it only updated the cached value without moving the motors. Also add tests for the driver with a stand-in for gclib.
on_off_status and off_when_error_occurs only looked at the first character of the reply, so the empty or bare ':' replies that gclib can return under rapid polling raised or gave the wrong state. Retry them like is_in_motion does.
close() only closed the gclib connection, so the controller stayed registered and could not be created again with the same name.
Move the retry of empty or bare ':' replies into ask_raw instead of separate loops in a few methods, so all getters get it. The motion wait loop polls once per query and keeps its own deadline handling. Malformed non-empty replies now raise instead of being retried.
Jens Hedegaard Nielsen (jenshnielsen)
force-pushed
the
galil_fixes
branch
from
October 27, 2026 08:52
13feafe to
026dcdb
Compare
Jens Hedegaard Nielsen (jenshnielsen)
requested a balanced review from Copilot
October 27, 2026 09:09
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
Static review identified no blocking issues, and focused regression tests and release notes cover the behavioral changes.
No open issues 🎉
What changed in this PR
Improves the Galil DMC-41x3 driver’s reply handling and cleanup, with regression tests and release notes.
Changes:
- Centralizes retries for empty replies and parses complete numeric status responses.
- Makes absolute position read-only and ensures closing a controller releases its QCoDeS registration.
- Adds fake-gclib tests covering reply handling, motion polling, and controller lifecycle.
| File | Description |
|---|---|
tests/drivers/test_galil_dmc_41x3.py |
Adds regression tests without requiring vendor gclib. |
src/qcodes/instrument_drivers/Galil/dmc_41x3.py |
Updates retries, parsing, cleanup, and parameter behavior. |
docs/changes/newsfragments/8677.improved_driver |
Documents reply-handling and cleanup improvements. |
docs/changes/newsfragments/8677.breaking |
Documents the read-only absolute-position change. |
Review effort: Balanced
| """ | ||
| val = self.ask(f"MG _MO{self._axis}") | ||
| if val[0] == "1": | ||
| if int(float(self.ask(f"MG _MO{self._axis}"))) == 1: |
Collaborator
Author
There was a problem hiding this comment.
why is it no longer required to take the first element
This branch has not been deployed
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.
No description provided.