Browse Source

Untangled 'acquire' and 'continuous_read' Element groups

kapture2 3 years ago
parent
commit
73b9f7482d
3 changed files with 42 additions and 24 deletions
  1. 2 3
      KCG/base/backendinterface.py
  2. 28 8
      KCG/widgets/SingleReadWidget.py
  3. 12 13
      KCG/widgets/TimingWidget.py

+ 2 - 3
KCG/base/backendinterface.py

@@ -677,9 +677,8 @@ def _bif_set_continuous_read_active(board_id):
     :param board_id: id of the board do manipulate
     :return: -
     """
-    Elements.setEnabled("acquire_{}".format(board_id), False)
     Elements.setEnabled("acquireTrigger_{}".format(board_id), False)
-    Elements.setEnabled("continuous_read_{}".format(board_id), True)
+    Elements.setEnabled("continuous_read_{}".format(board_id), False)
     board.get_board_status(board_id).continuous_read = True
 
 
@@ -692,7 +691,7 @@ def _bif_set_continuous_read_inactive(board_id):
     if board.get_board_status(board_id).continuous_read:
         board.get_board_status(board_id).continuous_read = False
         storage.get_board_specific_storage(board_id).continuous_read_timer.stop()
-    Elements.setEnabled('acquire_{}'.format(board_id), True)
+    Elements.setEnabled('continuous_read_{}'.format(board_id), True)
     Elements.setEnabled('acquireTrigger_{}'.format(board_id), True)
 
 

+ 28 - 8
KCG/widgets/SingleReadWidget.py

@@ -56,14 +56,28 @@ class SingleReadWidget(kcgw.KCGWidgets):
             for board_id in available_boards
             }
 
+
         for board_id, tick in list(self.board_ticks_continuous_read.items()):
             Elements.addItem('acquireTrigger_{}'.format(board_id), tick)
             Elements.addItem(["acquire_{}".format(board_id), "no_board_{}".format(board_id)], tick)
             Elements.addItem('continuous_read_{}'.format(board_id), tick)
+
         for board_id, tick in self.board_ticks.items():
             Elements.addItem('acquireTrigger_{}'.format(board_id), tick)
             Elements.addItem(["acquire_{}".format(board_id), "no_board_{}".format(board_id)], tick)
 
+        board_id = available_boards[0]
+        Elements.addItem(
+                [
+                    "acquire_{}".format(board_id),
+                    "no_board_{}".format(board_id)
+                ],
+                [
+                    self.single_read_button,
+                    self.continuous_read_button
+                ])
+        Elements.addItem('continuous_read_{}'.format(board_id), self.single_read_button)
+
         # --------[ Fill Grid ]----------------
         self.layout.addWidget(self.continuous_read_button, 0, 1)
         self.layout.addWidget(self.single_read_button, 1, 1)
@@ -129,11 +143,10 @@ class SingleReadWidget(kcgw.KCGWidgets):
         if not board.get_board_status(board_id).continuous_read:
             self.continuous_read_button.setText(tr("Button", "Stop Acquisition"))
             self.single_read_button.setEnabled(False)
-            # self.continuous_read[id] = True
-            # self.board_ticks_continuous_read[board_id].setStyleSheet("border-color: green; border-width: 3px;")
+            #self.continuous_read_button.setStyleSheet("QPushButton {background-color: green; color: black;}")
         else:
             self.continuous_read_button.setText(tr("Button", "Continuous Acquisition"))
-            #self.board_ticks_continuous_read[board_id].setStyleSheet("")
+            #self.continuous_read_button.setStyleSheet("")
             self.single_read_button.setEnabled(True)
 
         #Note:
@@ -157,11 +170,18 @@ class SingleReadWidget(kcgw.KCGWidgets):
         global __widget_id__
         __widget_id__ = None
         del self.par.widgets[self.id]
-        Elements.removeItem(['no_board', 'acquire'],
-                            [
-                                self.single_read_button,
-                                # self.continuous_read_button
-                            ])
+        Elements.removeItem(
+                [
+                    #"acquireTrigger_{}".format(board_id),
+                    "acquire_{}".format(board_id),
+                    "no_board_{}".format(board_id)
+                ], 
+                [
+                    self.single_read_button,
+                    #self.continuous_read_button
+                ])
+        Elements.removeItem('continuous_read_{}'.format(board_id), self.single_read_button)
+
         for board_id, tick in list(self.board_ticks_continuous_read.items()):
             Elements.removeItem(
                 [

+ 12 - 13
KCG/widgets/TimingWidget.py

@@ -92,7 +92,7 @@ class TimingPart(kcgw.KCGWidgets):
         #instead directly through update_delay
         self.coarseInputTh   = self.createSpinbox(0, self.board_config.get('delay_330_max'), connect=self.linkFMCCoarseDelay)
 
-        Elements.addItem(["timing_{}".format(self.board_id), "no_board_{}".format(self.board_id), "acquire_{}".format(self.board_id), "continuous_read_{}".format(board_id)],
+        Elements.addItem(["timing_{}".format(self.board_id), "no_board_{}".format(self.board_id), "acquire_{}".format(self.board_id)],
                          [
                             #self.coarseInputFpga,
                             #self.coarseInputAdc,
@@ -107,7 +107,7 @@ class TimingPart(kcgw.KCGWidgets):
             self.coarse2Label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
             self.coarse2InputTh   = self.createSpinbox(0, self.board_config.get('delay_25_max'), connect=lambda: update_delay("delay_25_th", "coarse2InputTh"))
 
-            Elements.addItem(["timing_{}".format(self.board_id), "no_board_{}".format(self.board_id), "acquire_{}".format(self.board_id), "continuous_read_{}".format(board_id)],
+            Elements.addItem(["timing_{}".format(self.board_id), "no_board_{}".format(self.board_id), "acquire_{}".format(self.board_id)],
                          [
                             #self.coarse2InputAdc,
                             #self.coarse2InputFpga,
@@ -122,14 +122,15 @@ class TimingPart(kcgw.KCGWidgets):
                 self.coarseInputTh_2   = self.createSpinbox(0, self.board_config.get('delay_330_max'), connect=lambda: update_delay("delay_330_th_2", "coarseInputTh_2"))
                 self.coarse2InputTh_2   = self.createSpinbox(0, self.board_config.get('delay_25_max'), connect=lambda: update_delay("delay_25_th_2", "coarse2InputTh_2"))
 
-                Elements.addItem(["timing_{}".format(self.board_id), "no_board_{}".format(self.board_id), "acquire_{}".format(self.board_id), "continuous_read_{}".format(board_id)],
+                Elements.addItem(["timing_{}".format(self.board_id), "no_board_{}".format(self.board_id), "acquire_{}".format(self.board_id)],
                              [
                                 #self.coarseInputFpga,
                                 #self.coarseInputAdc,
-                                self.coarseInputTh_2,
+                                #self.coarseInputTh_2,
                                 #self.coarse2InputAdc,
                                 #self.coarse2InputFpga,
-                                self.coarse2InputTh_2
+                                self.coarse2InputTh_2,
+                                self.linkTHSwitch
                              ]
                              )
 
@@ -158,9 +159,8 @@ class TimingPart(kcgw.KCGWidgets):
 
         Elements.addItem(["timing_{}".format(self.board_id),
             "no_board_{}".format(self.board_id),
-            "acquire_{}".format(self.board_id),
-            "continuous_read_{}".format(board_id)], 
-            self.fineAdcInput
+            "acquire_{}".format(self.board_id)
+            ], self.fineAdcInput
             )
 
         self.bunchShiftLabel = self.createLabel(tr("Label", "Bunch Shift"))
@@ -171,9 +171,8 @@ class TimingPart(kcgw.KCGWidgets):
 
         Elements.addItem(["timing_{}".format(self.board_id),
             "no_board_{}".format(self.board_id),
-            "acquire_{}".format(self.board_id),
-            "continuous_read_{}".format(board_id)], 
-            self.bunchShiftInput
+            "acquire_{}".format(self.board_id)
+            ], self.bunchShiftInput
             )
 
 
@@ -503,10 +502,10 @@ class TimingPart(kcgw.KCGWidgets):
                                 )
             if self.adc_number > 4:
                 Elements.removeItem(None, [
-                                            self.coarseInputTh_2,
+                                            #self.coarseInputTh_2,
                                             #self.coarseInputAdc_2,
                                             #self.coarseInputFpga_2,
-
+                                            self.linkTHSwitch,
                                             self.coarse2InputTh_2,
                                             #self.coarse2InputAdc_2,
                                             #self.coarse2InputFpga_2