{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# QCoDeS Example with Alazar ATS 9360\n", "In this notebook, we want to show how to setup an Alazar ATS9360 card and its acquisition controller in qcodes to acquire data. In this example, we only demonstrate how to setup the card for an acquisition job without physically contected to any other instrument like wave form generators. Although, this notebook is aimed for ATS9360, most of its content can be useful for other models of Alazar cards having their qcodes driver." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Required imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from qcodes.dataset import do1d, plot_by_id\n", "from qcodes.instrument_drivers.AlazarTech import (\n", " AlazarTechATS9360,\n", " DemodulationAcquisitionController,\n", ")\n", "from qcodes.parameters import ManualParameter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setting up Alazar and performing an acquisition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, lets list all the Alazar boards connected to this machine. In most cases this will probably only be a single one:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'system_id': 1,\n", " 'board_id': 1,\n", " 'board_kind': 'ATS9360',\n", " 'max_samples': 4294967294,\n", " 'bits_per_sample': 12}]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AlazarTechATS9360.find_boards()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we create an instance of alazar:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "ats_inst = AlazarTechATS9360(name='Alazar1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This prints all information about this Alazar card:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'firmware': '21.09',\n", " 'model': 'ATS9360',\n", " 'max_samples': 4294967294,\n", " 'bits_per_sample': 12,\n", " 'serial': '970396',\n", " 'vendor': 'AlazarTech',\n", " 'CPLD_version': '25.16',\n", " 'driver_version': '6.5.1',\n", " 'SDK_version': '6.5.1',\n", " 'latest_cal_date': '25-01-17',\n", " 'memory_size': '4294967294',\n", " 'asopc_type': 1763017568,\n", " 'pcie_link_speed': '0.5GB/s',\n", " 'pcie_link_width': '8'}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ats_inst.get_idn() # or .IDN()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The parameters on the Alazar card are set in a slightly unusual way. As communicating with the card is slow, and sometimes multiple parameters have to be set with a single \"command\", we use a context manager that takes care of syncing all the paramters to the card after we set them. Remember to sync parameter values to Alazar card when changing values of those parameters which correspond to Alazar card settings (for example sample_rate parameter is a global \"setting\" for the card, while for example records_per_buffer is a parameter of the acquisition process and is set to the card only when performing an acquisition):" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "with ats_inst.syncing():\n", " ats_inst.clock_source('INTERNAL_CLOCK')\n", " ats_inst.sample_rate(1_000_000_000)\n", " ats_inst.clock_edge('CLOCK_EDGE_RISING')\n", " ats_inst.decimation(1)\n", " ats_inst.coupling1('DC')\n", " ats_inst.coupling2('DC')\n", " ats_inst.channel_range1(.4)\n", " ats_inst.channel_range2(.4)\n", " ats_inst.impedance1(50)\n", " ats_inst.impedance2(50)\n", " ats_inst.trigger_operation('TRIG_ENGINE_OP_J')\n", " ats_inst.trigger_engine1('TRIG_ENGINE_J')\n", " ats_inst.trigger_source1('EXTERNAL')\n", " ats_inst.trigger_slope1('TRIG_SLOPE_POSITIVE')\n", " ats_inst.trigger_level1(160)\n", " ats_inst.trigger_engine2('TRIG_ENGINE_K')\n", " ats_inst.trigger_source2('DISABLE')\n", " ats_inst.trigger_slope2('TRIG_SLOPE_POSITIVE')\n", " ats_inst.trigger_level2(128)\n", " ats_inst.external_trigger_coupling('DC')\n", " ats_inst.external_trigger_range('ETR_2V5')\n", " ats_inst.trigger_delay(0)\n", " ats_inst.aux_io_mode('AUX_IN_AUXILIARY') # AUX_IN_TRIGGER_ENABLE for seq mode on\n", " ats_inst.aux_io_param('NONE') # TRIG_SLOPE_POSITIVE for seq mode on\n", " \n", " # Note that we set this parameter to a non-0 value for demonstration purposes - doing so allows\n", " # to perform an acquisition using just the Alazar card without any additional hardware.\n", " # Read Alazar SDK manual about `AlazarSetTriggerTimeOut` function for more information.\n", " ats_inst.timeout_ticks(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The alazar qcodes driver is only for setting and/ or getting parameters defined in the manual of the card. Other acquisition functionalities at the moment are available in the module called ATS_acquisition_controllers. So, we instantiate this module with the already instantiated Alazar driver: " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "acquisition_controller = DemodulationAcquisitionController(name='acquisition_controller', \n", " demodulation_frequency=10e6, \n", " alazar_name='Alazar1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This following command is specific to this acquisition controller. The kwargs provided here are being forwarded to instrument's acquire function (ats_inst.acquire()).\n", "\n", "This way, it becomes (arguably) easy to change acquisition specific settings from the ipython notebook." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "acquisition_controller.update_acquisitionkwargs(#mode='NPT',\n", " samples_per_record=1024,\n", " records_per_buffer=74,\n", " buffers_per_acquisition=1,\n", " #channel_selection='AB',\n", " #transfer_offset=0,\n", " #external_startcapture='ENABLED',\n", " #enable_record_headers='DISABLED',\n", " #alloc_buffers='DISABLED',\n", " #fifo_only_streaming='DISABLED',\n", " #interleave_samples='DISABLED',\n", " #get_processed_data='DISABLED',\n", " allocated_buffers=1,\n", " #buffer_timeout=1000\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Getting the value of the parameter acquisition of the instrument acquisition_controller performes the entire acquisition protocol. The type/shape/kind of the returned value depends on the specific implementation of the acquisition controller in use. In this particular example, the output will be a single value (see the docstring of Demodulation_AcquisitionController)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.430443717981646" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "acquisition_controller.acquisition()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have look at the snapshot of the Alazar instance:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'functions': {},\n", " 'submodules': {},\n", " '__class__': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'parameters': {'IDN': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_IDN',\n", " 'value': None,\n", " 'raw_value': None,\n", " 'ts': None,\n", " 'post_delay': 0,\n", " 'name': 'IDN',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'IDN',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'clock_source': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_clock_source',\n", " 'value': 'INTERNAL_CLOCK',\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'INTERNAL_CLOCK': 1,\n", " 'FAST_EXTERNAL_CLOCK': 2,\n", " 'EXTERNAL_CLOCK_10MHz_REF': 7},\n", " 'name': 'clock_source',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Clock Source',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'external_sample_rate': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_external_sample_rate',\n", " 'value': 'UNDEFINED',\n", " 'raw_value': 'UNDEFINED',\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'name': 'external_sample_rate',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'S/s',\n", " 'label': 'External Sample Rate',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'sample_rate': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_sample_rate',\n", " 'value': 1000000000,\n", " 'raw_value': 53,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {1000: 1,\n", " 2000: 2,\n", " 5000: 4,\n", " 10000: 8,\n", " 20000: 10,\n", " 50000: 12,\n", " 100000: 14,\n", " 200000: 16,\n", " 500000: 18,\n", " 1000000: 20,\n", " 2000000: 24,\n", " 5000000: 26,\n", " 10000000: 28,\n", " 20000000: 30,\n", " 50000000: 34,\n", " 100000000: 36,\n", " 200000000: 40,\n", " 500000000: 48,\n", " 800000000: 50,\n", " 1000000000: 53,\n", " 1200000000: 55,\n", " 1500000000: 58,\n", " 1800000000: 61,\n", " 'EXTERNAL_CLOCK': 64,\n", " 'UNDEFINED': 'UNDEFINED'},\n", " 'name': 'sample_rate',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'S/s',\n", " 'label': 'Internal Sample Rate',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'clock_edge': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_clock_edge',\n", " 'value': 'CLOCK_EDGE_RISING',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'CLOCK_EDGE_RISING': 0, 'CLOCK_EDGE_FALLING': 1},\n", " 'name': 'clock_edge',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Clock Edge',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'decimation': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_decimation',\n", " 'value': 1,\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'name': 'decimation',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Decimation',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'coupling1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_coupling1',\n", " 'value': 'DC',\n", " 'raw_value': 2,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'AC': 1, 'DC': 2},\n", " 'name': 'coupling1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Coupling channel 1',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'channel_range1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_channel_range1',\n", " 'value': 0.4,\n", " 'raw_value': 7,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {0.4: 7},\n", " 'name': 'channel_range1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'V',\n", " 'label': 'Range channel 1',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'impedance1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_impedance1',\n", " 'value': 50,\n", " 'raw_value': 2,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {50: 2},\n", " 'name': 'impedance1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'Ohm',\n", " 'label': 'Impedance channel 1',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'bwlimit1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_bwlimit1',\n", " 'value': 'DISABLED',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 1},\n", " 'name': 'bwlimit1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Bandwidth limit channel 1',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'coupling2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_coupling2',\n", " 'value': 'DC',\n", " 'raw_value': 2,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'AC': 1, 'DC': 2},\n", " 'name': 'coupling2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Coupling channel 2',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'channel_range2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_channel_range2',\n", " 'value': 0.4,\n", " 'raw_value': 7,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {0.4: 7},\n", " 'name': 'channel_range2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'V',\n", " 'label': 'Range channel 2',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'impedance2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_impedance2',\n", " 'value': 50,\n", " 'raw_value': 2,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {50: 2},\n", " 'name': 'impedance2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'Ohm',\n", " 'label': 'Impedance channel 2',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'bwlimit2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_bwlimit2',\n", " 'value': 'DISABLED',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 1},\n", " 'name': 'bwlimit2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Bandwidth limit channel 2',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_operation': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_operation',\n", " 'value': 'TRIG_ENGINE_OP_J',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'TRIG_ENGINE_OP_J': 0,\n", " 'TRIG_ENGINE_OP_K': 1,\n", " 'TRIG_ENGINE_OP_J_OR_K': 2,\n", " 'TRIG_ENGINE_OP_J_AND_K': 3,\n", " 'TRIG_ENGINE_OP_J_XOR_K': 4,\n", " 'TRIG_ENGINE_OP_J_AND_NOT_K': 5,\n", " 'TRIG_ENGINE_OP_NOT_J_AND_K': 6},\n", " 'name': 'trigger_operation',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Operation',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_engine1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_engine1',\n", " 'value': 'TRIG_ENGINE_J',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'TRIG_ENGINE_J': 0, 'TRIG_ENGINE_K': 1},\n", " 'name': 'trigger_engine1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Engine 1',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_source1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_source1',\n", " 'value': 'EXTERNAL',\n", " 'raw_value': 2,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'CHANNEL_A': 0,\n", " 'CHANNEL_B': 1,\n", " 'EXTERNAL': 2,\n", " 'DISABLE': 3},\n", " 'name': 'trigger_source1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Source 1',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_slope1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_slope1',\n", " 'value': 'TRIG_SLOPE_POSITIVE',\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'TRIG_SLOPE_POSITIVE': 1, 'TRIG_SLOPE_NEGATIVE': 2},\n", " 'name': 'trigger_slope1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Slope 1',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_level1': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_level1',\n", " 'value': 160,\n", " 'raw_value': 160,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'name': 'trigger_level1',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Level 1',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'trigger_engine2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_engine2',\n", " 'value': 'TRIG_ENGINE_K',\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'TRIG_ENGINE_J': 0, 'TRIG_ENGINE_K': 1},\n", " 'name': 'trigger_engine2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Engine 2',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_source2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_source2',\n", " 'value': 'DISABLE',\n", " 'raw_value': 3,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'CHANNEL_A': 0,\n", " 'CHANNEL_B': 1,\n", " 'EXTERNAL': 2,\n", " 'DISABLE': 3},\n", " 'name': 'trigger_source2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Source 2',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_slope2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_slope2',\n", " 'value': 'TRIG_SLOPE_POSITIVE',\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'TRIG_SLOPE_POSITIVE': 1, 'TRIG_SLOPE_NEGATIVE': 2},\n", " 'name': 'trigger_slope2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Slope 2',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_level2': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_level2',\n", " 'value': 128,\n", " 'raw_value': 128,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'name': 'trigger_level2',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Level 2',\n", " 'inter_delay': 0,\n", " 'vals': ''},\n", " 'external_trigger_coupling': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_external_trigger_coupling',\n", " 'value': 'DC',\n", " 'raw_value': 2,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'AC': 1, 'DC': 2},\n", " 'name': 'external_trigger_coupling',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'External Trigger Coupling',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'external_trigger_range': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_external_trigger_range',\n", " 'value': 'ETR_2V5',\n", " 'raw_value': 3,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'ETR_TTL': 2, 'ETR_2V5': 3},\n", " 'name': 'external_trigger_range',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'External Trigger Range',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'trigger_delay': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_trigger_delay',\n", " 'value': 0,\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'name': 'trigger_delay',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'Sample clock cycles',\n", " 'label': 'Trigger Delay',\n", " 'inter_delay': 0,\n", " 'vals': '=0, Multiples of 8>'},\n", " 'timeout_ticks': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_timeout_ticks',\n", " 'value': 0,\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'name': 'timeout_ticks',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '10 us',\n", " 'label': 'Timeout Ticks',\n", " 'inter_delay': 0,\n", " 'vals': '=0>'},\n", " 'aux_io_mode': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_aux_io_mode',\n", " 'value': 'AUX_IN_AUXILIARY',\n", " 'raw_value': 13,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'AUX_OUT_TRIGGER': 0,\n", " 'AUX_IN_TRIGGER_ENABLE': 1,\n", " 'AUX_IN_AUXILIARY': 13},\n", " 'name': 'aux_io_mode',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'AUX I/O Mode',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'aux_io_param': {'__class__': 'qcodes.instrument_drivers.AlazarTech.utils.TraceParameter',\n", " 'full_name': 'Alazar1_aux_io_param',\n", " 'value': 'NONE',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:50',\n", " 'post_delay': 0,\n", " 'val_mapping': {'NONE': 0,\n", " 'TRIG_SLOPE_POSITIVE': 1,\n", " 'TRIG_SLOPE_NEGATIVE': 2},\n", " 'name': 'aux_io_param',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'AUX I/O Param',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'mode': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_mode',\n", " 'value': 'NPT',\n", " 'raw_value': 512,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'NPT': 512, 'TS': 1024},\n", " 'name': 'mode',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Acquisition mode',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'samples_per_record': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_samples_per_record',\n", " 'value': 1024,\n", " 'raw_value': 1024,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'name': 'samples_per_record',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Samples per Record',\n", " 'inter_delay': 0,\n", " 'vals': '=256, Multiples of 128>'},\n", " 'records_per_buffer': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_records_per_buffer',\n", " 'value': 74,\n", " 'raw_value': 74,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'name': 'records_per_buffer',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Records per Buffer',\n", " 'inter_delay': 0,\n", " 'vals': '=0>'},\n", " 'buffers_per_acquisition': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_buffers_per_acquisition',\n", " 'value': 1,\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'name': 'buffers_per_acquisition',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Buffers per Acquisition',\n", " 'inter_delay': 0,\n", " 'vals': '=0>'},\n", " 'channel_selection': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_channel_selection',\n", " 'value': 'AB',\n", " 'raw_value': 3,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'A': 1, 'B': 2, 'AB': 3},\n", " 'name': 'channel_selection',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Channel Selection',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'transfer_offset': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_transfer_offset',\n", " 'value': 0,\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'name': 'transfer_offset',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'Samples',\n", " 'label': 'Transfer Offset',\n", " 'inter_delay': 0,\n", " 'vals': '=0>'},\n", " 'external_startcapture': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_external_startcapture',\n", " 'value': 'ENABLED',\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 1},\n", " 'name': 'external_startcapture',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'External Startcapture',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'enable_record_headers': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_enable_record_headers',\n", " 'value': 'DISABLED',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 8},\n", " 'name': 'enable_record_headers',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Enable Record Headers',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'alloc_buffers': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_alloc_buffers',\n", " 'value': 'DISABLED',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 32},\n", " 'name': 'alloc_buffers',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Alloc Buffers',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'fifo_only_streaming': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_fifo_only_streaming',\n", " 'value': 'DISABLED',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 2048},\n", " 'name': 'fifo_only_streaming',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Fifo Only Streaming',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'interleave_samples': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_interleave_samples',\n", " 'value': 'DISABLED',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 4096},\n", " 'name': 'interleave_samples',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Interleave Samples',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'get_processed_data': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_get_processed_data',\n", " 'value': 'DISABLED',\n", " 'raw_value': 0,\n", " 'ts': '2020-11-26 13:52:42',\n", " 'post_delay': 0,\n", " 'val_mapping': {'DISABLED': 0, 'ENABLED': 8192},\n", " 'name': 'get_processed_data',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Get Processed Data',\n", " 'inter_delay': 0,\n", " 'vals': \"\"},\n", " 'allocated_buffers': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_allocated_buffers',\n", " 'value': 1,\n", " 'raw_value': 1,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'name': 'allocated_buffers',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Allocated Buffers',\n", " 'inter_delay': 0,\n", " 'vals': '=0>'},\n", " 'buffer_timeout': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_buffer_timeout',\n", " 'value': 1000,\n", " 'raw_value': 1000,\n", " 'ts': '2020-11-26 13:53:42',\n", " 'post_delay': 0,\n", " 'name': 'buffer_timeout',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': 'ms',\n", " 'label': 'Buffer Timeout',\n", " 'inter_delay': 0,\n", " 'vals': '=0>'},\n", " 'trigger_holdoff': {'__class__': 'qcodes.instrument.parameter.Parameter',\n", " 'full_name': 'Alazar1_trigger_holdoff',\n", " 'value': None,\n", " 'raw_value': None,\n", " 'ts': None,\n", " 'post_delay': 0,\n", " 'name': 'trigger_holdoff',\n", " 'instrument': 'qcodes.instrument_drivers.AlazarTech.ATS9360.AlazarTech_ATS9360',\n", " 'instrument_name': 'Alazar1',\n", " 'unit': '',\n", " 'label': 'Trigger Holdoff',\n", " 'inter_delay': 0,\n", " 'vals': ''}},\n", " 'name': 'Alazar1'}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ats_inst.snapshot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, the following shows that Alazar driver and its acquisition controller work well within a the QCoDeS measurement using a dummy parameter and do1d function:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting experimental run with id: 20. \n" ] }, { "data": { "text/plain": [ "(results #20@C:\\Users\\Farzad\\experiments.db\n", " ------------------------------------------\n", " dummy - numeric\n", " acquisition_controller_acquisition - numeric,\n", " [None],\n", " [None])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dummy = ManualParameter(name=\"dummy\")\n", "do1d(dummy, 0, 50, 51, 0.5, acquisition_controller.acquisition, do_plot=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have a quick look at the acquisition result:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "([],\n", " [None])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_by_id(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Looking for extra functionalities?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is expected that the users will implement acquisitions to fit their needs. One can visit [this link](https://github.com/qdev-dk/qdev-wrappers/tree/master/qdev_wrappers/alazar_controllers), where other controller examples for Alazar can be found. Also, it might be useful to check out [this notebook](https://github.com/qdev-dk/qdev-wrappers/blob/master/examples/Alazar/Qcodes%20example%20with%20Alazar%20ATS9360.ipynb) to get to know how to use these controllers." ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.8" }, "nbsphinx": { "execute": "never" } }, "nbformat": 4, "nbformat_minor": 4 }