Bug with triggering Alazartech ATS9870 #4200
Replies: 1 comment 1 reply
-
@auratrifire thanks for the report! Shall we assume that the set up is correct and the trigger signal does gets sent while Alazar is waiting for the data? One thing you could try to debug this issue is to use the software GUI app that Alazar provides to see if that works and acquires data. If it also does not work, then the issue is less likely to be in the software. if it works, then first step is to make sure the settings are the same in alazar's software and in python. i haven't worked with Alazar cards for a few years now, so my knowledges is a bit rusty. just for the record, are you using the latest greatest qcodes and latest greatest firmware versions of Alazar? also, are you using python 3.8 or higher? |
Beta Was this translation helpful? Give feedback.
-
Hi,
I have tried to run experiments on Alazartech ATS9870 using python as the method of control. However, there is always an error on the line where we try to acquire the data:
acquisition_controller.acquisition()
We have tried many different buffer settings and trigger levels and nothing seems to be working. The error code 579, of AlazarWaitAsyncBufferComplete, ApiWaitTimeout(579) always appears. This leads us to believe that the python driver that connects the python program to the trigger of the ATS9870 is broken. Is there a way to fix this? Let me know if I need to provide any additional comments, documentation, or information on the code.
Best,
Cody Fan
Undergraduate Researcher
Fang Lu Mesoscopic and Optics and Quantum Electronics Laboratory
Electrical and Computer Engineering
University of California, Los Angeles
Current Settings:
#initialization of alazartech board
with ats_inst.syncing():
#ats_inst.clock_source('EXTERNAL_CLOCK_10MHz_REF')
#ats_inst.sample_rate(1_000_000_000) #Need to figure out units
ats_inst.clock_edge('CLOCK_EDGE_RISING')
ats_inst.decimation(1)
ats_inst.coupling1('DC')
ats_inst.coupling2('DC')
ats_inst.channel_range1(.4) #Range of channel. Units volts.
ats_inst.channel_range2(.4)
ats_inst.impedance1(50) #units Ohms
ats_inst.impedance2(50)
ats_inst.trigger_operation('TRIG_ENGINE_OP_J')
ats_inst.trigger_engine1('TRIG_ENGINE_J')
ats_inst.trigger_source1('EXTERNAL')
ats_inst.trigger_slope1('TRIG_SLOPE_POSITIVE')
ats_inst.trigger_level1(0)
ats_inst.trigger_engine2('TRIG_ENGINE_K')
ats_inst.trigger_source2('DISABLE')
ats_inst.trigger_slope2('TRIG_SLOPE_POSITIVE')
ats_inst.trigger_level2(0)
ats_inst.external_trigger_coupling('DC')
ats_inst.external_trigger_range('ETR_1V')
ats_inst.trigger_delay(0)
ats_inst.aux_io_mode('AUX_IN_AUXILIARY') # AUX_IN_TRIGGER_ENABLE for seq mode on
ats_inst.aux_io_param('NONE') # TRIG_SLOPE_POSITIVE for seq mode on
Beta Was this translation helpful? Give feedback.
All reactions