-
Notifications
You must be signed in to change notification settings - Fork 301
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Driver: Keysight 344xxA - flexible measurements and modularization #1433
Driver: Keysight 344xxA - flexible measurements and modularization #1433
Conversation
(cherry picked from commit 24dc67f) (that commit has incorrect cast for 'reset' function which is taken care of here)
it autoranges and then sets autoranging off.
…nt' into driver/34465A/flexible_measurement
@QCoDeS/core ready for review |
…nt' into driver/34465A/flexible_measurement
..introduced couple commits ago
@@ -36,21 +36,6 @@ def setcmd(channel, setting): | |||
def getcmd(channel, setting): | |||
return 'SOURce{}:'.format(channel) + setting + '?' | |||
|
|||
def errorparser(rawmssg): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it not the time to just remove this driver?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, i'll remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I won't remove it because it requires updating some example notebooks, i'd prefer to do that in a different PR.
@@ -253,21 +256,6 @@ def __init__(self, name, address, silent=False, **kwargs): | |||
|
|||
super().__init__(name, address, **kwargs) | |||
|
|||
def errorparser(rawmssg): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, i'll remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I won't remove it because it requires updating some example notebooks, i'd prefer to do that in a different PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only made it part way through the review so far, Will get back to it asap
Should these tests be ported https://github.com/QCoDeS/Qcodes/blob/master/qcodes/tests/drivers/test_keysight_34465a.py
def __init__(self, parent: '_Keysight_344xxA', name: str, **kwargs): | ||
super(Trigger, self).__init__(parent, name, **kwargs) | ||
|
||
if self.parent.model in ['34465A', '34470A']: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be better if all the magic constants were defined in one place. In the root instrument?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, definitely!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also, tests have been ported.
this avoids reference to '34465A', '34470A' in the submodules.
@QCoDeS/core please feel free to continue reviewing :) |
Dave pointed out that the DIG option is now included by default in the latest fw of at least some of the models (34460A/34461A/34465A/34470A) https://www.keysight.com/main/software.jspx?ckey=2367633&lc=eng&cc=US&nid=-32051.1242959&id=2367633 Should we mention that somewhere in the docs of the new driver? |
from qcodes.instrument_drivers.Keysight.private.error_handling import \ | ||
KeysightErrorQueueMixin | ||
|
||
log = logging.getLogger(__name__) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this log ever used. I could not see it used anywhere
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
indeed. will remove.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from the small issues pointed out this looks good. I have tested both the 335xx and 34xxx drivers with the new changes and they seem to work correctly
Create an instance of the instrument. | ||
|
||
Args: | ||
name (str): Name used by QCoDeS. Appears in the DataSet |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it on purpose that the types are still here and not as type hints in the signature?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
definitely not. i'll clean this up.
@jenshnielsen Thanks for testing! I'll finish the minor things and merge after CI is done. |
Improve old Keysight 344xxA DMM (digital multimeter) driver by adding methods and parameters that allow to perform measurement more flexibly than the existing
data_buffer
ArrayParameter
implements. Also, add a new version Keysight 344xxA DMM drivers where parameters are logically grouped in submodules whenever possible.New driver:
data_buffer
ArrayParameter
Old driver:
data_buffer
ArrayParameter
read
andfetch
Both drivers:
KeysightErrorQueueMixin
that is used in 4 Keysight driversMIN
/MAX
/DEF
/INF
values to parameters that didn't have themReplaces and Closes #1393.