Skip to content

XGLab

Support for XGLab controllers.

Dante

Dante+

The Dante+ is NOT supported at the moment.

Dante can run single point or continuous (aka mapping) acquisitions.

Mosca to Dante

The conversion from run_mode/stop_trigger/gate_mode to gating_mode is done in the function mosca.devices.xglab.dantehw.mosca_to_dante.

Source code in mosca/devices/xglab/dantehw.py
47
48
49
50
51
52
53
54
55
56
57
58
59
def mosca_to_dante(trigger_mode, gate_mode):
    gating_mode = {
        (TriggerMode.INT_TRIG_READOUT, GateMode.IGNORE): GatingModes.FreeRunning,
        (TriggerMode.GATE, GateMode.HIGH): GatingModes.GatedHigh,
        (TriggerMode.GATE, GateMode.LOW): GatingModes.GatedLow,
        (TriggerMode.EXT_TRIG, GateMode.HIGH): GatingModes.TriggerFalling,
        (TriggerMode.EXT_TRIG, GateMode.LOW): GatingModes.TriggerRising,
        (TriggerMode.EXT_TRIG, GateMode.IGNORE): GatingModes.TriggerBoth
    }
    try:
        return gating_mode[(trigger_mode, gate_mode)]
    except KeyError:
        raise ValueError(f"Configuration not supported: {trigger_mode.name} / {gate_mode.name}")

Single point acquisition

To configure the hardware to run a single point acquisition gate_mode must be set to REALTIME. The acquisition starts when the hardware is started, and runs for the given number of seconds(acq_realtime, measured by the hardware).

Mosca Value
acq_realtime time in s
run_mode REALTIME

This translates into the following Dante settings:

Dante Value
acq_time acq_realtime
gating_mode "FreeRunning"

Continuous (mapping) acquisition

To configure the hardware to run a single point acquisition gate_mode must be set to FREERUN. acq_nb_points, gate_mode and stop_trigger are then used to control the acquisition.

Mosca Value
acq_nb_points >= 1
run_mode FREERUN
gate_mode HIGH
LOW
n/a
block_size >= 1
stop_trigger FALLING
RISING
BOTH
NONE

This translates into the following Dante settings:

Warning

gate_mode takes precedence over stop_trigger.

Dante Notes
points acq_nb_oints
gating_mode
  • gate_mode is HIGH"GatedHigh"
  • gate_mode is LOW"GatedLow"
  • gate_mode is NONE, stop_trigger is:
    • FALLING"TriggerFalling"
    • RISING"TriggerRising"
    • BOTH"TriggerBoth"

block_size

This parameter doesn't translate into a Dante parameter, it just tells the polling function that it should wait until block_size points are available before downloading them (or that the acquisition is finished).