Source code for silq.tests.mocks.mock_instruments.mock_pulseblaster

from functools import partial

from .mock_instrument import MockInstrument

from qcodes.instrument.parameter import ManualParameter
from qcodes.utils import validators as vals


[docs]class MockPulseBlaster(MockInstrument): def __init__(self, name, **kwargs): super().__init__(name, **kwargs) functions = ['stop', 'start', 'start_programming', 'stop_programming', 'detect_boards'] for function in functions: self.add_function(function, call_cmd=partial(self.print_function, function=function)) functions = ['select_board'] for function in functions: self.add_function(function, call_cmd=partial(self.print_function, function=function), args=[vals.Anything()]) self.add_parameter('core_clock', parameter_class=ManualParameter, initial_value=500) self.add_parameter('instructions', parameter_class = ManualParameter, initial_value=[], vals=vals.Anything())
[docs] def send_instruction(self, flags, instruction, inst_args, length): if not self.silent(): self.print_function(flags, instruction, inst_args, length, function='send_instruction') self.instructions(self.instructions() + [(flags, instruction, inst_args, length)])