Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/signadyne digitizer integration #5

Merged
merged 17 commits into from
Mar 22, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
633fd1a
fix: make all internal function calls go through self
maij Mar 15, 2017
6d16eac
refactor: make SD_DIG a subclass of SD_Module, and so change __init__…
maij Mar 15, 2017
943f8a0
fix: change libraries to newer keysight libs, and use correct method …
maij Mar 15, 2017
29c3c63
fix: change top level class for the M3300 card to two separate classe…
maij Mar 15, 2017
eacbd60
fix: indentation in the M3300 card and change library reference to us…
maij Mar 19, 2017
3a813ca
fix: open the device during SD_DIG.__init__()
maij Mar 19, 2017
d5d6d9a
fix: change channel triggering to accept correct range of values, als…
maij Mar 19, 2017
7938313
fix: refer to self for all internal variables, also fix set_points_pe…
maij Mar 19, 2017
54bb121
refactor: fix whitespace
maij Mar 19, 2017
d267e5f
fix: refer to SD_Module class through relative addressing.
maij Mar 19, 2017
b105666
feat: added test suite for M3300A AWG driver (duplicated from existi…
maij Mar 20, 2017
13a485a
feat: add verbose printing and error parsing for set and DAQ functions.
maij Mar 22, 2017
a92dfc9
feat: add wrapper for library get_cmds to enable result parsing
maij Mar 22, 2017
f980993
refactor: deprecate get_trigger_threshold and get_trigger_mode as the…
maij Mar 22, 2017
996844b
fix: add instance to result parser for DAQ_read numpy arrays
maij Mar 22, 2017
385b484
fix: remove deprecated decorator as the decorator is not defined
maij Mar 22, 2017
73c89f4
fix: add missing 'or' operator
maij Mar 22, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 31 additions & 31 deletions qcodes/instrument_drivers/keysight/M3300A.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,40 @@
# #
###################################################################################
# #
# CQC2T #
# #
# Written by: Mark Johnson #
# Also see: https://www.signadyne.com/en/products/hardware/generators-digitizers/ #
# Also see: http://www.keysight.com/en/pd-2747490-pn-M3300A #
# #
###################################################################################

import numpy as np
import ctypes as ct
from functools import partial
from qcodes.utils.validators import Enum, Numbers, Anything
from qcodes.instrument.base import Instrument
from qcodes.instrument.parameter import ManualParameter
try:
import signadyne_common.SD_AWG as SD_AWG
import signadyne_common.SD_DIG as SD_DIG
from .SD_common.SD_AWG import SD_AWG
from .SD_common.SD_DIG import SD_DIG
except ImportError:
raise ImportError('To use the M3300A driver, install the Signadyne module')

class M3300A(SD_DIG, SD_AWG):
def __init__(self, name, cardid='', **kwargs):
""" Driver for the Signadyne M3300A card.
Example:
Example usage for acquisition with channel 2 using an external trigger
that triggers multiple times with trigger mode HIGH::
m3300A = M3300A(name='M3300A')
Todo:
A lot.
"""
super(SD_DIG, self).__init__(n_channels=8)
super(SD_AWG, self).__init__(n_channels=8)

raise ImportError('To use the M3300A driver, install the keysight module')

class M3300A_AWG(SD_AWG):
""" Driver for the AWG of the Keysight M3300A card.
Args:
name (str) : name for this instrument, passed to the base instrument
chassis (int) : chassis number where the device is located
slot (int) : slot number where the device is plugged in
Example:
AWG = AWG('M3300A')
"""
def __init__(self, name, chassis=1, slot=8, **kwargs):
super().__init__(name, chassis=1, slot=8, channels=4, triggers=8, **kwargs)

class M3300A_DIG(SD_DIG):
""" Driver for the digitizer of the keysight M3300A card.
Args:
name (str) : name for this instrument, passed to the base instrument
chassis (int) : chassis number where the device is located
slot (int) : slot number where the device is plugged in
Example:
DIG = DIG('M3300A')
"""
def __init__(self, name, chassis=1, slot=8, **kwargs):
super().__init__(name, chassis, slot, channels=8, triggers=8, **kwargs)
Loading