From 645b7d2a5e1cdd6450b7cffa739dce66c866df13 Mon Sep 17 00:00:00 2001
From: Christoph Schmidt <christoph.,schmidt@tugraz.at>
Date: Thu, 4 Jan 2024 10:32:27 +0100
Subject: [PATCH] Open Device function now does not require a parameter

---
 pyproject.toml                                      |  2 +-
 .../controller/BaseAD2CaptDevice.py                 |  2 +-
 .../controller/mp_AD2Capture/MPCaptDevice.py        | 13 ++++++-------
 src/CaptDeviceControl/view/AD2CaptDeviceView.py     |  2 +-
 4 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/pyproject.toml b/pyproject.toml
index c6af200..fe3957d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "captdevicecontrol"
-version = "0.2.1"
+version = "0.2.2"
 authors = [
   { name="Christoph Schmidt", email="cschmidt.fs@gmail.com" },
 ]
diff --git a/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py b/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py
index cb05c48..d2899ab 100644
--- a/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py
+++ b/src/CaptDeviceControl/controller/BaseAD2CaptDevice.py
@@ -144,7 +144,7 @@ class BaseAD2CaptDevice(cmp.CProcessControl):
         """
 
     @cmp.CProcessControl.register_function(open_device_finished)
-    def open_device(self, device_index):
+    def open_device(self):
         """
         Opens the device with the given id.
         :param device_id:
diff --git a/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py b/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py
index c654af2..ef96ce4 100644
--- a/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py
+++ b/src/CaptDeviceControl/controller/mp_AD2Capture/MPCaptDevice.py
@@ -163,7 +163,7 @@ class MPCaptDevice(cmp.CProcess, ):
         self.device_name = self.get_device_name(self._selected_device_index)
         self.device_serial_number = self.get_device_serial_number(self._selected_device_index)
 
-        self.ain_channels = self.get_ain_channels(self._selected_device_index)
+        self.ain_channels = self.get_ain_channels()
         self.ain_buffer_size = self.get_ain_buffer_size(self._selected_device_index)
 
 
@@ -244,12 +244,11 @@ class MPCaptDevice(cmp.CProcess, ):
     # Functions for opening and closing the device
     # ==================================================================================================================
     @cmp.CProcess.register_signal()
-    def open_device(self, device_index) -> int:
+    def open_device(self) -> int:
         """
         Opens the device and returns the handle.
         :return: Device handle.
         """
-        self.selected_device_index = device_index
         if self.hdwf is not None or not isinstance(self.hdwf, c_int):
             self.hdwf = c_int()
 
@@ -288,17 +287,17 @@ class MPCaptDevice(cmp.CProcess, ):
     # ==================================================================================================================
     # Device Information
     # ==================================================================================================================
-    def get_ain_channels(self, device_id) -> list:
+    def get_ain_channels(self) -> list:
         cInfo = c_int()
-        self.dwf.FDwfEnumConfigInfo(c_int(device_id), c_int(1), byref(cInfo))
+        self.dwf.FDwfEnumConfigInfo(c_int(self.selected_device_index), c_int(1), byref(cInfo))
         ain_channels = cInfo.value
         if ain_channels == 0:
             # Sometimes, the device reports a wrong number of ain channels
             # so we can try to connect to the device first and retrieve the information
-            self.open_device(device_id)
+            self.open_device(self.selected_device_index)
             ain_channels = self.analog_in_channels_count()
             self.close_device()
-        self.logger.debug(f"Device {device_id} has {ain_channels} analog input channels.")
+        self.logger.debug(f"Device {self.selected_device_index} has {ain_channels} analog input channels.")
         return list(range(0, ain_channels))
 
     def get_ain_buffer_size(self, device_id) -> int:
diff --git a/src/CaptDeviceControl/view/AD2CaptDeviceView.py b/src/CaptDeviceControl/view/AD2CaptDeviceView.py
index c1ecada..a667149 100644
--- a/src/CaptDeviceControl/view/AD2CaptDeviceView.py
+++ b/src/CaptDeviceControl/view/AD2CaptDeviceView.py
@@ -213,7 +213,7 @@ class ControlWindow(QMainWindow):
         #    self._ui.btn_connect.setText("Connect")
         #else:
         try:
-            self.controller.open_device(self.model.device_information.selected_device_index)
+            self.controller.open_device()
             self.controller.start_capturing_process(
                 self.model.capturing_information.sample_rate
             )
-- 
GitLab