Source code for quantify_scheduler.helpers.mock_instruments
# Repository: https://gitlab.com/quantify-os/quantify-scheduler
# Licensed according to the LICENCE file on the main branch
"""Module containing Mock Instruments."""
from qcodes.instrument.instrument import Instrument
from qcodes.instrument.parameter import ManualParameter
from qcodes.utils import validators
[docs]
class MockLocalOscillator(Instrument):
"""
A class representing a dummy Local Oscillator.
Parameters
----------
name
QCoDeS name of the intstrument.
"""
def __init__(self, name: str) -> None:
super().__init__(name)
self._add_qcodes_parameters_dummy()
[docs]
def _add_qcodes_parameters_dummy(self) -> None:
"""Use to fake communications."""
self.status = ManualParameter(
"status",
initial_value=False,
vals=validators.Bool(),
docstring="turns the output on/off",
instrument=self,
)
self.frequency = ManualParameter(
"frequency",
label="Frequency",
unit="Hz",
initial_value=7e9,
docstring="The RF Frequency in Hz",
vals=validators.Numbers(),
instrument=self,
)
self.power = ManualParameter(
"power",
label="Power",
unit="dBm",
initial_value=15.0,
vals=validators.Numbers(min_value=-60.0, max_value=20.0),
docstring="Signal power in dBm",
instrument=self,
)