Sub-Classed NI DAQ Models

labscript_devices.NI_DAQmx.models.NI_PCI_6251(...)

Class for NI-PCI-6251

labscript_devices.NI_DAQmx.models.NI_PCI_6534(...)

Class for NI-PCI-6534

labscript_devices.NI_DAQmx.models.NI_PCI_6713(...)

Class for NI-PCI-6713

labscript_devices.NI_DAQmx.models.NI_PCI_6733(...)

Class for NI-PCI-6733

labscript_devices.NI_DAQmx.models.NI_PCI_DIO_32HS(...)

Class for NI-PCI-DIO-32HS

labscript_devices.NI_DAQmx.models.NI_PCIe_6343(...)

Class for NI-PCIe-6343

labscript_devices.NI_DAQmx.models.NI_PCIe_6363(...)

Class for NI-PCIe-6363

labscript_devices.NI_DAQmx.models.NI_PCIe_6738(...)

Class for NI-PCIe-6738

labscript_devices.NI_DAQmx.models.NI_PXI_6733(...)

Class for NI-PXI-6733

labscript_devices.NI_DAQmx.models.NI_PXIe_4499(...)

Class for NI-PXIe-4499

labscript_devices.NI_DAQmx.models.NI_PXIe_6361(...)

Class for NI-PXIe-6361

labscript_devices.NI_DAQmx.models.NI_PXIe_6363(...)

Class for NI-PXIe-6363

labscript_devices.NI_DAQmx.models.NI_PXIe_6535(...)

Class for NI-PXIe-6535

labscript_devices.NI_DAQmx.models.NI_PXIe_6738(...)

Class for NI-PXIe-6738

labscript_devices.NI_DAQmx.models.NI_USB_6008(...)

Class for NI-USB-6008

labscript_devices.NI_DAQmx.models.NI_USB_6229(...)

Class for NI-USB-6229

labscript_devices.NI_DAQmx.models.NI_USB_6343(...)

Class for NI-USB-6343

labscript_devices.NI_DAQmx.models.NI_USB_6363(...)

Class for NI-USB-6363

labscript_devices.NI_DAQmx.models.NI_USB_6366(...)

Class for NI-USB-6366

labscript_devices.NI_DAQmx.models.generate_subclasses

Reads the capabilities file and generates labscript devices for each known model of DAQ.

labscript_devices.NI_DAQmx.models.get_capabilities

This is a script to update model_capabilities.json with the capabilities of all NI-DAQmx devices currently connected to this computer.

labscript_devices.NI_DAQmx.models.NI_PCI_6251

