DAQ: changed beamline busy to be constant

This commit is contained in:
Martin Appleby
2025-09-22 11:47:34 +02:00
parent 49823f54a9
commit d90d847506
+3 -21
View File
@@ -67,10 +67,6 @@ class SampleCameraImageLabel(QGraphicsView):
self.__sam_cam = SampleCameraSettings(exposure=0.1, gain=100.0)
self.__is_daq_busy = False
self.__busy_blink_timer = QTimer()
self.__busy_blink_timer.timeout.connect(self.__toggle_busy_blink)
self.__busy_blink_visible = True
self.__geom = geom
self.__bookmarks: SmargonBookmarkList = SmargonBookmarkList()
self.__autoscale = False
@@ -112,19 +108,11 @@ class SampleCameraImageLabel(QGraphicsView):
self.left_click_hold_threshold = 200
self.right_click_hold_threshold = 200
def __toggle_busy_blink(self):
"""Toggle visibility for blinking busy text."""
self.__busy_blink_visible = not self.__busy_blink_visible
self.update()
def __draw_busy_overlay(self, painter: QPainter, rect):
"""Draw 'BEAMLINE BUSY' text overlay when DAQ is in busy state."""
if not self.__is_daq_busy:
return
if not self.__busy_blink_visible:
return
# Save the current painter state
painter.save()
@@ -382,21 +370,15 @@ class SampleCameraImageLabel(QGraphicsView):
self.__sam_cam = s.bl.sample_camera
self.__bounding_box = s.box
self.__is_daq_busy = s.busy
if self.__is_daq_busy:
if not self.__busy_blink_timer.isActive():
self.__busy_blink_timer.start(500) # Blink every 500ms
else:
self.__busy_blink_timer.stop()
self.__busy_blink_visible = True
if s.busy != self.__is_daq_busy:
self.__is_daq_busy = s.busy
self.update()
if s.state == BeamlineStateEnum.BeamLocation:
self.__state = SampleCameraImageState.BEAM_MARKING
elif self.__state == SampleCameraImageState.BEAM_MARKING:
self.__state = SampleCameraImageState.IDLE
self.update()
def __left_single_click(self, event):
match self.__state: