Skip to content
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 improvement: QDac sync #558

Merged
merged 7 commits into from
Apr 4, 2017

Conversation

WilliamHPNielsen
Copy link
Contributor

@WilliamHPNielsen WilliamHPNielsen commented Apr 4, 2017

Make sync pulses available

Changes proposed in this pull request:

  • Add sync output
  • Slightly improve speed of ramping by removing a redundant get command

To come:

  • notebook documenting changes

@jenshnielsen

if chan in [syn[0] for syn in self._syncoutputs]:
syncing = True
sync = [syn[1] for syn in self._syncoutputs if syn[0] == chan][0]
self.write('syn {} {} 0 {}'.format(sync, fg, 10))
Copy link
Collaborator

Choose a reason for hiding this comment

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

What is 10 here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

10 ms sync pulse duration.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ok, I suggest making a it variable called sync duration to make this explicit

@@ -438,6 +492,9 @@ def _rampvoltage(self, chan, fg, setvoltage, ramptime):
self.write(funmssg)
self.parameters['ch{:02}_v'.format(chan)]._save_val(setvoltage)

Copy link
Collaborator

Choose a reason for hiding this comment

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

What happens if you interrupt during this before sync is reset?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Then your sync is still assigned.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We've agreed that this is not an issue, due to syncs being overriden by subsequent calls to _ramp_voltage.

# interrupted
v_start = self.parameters['ch{:02}_v'.format(chan)].get()
log.warning('Cancelled a ramp with a ramptime of '
'{} s'.format(ramptime))
Copy link
Collaborator

Choose a reason for hiding this comment

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

Make it more explicit that no voltage change is performed

@jenshnielsen jenshnielsen merged commit 96197d2 into microsoft:master Apr 4, 2017
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.

None yet

2 participants