-
Notifications
You must be signed in to change notification settings - Fork 320
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
Faster qdac (#53) #730
Faster qdac (#53) #730
Conversation
* add support for faster setting of qdac voltage * SR830 fail early in buffered readout if butffer is not full as expected * add option to qdac to ignore return read on voltage set This ivery experimental and likely to break if you are not careful
@@ -553,7 +570,8 @@ def write(self, cmd): | |||
|
|||
nr_bytes_written, ret_code = self.visa_handle.write(cmd) | |||
self.check_error(ret_code) | |||
self._write_response = self.visa_handle.read() | |||
if not fast: |
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.
What happens to the response if fast
? Isn't it still in some output queue of the QDac?
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 think this in general is a bad idea but they wanted it. Hence off by default and the warning in the doc string
@@ -108,7 +108,8 @@ def get(self): | |||
# parse it | |||
realdata = np.fromstring(rawdata, dtype='<i2') | |||
numbers = realdata[::2]*2.0**(realdata[1::2]-124) | |||
|
|||
if self.shape[0] != N: |
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.
This looks like a good precaution (and I guess it's indeed related to fast measurements with the QDac), but shouldn't it be a separate 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.
Maybe it should but the commits have already been squashed because its a backport and I don't really see the point of splitting them
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.
Fair enough.
This has too many potential issues and may result in crashes
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.
A good choice, in my opinion. I think the other changes are fine.
Need to implement this for the channel version too |
Should be ready now |
@@ -553,7 +562,6 @@ def write(self, cmd): | |||
|
|||
nr_bytes_written, ret_code = self.visa_handle.write(cmd) | |||
self.check_error(ret_code) | |||
self._write_response = self.visa_handle.read() |
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.
Woops! We need to still get the _write_response
.
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.
Super!
We could do this in a smarter way perhaps. Concatenate the two write commands and then:
I suspect that the first method may be solver but without benchmarking it's hard to know. |
Author: Jens Hedegaard Nielsen <[email protected]> Faster qdac (#53) (#730)
@WilliamHPNielsen