From 20eb17ebcbd35575ee940b11eb9be3264f531ac8 Mon Sep 17 00:00:00 2001 From: lange50 Date: Wed, 26 Mar 2025 14:19:46 -0400 Subject: [PATCH] Moved signals into interface, from hardware spec. I assume this is allowed (?) and it better represents how the interface functions. --- src/qudi/hardware/camera/andor_camera.py | 4 ---- src/qudi/hardware/daq/nidaq.py | 3 --- src/qudi/hardware/laser/solstis_laser.py | 4 +--- src/qudi/hardware/powermeter/thorlabs_power_meter.py | 4 +--- src/qudi/hardware/servo/thorlabs_servo.py | 4 ---- src/qudi/hardware/timetagger/swabian_tagger.py | 5 ----- src/qudi/hardware/wavemeter/high_finesse_wavemeter.py | 2 -- src/qudi/interface/camera_interface.py | 6 ++++++ src/qudi/interface/daq_reader_interface.py | 4 ++++ src/qudi/interface/fast_counter_interface.py | 6 ++++++ src/qudi/interface/motor_interface.py | 5 +++++ src/qudi/interface/scanning_laser_interface.py | 6 ++++++ src/qudi/interface/simple_powermeter_interface.py | 4 ++++ src/qudi/interface/simple_wavemeter_interface.py | 3 +++ 14 files changed, 36 insertions(+), 24 deletions(-) diff --git a/src/qudi/hardware/camera/andor_camera.py b/src/qudi/hardware/camera/andor_camera.py index c878065..8c64d9b 100644 --- a/src/qudi/hardware/camera/andor_camera.py +++ b/src/qudi/hardware/camera/andor_camera.py @@ -70,10 +70,6 @@ class AndorCamera(CameraInterface): default=1.0 ) - # signals - sigFrameChanged = QtCore.Signal(np.ndarray) - sigAcquisitionFinished = QtCore.Signal() - # Specify that camera should run in its own thread: _threaded = True diff --git a/src/qudi/hardware/daq/nidaq.py b/src/qudi/hardware/daq/nidaq.py index a95db4d..cc78938 100644 --- a/src/qudi/hardware/daq/nidaq.py +++ b/src/qudi/hardware/daq/nidaq.py @@ -47,9 +47,6 @@ class NIDAQ(DAQReaderInterface): missing='warn' ) - - # signals - sigNewData = QtCore.Signal(object) # is a List[ReaderVal] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/src/qudi/hardware/laser/solstis_laser.py b/src/qudi/hardware/laser/solstis_laser.py index a7853ba..46087c7 100644 --- a/src/qudi/hardware/laser/solstis_laser.py +++ b/src/qudi/hardware/laser/solstis_laser.py @@ -48,9 +48,7 @@ class SolstisLaser(ScanningLaserInterface): _scan_rate = StatusVar(name='scan_rate', default=TeraScanRate.SCAN_RATE_FINE_LINE_10_GHZ) _scan_type= StatusVar(name='scan_type', default=TeraScanType.SCAN_TYPE_FINE) - # signals - sigScanStarted = QtCore.Signal() - sigScanFinished = QtCore.Signal() + # status variables: diff --git a/src/qudi/hardware/powermeter/thorlabs_power_meter.py b/src/qudi/hardware/powermeter/thorlabs_power_meter.py index 7db15b3..54b2e9c 100644 --- a/src/qudi/hardware/powermeter/thorlabs_power_meter.py +++ b/src/qudi/hardware/powermeter/thorlabs_power_meter.py @@ -28,9 +28,7 @@ class ThorlabsPowerMeter(SimplePowermeterInterface): _update_interval = ConfigOption(name='update_period', default=0, missing='info') - - # signals - sigNewData = QtCore.Signal(float) + # Run this in its own thread: _threaded = True diff --git a/src/qudi/hardware/servo/thorlabs_servo.py b/src/qudi/hardware/servo/thorlabs_servo.py index 0711ddc..7a48164 100644 --- a/src/qudi/hardware/servo/thorlabs_servo.py +++ b/src/qudi/hardware/servo/thorlabs_servo.py @@ -24,10 +24,6 @@ class ThorlabsServo(MotorInterface): missing='error' ) - # signals - sigMoveStarted = QtCore.Signal() - sigMoveFinished = QtCore.Signal() - # Run in separate thread: _threaded = True diff --git a/src/qudi/hardware/timetagger/swabian_tagger.py b/src/qudi/hardware/timetagger/swabian_tagger.py index 5a7c966..bdef915 100644 --- a/src/qudi/hardware/timetagger/swabian_tagger.py +++ b/src/qudi/hardware/timetagger/swabian_tagger.py @@ -50,11 +50,6 @@ class SwabianTimeTagger(FastCounterInterface): default={'counts': 0}, missing='warn' ) - - - # Signals: - sigScanStarted = QtCore.Signal() - sigScanFinished = QtCore.Signal(np.ndarray) # set to threaded: _threaded = True diff --git a/src/qudi/hardware/wavemeter/high_finesse_wavemeter.py b/src/qudi/hardware/wavemeter/high_finesse_wavemeter.py index 47c0a5a..87267f9 100644 --- a/src/qudi/hardware/wavemeter/high_finesse_wavemeter.py +++ b/src/qudi/hardware/wavemeter/high_finesse_wavemeter.py @@ -37,8 +37,6 @@ class HighFinesseWavemeter(SimpleWavemeterInterface): module.Class: 'wavemeter.high_finesse_wavemeter.HighFinesseWavemeter' """ - sigWavelengthUpdated = QtCore.Signal(np.ndarray) # 1-d array of wavelengths in nm - _threaded = True def on_activate(self): diff --git a/src/qudi/interface/camera_interface.py b/src/qudi/interface/camera_interface.py index 481c43f..93b2113 100644 --- a/src/qudi/interface/camera_interface.py +++ b/src/qudi/interface/camera_interface.py @@ -21,12 +21,18 @@ """ from abc import abstractmethod +from PySide2 import QtCore +import numpy as np from qudi.core.module import Base class CameraInterface(Base): """ This interface is used to manage and visualize a simple camera """ + + # signals + sigFrameChanged = QtCore.Signal(np.ndarray) + sigAcquisitionFinished = QtCore.Signal() @abstractmethod def get_name(self): diff --git a/src/qudi/interface/daq_reader_interface.py b/src/qudi/interface/daq_reader_interface.py index ad7c753..1c3568f 100644 --- a/src/qudi/interface/daq_reader_interface.py +++ b/src/qudi/interface/daq_reader_interface.py @@ -20,6 +20,7 @@ from enum import Enum from abc import abstractmethod +from PySide2 import QtCore from typing import List, Sequence from qudi.core.module import Base @@ -51,6 +52,9 @@ def __init__(self, class DAQReaderInterface(Base): + + # signals + sigNewData = QtCore.Signal(object) # is a List[ReaderVal] @property @abstractmethod def active_channels(self) -> List[str]: diff --git a/src/qudi/interface/fast_counter_interface.py b/src/qudi/interface/fast_counter_interface.py index 3b5460b..38cb0bc 100644 --- a/src/qudi/interface/fast_counter_interface.py +++ b/src/qudi/interface/fast_counter_interface.py @@ -21,6 +21,8 @@ """ from abc import abstractmethod +from PySide2 import QtCore +import numpy as np from qudi.core.module import Base @@ -39,6 +41,10 @@ class FastCounterInterface(Base): generally enough for a lot of experiment, where a memory consuming 2d array is not necessary. """ + + # Signals: + sigScanStarted = QtCore.Signal() + sigScanFinished = QtCore.Signal(np.ndarray) @abstractmethod def get_constraints(self): diff --git a/src/qudi/interface/motor_interface.py b/src/qudi/interface/motor_interface.py index 6f028e6..322f2b6 100644 --- a/src/qudi/interface/motor_interface.py +++ b/src/qudi/interface/motor_interface.py @@ -23,6 +23,7 @@ from typing import List from abc import abstractmethod +from PySide2 import QtCore from qudi.core.module import Base class MotorInterface(Base): @@ -33,6 +34,10 @@ class MotorInterface(Base): and a temperature regulation control. """ + + # signals + sigMoveStarted = QtCore.Signal() + sigMoveFinished = QtCore.Signal() @abstractmethod def get_motion_limits(self) -> List[float]: diff --git a/src/qudi/interface/scanning_laser_interface.py b/src/qudi/interface/scanning_laser_interface.py index 32f07ad..46fed6a 100644 --- a/src/qudi/interface/scanning_laser_interface.py +++ b/src/qudi/interface/scanning_laser_interface.py @@ -22,6 +22,8 @@ from enum import IntEnum from abc import abstractmethod from typing import List +from PySide2 import QtCore + from qudi.core.module import Base class ShutterState(IntEnum): @@ -47,6 +49,10 @@ class ScanningLaserInterface(Base): and a temperature regulation control. """ + + # signals + sigScanStarted = QtCore.Signal() + sigScanFinished = QtCore.Signal() @abstractmethod def get_power_range(self) -> List[float]: diff --git a/src/qudi/interface/simple_powermeter_interface.py b/src/qudi/interface/simple_powermeter_interface.py index eb36651..79eca5b 100644 --- a/src/qudi/interface/simple_powermeter_interface.py +++ b/src/qudi/interface/simple_powermeter_interface.py @@ -1,4 +1,5 @@ from abc import abstractmethod +from PySide2 import QtCore from qudi.core.module import Base @@ -8,6 +9,9 @@ class SimplePowermeterInterface(Base): """ + # signals + sigNewData = QtCore.Signal(float) + @abstractmethod def get_power(self) -> float: """ Retrieve the current wavelength(s) from the wavemeter diff --git a/src/qudi/interface/simple_wavemeter_interface.py b/src/qudi/interface/simple_wavemeter_interface.py index 843a15b..f42d2ee 100644 --- a/src/qudi/interface/simple_wavemeter_interface.py +++ b/src/qudi/interface/simple_wavemeter_interface.py @@ -1,4 +1,5 @@ import numpy as np +from PySide2 import QtCore from abc import abstractmethod from qudi.core.module import Base @@ -8,6 +9,8 @@ class SimpleWavemeterInterface(Base): """ + sigWavelengthUpdated = QtCore.Signal(np.ndarray) # 1-d array of wavelengths in nm + @abstractmethod def get_wavelengths(self) -> np.ndarray: """ Retrieve the current wavelength(s) from the wavemeter