Skip to content

Commit

Permalink
Merge pull request #5 from nulinspiratie/feature/signadyne_digitizer_…
Browse files Browse the repository at this point in the history
…integration

Feature/signadyne digitizer integration
  • Loading branch information
maij authored Mar 22, 2017
2 parents 91811f0 + 73c89f4 commit ef1380e
Show file tree
Hide file tree
Showing 4 changed files with 515 additions and 175 deletions.
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

0 comments on commit ef1380e

Please sign in to comment.