herosdevices.hardware.menlo.beat_loop¶
Base class for a Menlo Systems OFC-stabilization beat-note loop (repetition rate, CEO).
Module Contents¶
- class herosdevices.hardware.menlo.beat_loop.BeatLoop(ofc: herosdevices.hardware.menlo.ofc.OFC, base_path: str, observables: dict[str, dict[str, str]] | None = None)[source]¶
Bases:
herosdevices.hardware.menlo.functional_layer.FunctionalLayerModuleBase for an OFC-stabilization loop that locks a beat note to a target frequency.
Covers the mainControls shape shared by the OFC’s repetition-rate and CEO loops (see
RepetitionRateandCEO). Both loops also expose a dds sub-tree identical in shape toDDS’s, therefore concrete subclasses mix that in directly (class RepetitionRate(DDS, BeatLoop)).- DEFAULT_OBSERVABLES: dict[str, dict[str, str]]¶
- property locked: bool¶
Whether the loop is currently locked.
- property fast_output_locked: bool¶
Whether the loop’s fast feedback branch is currently locked. Read-only status.
- property fast_output_monitor: float¶
Monitor voltage of the loop’s fast feedback branch. Read-only.
- property fast_output_setpoint: float¶
Setpoint of the loop’s fast feedback branch.
- property slow_output_locked: bool¶
Whether the loop’s slow feedback branch is currently locked. Read-only status.
- property slow_output_monitor: float¶
Monitor voltage of the loop’s slow feedback branch. Read-only.
- property slow_output_setpoint: float¶
Setpoint of the loop’s slow feedback branch.
- unlock_here() None[source]¶
Unlock the loop and immediately re-engage it at the current beat frequency.
Shared with
LaserLock, which uses the same mainControls.unlockHere node name.Inferred from context (Menlo’s own naming and the sibling lock/setpoint nodes) rather than verified against vendor documentation: releases the lock if engaged, then re-engages it using the beat note as it currently stands as the new setpoint, instead of servoing to a previously configured setpoint.
- ofc¶
- base_path¶
- observables¶
- get(relative_path: str) Any¶
Read the current value of a node relative to this module’s settings object.
Use this for module properties not already exposed as a named attribute. See
explore()to find the available relative paths, e.g. ofc.explore(module.base_path, depth=2).- Parameters:
relative_path – Dotted path relative to base_path.
- Returns:
The current value of the node.