# A station made of simulated instruments: it needs no hardware, so you can try every tab of mesoscoPy.
# Save it as dummy.station.yaml in a folder of its own and choose that folder in the Instruments tab.
#
#   dummy_dac   four gates (ch1 ... ch4). Vtop and Vback are aliases of ch1 and ch2 with safe limits and a ramp rate.
#   dummy_dmm   two readings that follow the gates: signal = a peak at ch1 = 0, signal2 = sin(ch2)
#   dummy_scope a 64-point spectrum whose peak moves with ch1: `spectrum` is a plain array, `trace` has its own axis
#
# parameters:      presets, applied as soon as the instrument is loaded.
# add_parameters:  aliases: each one becomes an experiment parameter (Parameter explorer tab) named <instrument>_<alias>.

instruments:
  dummy_dac:
    type: qcodes.instrument_drivers.mock_instruments.DummyInstrument
    init:
      gates: [ch1, ch2, ch3, ch4]
    parameters:
      ch1: {initial_value: 0.0, limits: [-5, 5]}
      ch2: {initial_value: 0.0, limits: [-5, 5]}
    add_parameters:
      Vtop: {source: ch1, unit: V, limits: [-2, 2], step: 0.1, inter_delay: 0.05}
      Vback: {source: ch2, unit: V, limits: [-5, 5], step: 0.2, inter_delay: 0.05}
  dummy_dmm:
    type: mesoscopy.instrument.dummy.DummyMeter
    init:
      source: dummy_dac
    add_parameters:
      signal: {source: v1, unit: V}
      signal2: {source: v2, unit: V}
  dummy_scope:
    type: mesoscopy.instrument.dummy.DummySpectrum
    init:
      source: dummy_dac
      points: 64
