Source code for instruments.abstract_instruments.signal_generator.channel

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Provides an abstract base class for signal generator output channels
"""

# IMPORTS #####################################################################

from __future__ import absolute_import
from __future__ import division

import abc

from future.utils import with_metaclass

# CLASSES #####################################################################


[docs]class SGChannel(with_metaclass(abc.ABCMeta, object)): """ Python abstract base class representing a single channel for a signal generator. .. warning:: This class should NOT be manually created by the user. It is designed to be initialized by the `~instruments.SignalGenerator` class. """ # PROPERTIES # @property @abc.abstractmethod def frequency(self): """ Gets/sets the output frequency of the signal generator channel :type: `~quantities.quantity.Quantity` """ pass @frequency.setter @abc.abstractmethod def frequency(self, newval): pass @property @abc.abstractmethod def power(self): """ Gets/sets the output power of the signal generator channel :type: `~quantities.quantity.Quantity` """ pass @power.setter @abc.abstractmethod def power(self, newval): pass @property @abc.abstractmethod def phase(self): """ Gets/sets the output phase of the signal generator channel :type: `~quantities.quantity.Quantity` """ pass @phase.setter @abc.abstractmethod def phase(self, newval): pass @property @abc.abstractmethod def output(self): """ Gets/sets the output status of the signal generator channel :type: `bool` """ pass @output.setter @abc.abstractmethod def output(self, newval): pass