Exemplo n.º 1
0
 def __init__(self, deviceName, aoChannel, aoRange):
     aoChannel = daq.AoChannel('%s/%s' % (deviceName, aoChannel),
                               aoRange.min, aoRange.max)
     aoTask = daq.AoTask('AO auxilliary')
     aoTask.addChannel(aoChannel)
     self.channel = aoChannel
     self.auxAoTask = aoTask
     self.rampStepSize = 0.01
     self.auxAoVoltage = 0
Exemplo n.º 2
0
def tuneStage2OutputToZero(pfl, aiChannel):
    pfl.lockStage2()
    task = daq.AiTask('TuneStage2OffsetCurrent')
    task.addChannel(aiChannel)
    fbCoupling = 6E-6

    Is = fbCoupling * np.linspace(0.5, 2.5, 10)
    Im = np.mean(Is)
    pfl.setStage2OffsetCurrent(Im)  # Start in the middle of the range
    time.sleep(0.05)
    pfl.resetPfl()
    Vs = []
    for I in Is:
        pfl.setStage2OffsetCurrent(I)
        time.sleep(0.05)
        V = np.mean(task.readData(100)[0, 10:])
        Vs.append(V)
    fit = np.polyfit(Vs, Is, 1)
    I0 = np.polyval(fit, 0)
    if I0 < 0:
        pass
        #logger.warn('Cannot achieve 0 output')
    else:
        pfl.setStage2OffsetCurrent(I0)
    V = np.mean(task.readData(100)[0, 10:])
    return V
Exemplo n.º 3
0
 def updateDaqChannelsAo(self):
     dev = str(self.aoDeviceCombo.currentText())
     self.aoChannelCombo.clear()
     if len(dev):
         device = daq.Device(dev)
         aoChannels = device.findAoChannels()
         for channel in aoChannels:
             self.aoChannelCombo.addItem(channel)
Exemplo n.º 4
0
def killAcBias():
    # Would like to ensure there's no output from modulation terminal
    aoTask = daq.AoTask('acBiasReturnToZero')
    aoTask.addChannel(acBiasChannel)
    aoTask.writeData([0], autoStart=True)
    aoTask.stop()
    aoTask.clear()
    del aoTask