herosdevices.hardware.menlo.mixins¶
Reusable node-shape mixins shared across Menlo Systems functional-layer modules.
Menlo’s device tree repeats several node shapes (current-controlled laser diodes, frequency-distribution
blocks, PID control loops, …) under different node names in different modules. Each mixin here models one
such shape, taking the owning module and the shape’s relative node path, so a module can compose as many
instances as its own tree needs - e.g. DualLaserLock needs two
FrequencyDistribution instances, one per wavelength.
Module Contents¶
- class herosdevices.hardware.menlo.mixins.CurrentControl(module: herosdevices.hardware.menlo.functional_layer.FunctionalLayerModule, relative_path: str)[source]¶
Bases:
_NodeGroupLaser-diode current control (setCurrentD1/D2/D3), e.g. an amp* node on a CW channel.
- property set_current_d1: float¶
Current setpoint of the first diode stage.
- property set_current_d2: float¶
Current setpoint of the second diode stage.
- property set_current_d3: float¶
Current setpoint of the third diode stage.
- class herosdevices.hardware.menlo.mixins.FrequencyDistribution(module: herosdevices.hardware.menlo.functional_layer.FunctionalLayerModule, relative_path: str)[source]¶
Bases:
_NodeGroupFrequency-distribution block (attenuation/counterInputFilter/ofdOutputFilter).
Shared shape across a CW channel’s frequencyDistribution, CEO’s frequencyDistributionCeoBeat, RR’s frequencyDistributionOpticalBeat/frequencyDistributionRfBeat, and the per-wavelength frequencyDistribution<wavelength> nodes on combo CW channels.
- property attenuation: int¶
Attenuation applied to the beat signal before it reaches the loop electronics.
- property counter_input_filter_enabled: bool¶
Whether the beat-frequency counter’s input filter is enabled.
- property ofd_output_filter_enabled: bool¶
Whether the optical frequency divider output filter is enabled.
- class herosdevices.hardware.menlo.mixins.SelectMonitor(module: herosdevices.hardware.menlo.functional_layer.FunctionalLayerModule, relative_path: str)[source]¶
Bases:
_NodeGroupChannel-select monitor.
CW channels and CEO expose a single hfsChannelSelected; RepetitionRate exposes two (hfs1ChannelSelected/hfs2ChannelSelected) instead. All three properties are always defined here; which ones actually resolve on the device depends on which module composes this mixin.
- property hfs_channel_selected: int¶
Selected HFS reference channel.
- property hfs1_channel_selected: int¶
Selected HFS reference channel for the first sub-channel.
- property hfs2_channel_selected: int¶
Selected HFS reference channel for the second sub-channel.
- class herosdevices.hardware.menlo.mixins.FrequencyControl(module: herosdevices.hardware.menlo.functional_layer.FunctionalLayerModule, relative_path: str)[source]¶
Bases:
_NodeGroupFrequency-control loop shape (gain/setpoint/slope/corner-frequency/handover/slow-branch-enable knobs).
Shared by a CW channel’s frequencyControl and RR’s controlSettingsDualLock/controlSettingsSingleLock.
- property p_gain: float¶
Proportional gain of the loop.
- property set_point: float¶
Setpoint of the loop.
- property signal_slope: int¶
Sign/slope of the error signal used by the loop, i.e. the loop’s polarity convention.
Inferred name and semantics from context; verify against vendor documentation before relying on the exact meaning of the value.
- property fs_corner_frequencies: Any¶
Corner frequencies of the loop’s feed-forward stage.
- property int3_handover_freq: float¶
Handover frequency between the loop’s integrator stages.
- property slow_branch_enabled: bool¶
Whether the loop’s slow feedback branch is enabled.
- class herosdevices.hardware.menlo.mixins.Tec(module: herosdevices.hardware.menlo.functional_layer.FunctionalLayerModule, relative_path: str)[source]¶
Bases:
_NodeGroupThermo-electric cooler status/control (i_actual/t_actual_il/t_actual_ool/t_set/tecOn).
- property i_actual: float¶
Actual TEC current. Read-only.
- property t_actual_il: float¶
Actual temperature, in-loop sensor. Read-only.
- property t_actual_ool: float¶
Actual temperature, out-of-loop sensor. Read-only.
- property t_set: float¶
Target temperature.
- property tec_on: bool¶
Whether the TEC is enabled.