diff --git a/.gitignore b/.gitignore index ffac521..473acdf 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,6 @@ venv/ # Contrib files without permission src/nqrduck_spectrometer_limenqr/contrib/limr.py src/nqrduck_spectrometer_limenqr/contrib/pulseN_test_USB.cpp -src/nqrduck_spectrometer_limenqr/contrib/pulseN_test_USB \ No newline at end of file +src/nqrduck_spectrometer_limenqr/contrib/pulseN_test_USB +src/nqrduck_spectrometer_limenqr/contrib/pulseN_test_USB_TX2 +src/nqrduck_spectrometer_limenqr/contrib/pulseN_test_USB_TX2.cpp \ No newline at end of file diff --git a/src/nqrduck_spectrometer_limenqr/controller.py b/src/nqrduck_spectrometer_limenqr/controller.py index f8bc82e..d7cfe4e 100644 --- a/src/nqrduck_spectrometer_limenqr/controller.py +++ b/src/nqrduck_spectrometer_limenqr/controller.py @@ -1,7 +1,5 @@ import logging import tempfile -from scipy.fftpack import fft, fftshift, fftfreq -import matplotlib.pyplot as plt from pathlib import Path import numpy as np from nqrduck.module.module_controller import ModuleController @@ -27,7 +25,7 @@ class LimeNQRController(BaseSpectrometerController): from .contrib.limr import limr self_path = Path(__file__).parent - driver_path = str(self_path / "contrib/pulseN_test_USB.cpp") + driver_path = str(self_path / "contrib/pulseN_test_USB_TX2.cpp") lime = limr(driver_path) except ImportError as e: logger.error("Error while importing limr. %s", e) @@ -91,6 +89,14 @@ class LimeNQRController(BaseSpectrometerController): self.module.nqrduck_signal.emit("measurement_data", measurement_data) def update_settings(self, lime): + """This method sets the parameters of the limr object according to the settings set in the spectrometer module. + + Args: + lime (limr): The limr object that is used to communicate with the pulseN driver + + Returns: + limr: The updated limr object""" + logger.debug( "Updating settings for spectrometer: %s for measurement", self.module.model.name, @@ -241,6 +247,14 @@ class LimeNQRController(BaseSpectrometerController): return lime def translate_rx_event(self, lime): + """This method translates the RX event of the pulse sequence to the limr object. + + Args: + lime (limr): The limr object that is used to communicate with the pulseN driver + + + Returns: + tuple: A tuple containing the start and stop time of the RX event in µs""" # This is a correction factor for the RX event. The offset of the first pulse is 2.2µs longer than from the specified samples. CORRECTION_FACTOR = 2.2e-6 events = self.module.model.pulse_programmer.model.pulse_sequence.events @@ -257,7 +271,7 @@ class LimeNQRController(BaseSpectrometerController): if ( parameter.name == self.module.model.RX - and parameter.options["RX"].state + and parameter.options["RX"].value ): # Get the length of all previous events previous_events = events[: events.index(event)] @@ -275,7 +289,12 @@ class LimeNQRController(BaseSpectrometerController): else: return None, None - def set_frequency(self, value): + def set_frequency(self, value : float): + """This method sets the target frequency of the spectrometer. + + Args: + value (float): The target frequency in MHz + """ logger.debug("Setting frequency to: %s", value) try: self.module.model.target_frequency = float(value) @@ -285,7 +304,11 @@ class LimeNQRController(BaseSpectrometerController): self.module.nqrduck_signal.emit("notification", ["Error", "Could not set frequency to: " + value]) self.module.nqrduck_signal.emit("failure_set_frequency", value) - def set_averages(self, value): + def set_averages(self, value : int): + """This method sets the number of averages for the spectrometer. + + Args: + value (int): The number of averages""" logger.debug("Setting averages to: %s", value) try: self.module.model.averages = int(value) diff --git a/src/nqrduck_spectrometer_limenqr/view.py b/src/nqrduck_spectrometer_limenqr/view.py index 77a89c0..984ea82 100644 --- a/src/nqrduck_spectrometer_limenqr/view.py +++ b/src/nqrduck_spectrometer_limenqr/view.py @@ -1,4 +1,3 @@ -from PyQt6.QtWidgets import QWidget from nqrduck_spectrometer.base_spectrometer_view import BaseSpectrometerView diff --git a/src/nqrduck_spectrometer_limenqr/widget.py b/src/nqrduck_spectrometer_limenqr/widget.py deleted file mode 100644 index da6ec31..0000000 --- a/src/nqrduck_spectrometer_limenqr/widget.py +++ /dev/null @@ -1,32 +0,0 @@ -# Form implementation generated from reading ui file '../Modules/nqrduck-spectrometer-limenqr/src/nqrduck_spectrometer_limenqr/resources/limenqr_widget.ui' -# -# Created by: PyQt6 UI code generator 6.5.1 -# -# WARNING: Any manual changes made to this file will be lost when pyuic6 is -# run again. Do not edit this file unless you know what you are doing. - - -from PyQt6 import QtCore, QtGui, QtWidgets - - -class Ui_Form(object): - def setupUi(self, Form): - Form.setObjectName("Form") - Form.resize(800, 600) - self.gridLayoutWidget = QtWidgets.QWidget(parent=Form) - self.gridLayoutWidget.setGeometry(QtCore.QRect(-1, -1, 811, 611)) - self.gridLayoutWidget.setObjectName("gridLayoutWidget") - self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget) - self.gridLayout.setContentsMargins(0, 0, 0, 0) - self.gridLayout.setObjectName("gridLayout") - self.pushButton = QtWidgets.QPushButton(parent=self.gridLayoutWidget) - self.pushButton.setObjectName("pushButton") - self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1) - - self.retranslateUi(Form) - QtCore.QMetaObject.connectSlotsByName(Form) - - def retranslateUi(self, Form): - _translate = QtCore.QCoreApplication.translate - Form.setWindowTitle(_translate("Form", "Form")) - self.pushButton.setText(_translate("Form", "Quack!"))