labscript_devices.NI_DAQmx.models.NI_PCI_6251.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 2.5e-07, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 1000000.0, 'max_AI_single_chan_rate': 1250000.0, 'max_AO_sample_rate': 2857142.8571428573, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 16, 'num_AO': 2, 'num_CI': 2, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_PCI_6251.NI_PCI_6251(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCI-6251

description = 'NI-PCI-6251'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PCI_6534

labscript_devices.NI_DAQmx.models.NI_PCI_6534.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': None, 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': None, 'max_DO_sample_rate': 20000000.0, 'min_semiperiod_measurement': None, 'num_AI': 0, 'num_AO': 0, 'num_CI': 0, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': True}, 'port2': {'num_lines': 8, 'supports_buffered': True}, 'port3': {'num_lines': 8, 'supports_buffered': True}, 'port4': {'num_lines': 0, 'supports_buffered': False}, 'port5': {'num_lines': 4, 'supports_buffered': False}}, 'supports_buffered_AO': False, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': False}
class labscript_devices.NI_DAQmx.models.NI_PCI_6534.NI_PCI_6534(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCI-6534

description = 'NI-PCI-6534'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PCI_6713

labscript_devices.NI_DAQmx.models.NI_PCI_6713.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': 1000000.0, 'max_DO_sample_rate': None, 'min_semiperiod_measurement': 2e-05, 'num_AI': 0, 'num_AO': 8, 'num_CI': 2, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': False, 'supports_semiperiod_measurement': True}
class labscript_devices.NI_DAQmx.models.NI_PCI_6713.NI_PCI_6713(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCI-6713

description = 'NI-PCI-6713'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PCI_6733

labscript_devices.NI_DAQmx.models.NI_PCI_6733.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': 1000000.0, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 2e-05, 'num_AI': 0, 'num_AO': 8, 'num_CI': 2, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True}
class labscript_devices.NI_DAQmx.models.NI_PCI_6733.NI_PCI_6733(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCI-6733

description = 'NI-PCI-6733'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PCI_DIO_32HS

labscript_devices.NI_DAQmx.models.NI_PCI_DIO_32HS.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': None, 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': None, 'max_DO_sample_rate': 20000000.0, 'min_semiperiod_measurement': None, 'num_AI': 0, 'num_AO': 0, 'num_CI': 0, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': True}, 'port2': {'num_lines': 8, 'supports_buffered': True}, 'port3': {'num_lines': 8, 'supports_buffered': True}, 'port4': {'num_lines': 0, 'supports_buffered': False}, 'port5': {'num_lines': 4, 'supports_buffered': False}}, 'supports_buffered_AO': False, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': False}
class labscript_devices.NI_DAQmx.models.NI_PCI_DIO_32HS.NI_PCI_DIO_32HS(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCI-DIO-32HS

description = 'NI-PCI-DIO-32HS'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PCIe_6343

labscript_devices.NI_DAQmx.models.NI_PCIe_6343.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 7e-08, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai16': ['RSE', 'NRSE', 'Diff'], 'ai17': ['RSE', 'NRSE', 'Diff'], 'ai18': ['RSE', 'NRSE', 'Diff'], 'ai19': ['RSE', 'NRSE', 'Diff'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai20': ['RSE', 'NRSE', 'Diff'], 'ai21': ['RSE', 'NRSE', 'Diff'], 'ai22': ['RSE', 'NRSE', 'Diff'], 'ai23': ['RSE', 'NRSE', 'Diff'], 'ai24': ['RSE', 'NRSE'], 'ai25': ['RSE', 'NRSE'], 'ai26': ['RSE', 'NRSE'], 'ai27': ['RSE', 'NRSE'], 'ai28': ['RSE', 'NRSE'], 'ai29': ['RSE', 'NRSE'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai30': ['RSE', 'NRSE'], 'ai31': ['RSE', 'NRSE'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 500000.0, 'max_AI_single_chan_rate': 500000.0, 'max_AO_sample_rate': 917431.1926605505, 'max_DO_sample_rate': 1000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 32, 'num_AO': 4, 'num_CI': 4, 'ports': {'port0': {'num_lines': 32, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_PCIe_6343.NI_PCIe_6343(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCIe-6343

description = 'NI-PCIe-6343'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PCIe_6363

labscript_devices.NI_DAQmx.models.NI_PCIe_6363.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 7e-08, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai16': ['RSE', 'NRSE', 'Diff'], 'ai17': ['RSE', 'NRSE', 'Diff'], 'ai18': ['RSE', 'NRSE', 'Diff'], 'ai19': ['RSE', 'NRSE', 'Diff'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai20': ['RSE', 'NRSE', 'Diff'], 'ai21': ['RSE', 'NRSE', 'Diff'], 'ai22': ['RSE', 'NRSE', 'Diff'], 'ai23': ['RSE', 'NRSE', 'Diff'], 'ai24': ['RSE', 'NRSE'], 'ai25': ['RSE', 'NRSE'], 'ai26': ['RSE', 'NRSE'], 'ai27': ['RSE', 'NRSE'], 'ai28': ['RSE', 'NRSE'], 'ai29': ['RSE', 'NRSE'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai30': ['RSE', 'NRSE'], 'ai31': ['RSE', 'NRSE'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 1000000.0, 'max_AI_single_chan_rate': 2000000.0, 'max_AO_sample_rate': 2857142.8571428573, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 32, 'num_AO': 4, 'num_CI': 4, 'ports': {'port0': {'num_lines': 32, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_PCIe_6363.NI_PCIe_6363(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCIe-6363

description = 'NI-PCIe-6363'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PCIe_6738

labscript_devices.NI_DAQmx.models.NI_PCIe_6738.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': 1000000.0, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 0, 'num_AO': 32, 'num_CI': 4, 'ports': {'port0': {'num_lines': 2, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True}
class labscript_devices.NI_DAQmx.models.NI_PCIe_6738.NI_PCIe_6738(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PCIe-6738

description = 'NI-PCIe-6738'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PXI_6733

labscript_devices.NI_DAQmx.models.NI_PXI_6733.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': 1000000.0, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 2e-05, 'num_AI': 0, 'num_AO': 8, 'num_CI': 2, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True}
class labscript_devices.NI_DAQmx.models.NI_PXI_6733.NI_PXI_6733(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PXI-6733

description = 'NI-PXI-6733'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PXIe_4499

labscript_devices.NI_DAQmx.models.NI_PXIe_4499.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': None, 'AI_start_delay_ticks': 64, 'AI_term': 'PseudoDiff', 'AI_term_cfg': {'ai0': ['PseudoDiff'], 'ai1': ['PseudoDiff'], 'ai10': ['PseudoDiff'], 'ai11': ['PseudoDiff'], 'ai12': ['PseudoDiff'], 'ai13': ['PseudoDiff'], 'ai14': ['PseudoDiff'], 'ai15': ['PseudoDiff'], 'ai2': ['PseudoDiff'], 'ai3': ['PseudoDiff'], 'ai4': ['PseudoDiff'], 'ai5': ['PseudoDiff'], 'ai6': ['PseudoDiff'], 'ai7': ['PseudoDiff'], 'ai8': ['PseudoDiff'], 'ai9': ['PseudoDiff']}, 'AO_range': None, 'max_AI_multi_chan_rate': 204800.0, 'max_AI_single_chan_rate': 204800.0, 'max_AO_sample_rate': None, 'max_DO_sample_rate': None, 'min_semiperiod_measurement': None, 'num_AI': 16, 'num_AO': 0, 'num_CI': 0, 'ports': {}, 'supports_buffered_AO': False, 'supports_buffered_DO': False, 'supports_semiperiod_measurement': False, 'supports_simultaneous_AI_sampling': True}
class labscript_devices.NI_DAQmx.models.NI_PXIe_4499.NI_PXIe_4499(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PXIe-4499

description = 'NI-PXIe-4499'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PXIe_6361

labscript_devices.NI_DAQmx.models.NI_PXIe_6361.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 7e-08, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 1000000.0, 'max_AI_single_chan_rate': 2000000.0, 'max_AO_sample_rate': 2857142.8571428573, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 16, 'num_AO': 2, 'num_CI': 4, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_PXIe_6361.NI_PXIe_6361(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PXIe-6361

description = 'NI-PXIe-6361'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PXIe_6363

labscript_devices.NI_DAQmx.models.NI_PXIe_6363.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 7e-08, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai16': ['RSE', 'NRSE', 'Diff'], 'ai17': ['RSE', 'NRSE', 'Diff'], 'ai18': ['RSE', 'NRSE', 'Diff'], 'ai19': ['RSE', 'NRSE', 'Diff'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai20': ['RSE', 'NRSE', 'Diff'], 'ai21': ['RSE', 'NRSE', 'Diff'], 'ai22': ['RSE', 'NRSE', 'Diff'], 'ai23': ['RSE', 'NRSE', 'Diff'], 'ai24': ['RSE', 'NRSE'], 'ai25': ['RSE', 'NRSE'], 'ai26': ['RSE', 'NRSE'], 'ai27': ['RSE', 'NRSE'], 'ai28': ['RSE', 'NRSE'], 'ai29': ['RSE', 'NRSE'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai30': ['RSE', 'NRSE'], 'ai31': ['RSE', 'NRSE'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 1000000.0, 'max_AI_single_chan_rate': 2000000.0, 'max_AO_sample_rate': 2857142.8571428573, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 32, 'num_AO': 4, 'num_CI': 4, 'ports': {'port0': {'num_lines': 32, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_PXIe_6363.NI_PXIe_6363(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PXIe-6363

description = 'NI-PXIe-6363'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PXIe_6535

labscript_devices.NI_DAQmx.models.NI_PXIe_6535.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': None, 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': None, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': None, 'num_AI': 0, 'num_AO': 0, 'num_CI': 0, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': True}, 'port2': {'num_lines': 8, 'supports_buffered': True}, 'port3': {'num_lines': 8, 'supports_buffered': True}, 'port4': {'num_lines': 6, 'supports_buffered': False}}, 'supports_buffered_AO': False, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': False}
class labscript_devices.NI_DAQmx.models.NI_PXIe_6535.NI_PXIe_6535(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PXIe-6535

description = 'NI-PXIe-6535'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_PXIe_6738

labscript_devices.NI_DAQmx.models.NI_PXIe_6738.CAPABILITIES = {'AI_range': None, 'AI_range_Diff': None, 'AI_start_delay': None, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': None, 'max_AI_single_chan_rate': None, 'max_AO_sample_rate': 1000000.0, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 0, 'num_AO': 32, 'num_CI': 4, 'ports': {'port0': {'num_lines': 2, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True}
class labscript_devices.NI_DAQmx.models.NI_PXIe_6738.NI_PXIe_6738(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-PXIe-6738

description = 'NI-PXIe-6738'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_USB_6008

labscript_devices.NI_DAQmx.models.NI_USB_6008.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-20.0, 20.0], 'AI_start_delay': 8.333333333333334e-08, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'Diff'], 'ai1': ['RSE', 'Diff'], 'ai2': ['RSE', 'Diff'], 'ai3': ['RSE', 'Diff'], 'ai4': ['RSE'], 'ai5': ['RSE'], 'ai6': ['RSE'], 'ai7': ['RSE']}, 'AO_range': [0.0, 5.0], 'max_AI_multi_chan_rate': 10000.0, 'max_AI_single_chan_rate': 10000.0, 'max_AO_sample_rate': None, 'max_DO_sample_rate': None, 'min_semiperiod_measurement': None, 'num_AI': 8, 'num_AO': 2, 'num_CI': 1, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': False}, 'port1': {'num_lines': 4, 'supports_buffered': False}}, 'supports_buffered_AO': False, 'supports_buffered_DO': False, 'supports_semiperiod_measurement': False, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_USB_6008.NI_USB_6008(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-USB-6008

description = 'NI-USB-6008'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_USB_6229

labscript_devices.NI_DAQmx.models.NI_USB_6229.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 2.5e-07, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai16': ['RSE', 'NRSE', 'Diff'], 'ai17': ['RSE', 'NRSE', 'Diff'], 'ai18': ['RSE', 'NRSE', 'Diff'], 'ai19': ['RSE', 'NRSE', 'Diff'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai20': ['RSE', 'NRSE', 'Diff'], 'ai21': ['RSE', 'NRSE', 'Diff'], 'ai22': ['RSE', 'NRSE', 'Diff'], 'ai23': ['RSE', 'NRSE', 'Diff'], 'ai24': ['RSE', 'NRSE'], 'ai25': ['RSE', 'NRSE'], 'ai26': ['RSE', 'NRSE'], 'ai27': ['RSE', 'NRSE'], 'ai28': ['RSE', 'NRSE'], 'ai29': ['RSE', 'NRSE'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai30': ['RSE', 'NRSE'], 'ai31': ['RSE', 'NRSE'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 250000.0, 'max_AI_single_chan_rate': 250000.0, 'max_AO_sample_rate': 833333.3333333334, 'max_DO_sample_rate': 1000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 32, 'num_AO': 4, 'num_CI': 2, 'ports': {'port0': {'num_lines': 32, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_USB_6229.NI_USB_6229(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-USB-6229

description = 'NI-USB-6229'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_USB_6343

labscript_devices.NI_DAQmx.models.NI_USB_6343.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 7e-08, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai16': ['RSE', 'NRSE', 'Diff'], 'ai17': ['RSE', 'NRSE', 'Diff'], 'ai18': ['RSE', 'NRSE', 'Diff'], 'ai19': ['RSE', 'NRSE', 'Diff'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai20': ['RSE', 'NRSE', 'Diff'], 'ai21': ['RSE', 'NRSE', 'Diff'], 'ai22': ['RSE', 'NRSE', 'Diff'], 'ai23': ['RSE', 'NRSE', 'Diff'], 'ai24': ['RSE', 'NRSE'], 'ai25': ['RSE', 'NRSE'], 'ai26': ['RSE', 'NRSE'], 'ai27': ['RSE', 'NRSE'], 'ai28': ['RSE', 'NRSE'], 'ai29': ['RSE', 'NRSE'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai30': ['RSE', 'NRSE'], 'ai31': ['RSE', 'NRSE'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 500000.0, 'max_AI_single_chan_rate': 500000.0, 'max_AO_sample_rate': 917431.1926605505, 'max_DO_sample_rate': 1000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 32, 'num_AO': 4, 'num_CI': 4, 'ports': {'port0': {'num_lines': 32, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_USB_6343.NI_USB_6343(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-USB-6343

description = 'NI-USB-6343'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_USB_6363

labscript_devices.NI_DAQmx.models.NI_USB_6363.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 7e-08, 'AI_term': 'RSE', 'AI_term_cfg': {'ai0': ['RSE', 'NRSE', 'Diff'], 'ai1': ['RSE', 'NRSE', 'Diff'], 'ai10': ['RSE', 'NRSE'], 'ai11': ['RSE', 'NRSE'], 'ai12': ['RSE', 'NRSE'], 'ai13': ['RSE', 'NRSE'], 'ai14': ['RSE', 'NRSE'], 'ai15': ['RSE', 'NRSE'], 'ai16': ['RSE', 'NRSE', 'Diff'], 'ai17': ['RSE', 'NRSE', 'Diff'], 'ai18': ['RSE', 'NRSE', 'Diff'], 'ai19': ['RSE', 'NRSE', 'Diff'], 'ai2': ['RSE', 'NRSE', 'Diff'], 'ai20': ['RSE', 'NRSE', 'Diff'], 'ai21': ['RSE', 'NRSE', 'Diff'], 'ai22': ['RSE', 'NRSE', 'Diff'], 'ai23': ['RSE', 'NRSE', 'Diff'], 'ai24': ['RSE', 'NRSE'], 'ai25': ['RSE', 'NRSE'], 'ai26': ['RSE', 'NRSE'], 'ai27': ['RSE', 'NRSE'], 'ai28': ['RSE', 'NRSE'], 'ai29': ['RSE', 'NRSE'], 'ai3': ['RSE', 'NRSE', 'Diff'], 'ai30': ['RSE', 'NRSE'], 'ai31': ['RSE', 'NRSE'], 'ai4': ['RSE', 'NRSE', 'Diff'], 'ai5': ['RSE', 'NRSE', 'Diff'], 'ai6': ['RSE', 'NRSE', 'Diff'], 'ai7': ['RSE', 'NRSE', 'Diff'], 'ai8': ['RSE', 'NRSE'], 'ai9': ['RSE', 'NRSE']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 1000000.0, 'max_AI_single_chan_rate': 2000000.0, 'max_AO_sample_rate': 2857142.8571428573, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 32, 'num_AO': 4, 'num_CI': 4, 'ports': {'port0': {'num_lines': 32, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': False}
class labscript_devices.NI_DAQmx.models.NI_USB_6363.NI_USB_6363(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-USB-6363

description = 'NI-USB-6363'

Brief description of the device.

labscript_devices.NI_DAQmx.models.NI_USB_6366

labscript_devices.NI_DAQmx.models.NI_USB_6366.CAPABILITIES = {'AI_range': [-10.0, 10.0], 'AI_range_Diff': [-10.0, 10.0], 'AI_start_delay': 4e-08, 'AI_term': 'Diff', 'AI_term_cfg': {'ai0': ['Diff'], 'ai1': ['Diff'], 'ai2': ['Diff'], 'ai3': ['Diff'], 'ai4': ['Diff'], 'ai5': ['Diff'], 'ai6': ['Diff'], 'ai7': ['Diff']}, 'AO_range': [-10.0, 10.0], 'max_AI_multi_chan_rate': 2000000.0, 'max_AI_single_chan_rate': 2000000.0, 'max_AO_sample_rate': 3333333.3333333335, 'max_DO_sample_rate': 10000000.0, 'min_semiperiod_measurement': 1e-07, 'num_AI': 8, 'num_AO': 2, 'num_CI': 4, 'ports': {'port0': {'num_lines': 8, 'supports_buffered': True}, 'port1': {'num_lines': 8, 'supports_buffered': False}, 'port2': {'num_lines': 8, 'supports_buffered': False}}, 'supports_buffered_AO': True, 'supports_buffered_DO': True, 'supports_semiperiod_measurement': True, 'supports_simultaneous_AI_sampling': True}
class labscript_devices.NI_DAQmx.models.NI_USB_6366.NI_USB_6366(*args, **kwargs)[source]

Bases: NI_DAQmx

Class for NI-USB-6366

description = 'NI-USB-6366'

Brief description of the device.

labscript_devices.NI_DAQmx.models.generate_subclasses

Reads the capabilities file and generates labscript devices for each known model of DAQ.

Called from the command line via

python generate_subclasses.py

For proper formatting of the code, you will need to install the black python package.

labscript_devices.NI_DAQmx.models.generate_subclasses.main()[source]

Called when the script is run.

Will attempt to reformat the generated files using reformat_files().

labscript_devices.NI_DAQmx.models.generate_subclasses.reformat_files(filepaths)[source]

Apply black formatter to a list of source files.

Parameters:

filepaths (list) – List of python source files to format.

labscript_devices.NI_DAQmx.models.get_capabilities

This is a script to update model_capabilities.json with the capabilities of all NI-DAQmx devices currently connected to this computer.

Run this script to add support for a new model of NI-DAQmx device. Note that this will work with a simulated device configured through NI-MAX as well, so support can be added without actually having the physical device.

Called from the command line via

python get_capabilities.py
labscript_devices.NI_DAQmx.models.get_capabilities.AI_filter_delay(device_name)[source]

Determine the filter delay for dynamic signal acquistion devices.

Returns the delay in clock cycles. Absolute delay will vary with sample rate.

Parameters:

device_name (str) – NI-MAX device name

Returns:

Number of analog input delays ticks between task start and acquisition start.

Return type:

int

labscript_devices.NI_DAQmx.models.get_capabilities.AI_start_delay(device_name)[source]

Empirically determines the analog inputs’ start delay.

Parameters:

device_name (str) – NI-MAX device name

Returns:

Analog input start delay in seconds. None if analog inputs not supported.

Return type:

float

labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAIMaxMultiChanRate(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAIMaxSingleChanRate(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAIPhysicalChans(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAISimultaneousSamplingSupported(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAIVoltageRngs(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAOMaxRate(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAOPhysicalChans(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAOSampClkSupported(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAOVoltageRngs(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevAnlgTrigSupported(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevCIPhysicalChans(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevDILines(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevDIPorts(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevDOLines(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevDOMaxRate(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevDOPorts(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevDigTrigSupported(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevProductType(name=None)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetDevTerminals(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetPhysicalChanAITermCfgs(name)
labscript_devices.NI_DAQmx.models.get_capabilities.DAQmxGetSysDevNames(name=None)
labscript_devices.NI_DAQmx.models.get_capabilities.bool_prop(func)[source]

Bool property wrapper.

Parameters:

func (function) – PyDAQmx library function that returns a boolean.

Returns:

The wrapped function.

Return type:

function

labscript_devices.NI_DAQmx.models.get_capabilities.chans(func)[source]

string_prop but splitting the return value into separate channels and stripping the device name from them

Parameters:

func (function) – PyDAQmx library function that returns channel string.

Returns:

The wrapped function.

Return type:

function

labscript_devices.NI_DAQmx.models.get_capabilities.float64_array_prop(func)[source]

Array of floats property wrapper.

Parameters:

func (function) – PyDAQmx library function that returns an array of float64s.

Returns:

The wrapped function.

Return type:

function

labscript_devices.NI_DAQmx.models.get_capabilities.float64_prop(func)[source]

Float property wrapper.

Parameters:

func (function) – PyDAQmx library function that returns a float64.

Returns:

The wrapped function.

Return type:

function

labscript_devices.NI_DAQmx.models.get_capabilities.get_min_semiperiod_measurement(device_name)[source]

Determines the minimum semi-period measurement time supported by the device.

Depending on the timebase used, counter inputs can measure time intervals of various ranges. As a default, we pick a largish range - the one with the fastest timebase still capable of measuring 100 seconds, or the largest time interval if it is less than 100 seconds, and we save the smallest interval measurable with this timebase. Then labscript can ensure it doesn’t make wait monitor pulses shorter than this. This should be a sensible default behaviour, though if the user has experiments considerably shorter or longer than 100 seconds, such that they want to use a different timebase, they may pass the min_semiperiod_measurement keyword argument into the DAQmx class, to tell labscript to make pulses some other duration compatible with the maximum wait time in their experiment. However, since there are software delays in timeouts of waits during a shot, any timed-out waits necessarily will last software timescales of up to ~100ms on a slow computer, preventing one from using very fast timebases with low-resolution counters if there is any possibility of timing out. For now (in the wait monitor worker class) we pessimistically add one second to the expected longest measurement to account for software delays. These decisions can be revisited if there is a need, do not hesitate to file an issue on bitbucket regarding this if it affects you.

Parameters:

device_name (str) – NI-MAX device name

Returns:

Minimum measurement time.

Return type:

float

labscript_devices.NI_DAQmx.models.get_capabilities.int32_prop(func)[source]

Int32 property wrapper.

Parameters:

func (function) – PyDAQmx library function that returns a int32.

Returns:

The wrapped function.

Return type:

function

labscript_devices.NI_DAQmx.models.get_capabilities.port_supports_buffered(device_name, port, clock_terminal=None)[source]

Empirically determines if the digital port supports buffered output.

Parameters:
  • device_name (str) – NI-MAX device name

  • port (int) – Which port to intro-spect

  • clock_terminal (str, optional) – String that specifies the clock terminal.

Returns:

True if port supports buffered output.

Return type:

bool

labscript_devices.NI_DAQmx.models.get_capabilities.string_prop(func)[source]

String property wrapper.

Parameters:

func (function) – PyDAQmx library function that returns a string.

Returns:

The wrapped function.

Return type:

function

labscript_devices.NI_DAQmx.models.get_capabilities.supported_AI_ranges_for_non_differential_input(device_name, AI_ranges)[source]

Empirically determine the analog input voltage ranges for non-differential inputs.

Tries AI ranges to see which are actually allowed for non-differential input, since the largest range may only be available for differential input.

Parameters:
  • device_name (str) – NI-MAX device name

  • AI_ranges (list) – list of [Vmin, Vmax] pairs to check compatibility.

Returns:

List of lists with the supported voltage ranges.

Return type:

list

labscript_devices.NI_DAQmx.models.get_capabilities.supported_AI_terminal_configurations(device_name)[source]

Determine which analong input configurations are supported for each AI.

Valid options are RSE, NRSE, Diff, and PseudoDiff.

Parameters:

device_name (str) – NI-MAX device name

Returns:

Dictionary of analog input channels where each value is a list of the supported input terminations.

Return type:

dict

labscript_devices.NI_DAQmx.models.get_capabilities.supports_semiperiod_measurement(device_name)[source]

Empirically determines if the DAQ supports semiperiod measurement.

Parameters:

device_name (str) – NI-MAX device name.

Returns:

True if semi-period measurements are supported by the device.

Return type:

bool