added tec modulation
This commit is contained in:
@ -101,6 +101,22 @@ class ControllerWorker(QObject):
|
||||
)
|
||||
)
|
||||
|
||||
@pyqtSlot(bool, int, int, int)
|
||||
def apply_tec_modulation(
|
||||
self,
|
||||
enabled: bool,
|
||||
laser: int,
|
||||
frequency_hz: int,
|
||||
amplitude_code: int,
|
||||
) -> None:
|
||||
"""Configure fast TEC drive modulation."""
|
||||
self._run_command(
|
||||
lambda: (
|
||||
self._ensure_connected(),
|
||||
self._apply_tec_modulation_impl(enabled, laser, frequency_hz, amplitude_code),
|
||||
)
|
||||
)
|
||||
|
||||
@pyqtSlot(object)
|
||||
def save_profile(self, request: object) -> None:
|
||||
"""Save the current GUI configuration to the device SD card."""
|
||||
@ -256,6 +272,26 @@ class ControllerWorker(QObject):
|
||||
self.log_message.emit("INFO", f"STM32 DAC set to code {dac_code}")
|
||||
self._emit_status()
|
||||
|
||||
def _apply_tec_modulation_impl(
|
||||
self,
|
||||
enabled: bool,
|
||||
laser: int,
|
||||
frequency_hz: int,
|
||||
amplitude_code: int,
|
||||
) -> None:
|
||||
self._controller.configure_tec_modulation(
|
||||
enabled=enabled,
|
||||
laser=laser,
|
||||
frequency_hz=frequency_hz,
|
||||
amplitude_code=amplitude_code,
|
||||
)
|
||||
state = "enabled" if enabled else "disabled"
|
||||
self.log_message.emit(
|
||||
"INFO",
|
||||
f"TEC modulation {state}: laser={laser}, frequency={frequency_hz} Hz, amplitude={amplitude_code}",
|
||||
)
|
||||
self._emit_status()
|
||||
|
||||
def _save_profile_impl(self, request: object) -> None:
|
||||
self._controller.save_profile_to_sd(request)
|
||||
profile_name = getattr(request, "profile_name", "<unnamed>")
|
||||
|
||||
Reference in New Issue
Block a user