Example with the iTest from Bilt

Import

[1]:
import time
import qcodes as qc
from qcodes_contrib_drivers.drivers.Bilt.ITest import ITest

Load instrument

Here the import is done by USB.

[2]:
dac = ITest(name='dac',
            address='ASRL4::INSTR',
            init_start=True)
Connected to: 2142 "ITEST BE2142B/12V 15mA DC-SOURCE/SN04-016 LC1846 VL446\240" (serial:None, firmware:None) in 0.61s

Initiallization

[4]:
for channel in dac.channels:
    channel.v(0)

Measurement

User can loop over the channel

[5]:
for channel in dac.channels:
    print('channel {} voltage {:.2e} V'.format(channel.chan_num, channel.v()))
channel 1 voltage 9.92e-07 V
channel 2 voltage 1.12e-06 V
channel 3 voltage 1.45e-08 V
channel 4 voltage -8.67e-07 V
channel 5 voltage -1.49e-07 V
channel 6 voltage -8.19e-07 V
channel 7 voltage -6.93e-07 V
channel 8 voltage 1.73e-07 V
channel 9 voltage 8.77e-08 V
channel 10 voltage -1.17e-07 V
channel 11 voltage 1.24e-06 V
channel 12 voltage -1.11e-06 V
channel 13 voltage 3.78e-08 V
channel 14 voltage -7.08e-07 V
channel 15 voltage 1.04e-06 V
channel 16 voltage -2.42e-07 V

Set

We can set a voltage on a specific channel:

[9]:
dac.ch04.v(0.5)
[10]:
dac.ch04.v()
[10]:
0.50000014

It is possible to set a voltage in a non synchroneous way:

[12]:
dac.ch04.output_mode('ramp')
dac.ch04.ramp_slope(0.00025)
dac.ch04.synchronous_enable(False)
dac.ch04.v(0.05)
for i in range(10):
    print(dac.ch04.v())
    time.sleep(0.1)
0.50000014
0.47945107
0.45145621
0.42344528
0.39945953
0.37142712
0.34345707
0.31545273
0.29144462
0.26346268