Skip to content

Commit d3e872d

Browse files
sohailcWilliamHPNielsen
authored andcommitted
Ivvi triggers (#739)
* Added environment.yml file * Added requirements to environment.yml * Added requirements to environment.yml * Works under linux now * 1) added american instrument driver from the main qcodes repo 2) added a mock IP module to mock IP instruments 3) added a debug module to debug the AMI430 instrument * the mock IP instrument now remembers the set point * added test for spherical coordinates. Making test for cylindrical coordinates. Work in progress * Added a module for handy converting between spherical, cartesian and cylindrical coodinates. By keeping a prepresnetation of the vector in all three systems, there is less risk of loss of information so that e.g. the field strength can be ramped up given previous supplied phi and theta. The spherical and cylindrical tests seem to work. * additional work * 1) The driver is adhering to the qcodes specs now 2) Made proper tests * 1) The driver is adhering to the qcodes specs now 2) Made proper tests * 1) Made tests to ensure that the set points correctly reach the instruments 2) Made test to verify that the correct error is raised if we intentionally exceed the field limits * Added a test to verify that ramp downs are performed first * Added the ability to define more complex regions for safe set points. Tests to verify this are also included. * Re-wrote the instrument mocker so we have a cleaner design. * changing how mocking works * Mocking no longer requires sockets and threading. Major rewrite of the mocking mechanism * Mocking no longer requires sockets and threading. Major rewrite of the mocking mechanism * further clean up of the mocking mechanism. * Solved a bug which raised a value error when asking for spherical coordinates. Added tests to verify if we can get spherical coordinates. Also, when getting single field values, return a single float instead of an array of length one * 1) Added tests for the field vector 2) Added test to verify that the correct warnings are raised if we change the default maximum ramp rate 3) Added test to verify that an error is raised if the ramp rate larger then the maximum * Added a notebook showing the results of the testing of the new AMI430 driver * * Processed Jens comments, except changing the doc string format and pep8 conventions. Will do that tomorrow * Processed the rest of Jens comments * Added a driver for the Rigol DS4034. I can get a basic waveform with this driver but a lot of work still needs to be done. * Added a ArrayParameter class * Made a get_wave_form function which also returns times. * added parameters to measure amplitude * Added a driver for the Rigol DS4034. Should be more usable now * Added a parameter to send trigger to the IVVI * saving example with SR830 driver * removed the Rigol DS4043 as there is a seperate PR for that * reverted SR830 example to its previous state * Trigger should be a function rather then a parameter.
1 parent b09d2ed commit d3e872d

File tree

1 file changed

+10
-0
lines changed
  • qcodes/instrument_drivers/QuTech

1 file changed

+10
-0
lines changed

qcodes/instrument_drivers/QuTech/IVVI.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@ def __init__(self, name, address, reset=False, numdacs=16, dac_step=10,
116116
label='Dac voltages',
117117
get_cmd=self._get_dacs)
118118

119+
self.add_function(
120+
'trigger',
121+
call_cmd=self._send_trigger
122+
)
123+
119124
# initialize pol_num, the voltage offset due to the polarity
120125
self.pol_num = np.zeros(self._numdacs)
121126
for i in range(int(self._numdacs / 4)):
@@ -468,6 +473,11 @@ def get_func():
468473
return fun(ch)
469474
return get_func
470475

476+
def _send_trigger(self):
477+
msg = bytes([2, 6])
478+
self.write(msg)
479+
self.read() # Flush the buffer, else the command will only work the first time.
480+
471481
def round_dac(self, value, dacname=None):
472482
""" Round a value to the interal precision of the instrument
473483

0 commit comments

Comments
 (0)