w
This commit is contained in:
@@ -42,6 +42,13 @@ PILATUS_ACQUIRE_TIME = (
|
||||
logger = bec_logger.logger
|
||||
|
||||
|
||||
class DETECTORSTATE(int, enum.Enum):
|
||||
"""Pilatus Detector States from CamServer"""
|
||||
|
||||
UNARMED = 0
|
||||
ARMED = 1
|
||||
|
||||
|
||||
class ACQUIREMODE(int, enum.Enum):
|
||||
"""Pilatus Acquisition Modes"""
|
||||
|
||||
@@ -291,10 +298,12 @@ class Pilatus(PSIDeviceBase, ADBase):
|
||||
else:
|
||||
status_hdf = CompareStatus(self.hdf.capture, ACQUIREMODE.ACQUIRING.value)
|
||||
status_cam = CompareStatus(self.cam.acquire, ACQUIREMODE.ACQUIRING.value)
|
||||
status = AndStatusWithList(device=self, status_list=[status_hdf, status_cam])
|
||||
status_cam_server = CompareStatus(self.cam.armed, DETECTORSTATE.ARMED.value)
|
||||
status = AndStatusWithList(
|
||||
device=self, status_list=[status_hdf, status_cam, status_cam_server]
|
||||
)
|
||||
self.cam.acquire.put(1)
|
||||
self.hdf.capture.put(1)
|
||||
status.add_callback(self._on_failure_callback) # Callback on failure
|
||||
self.cancel_on_stop(status)
|
||||
return status
|
||||
|
||||
@@ -310,7 +319,6 @@ class Pilatus(PSIDeviceBase, ADBase):
|
||||
status = CompareStatus(self.hdf.num_captured, img_counter + 1)
|
||||
logger.warning(f"Triggering took image {time.time() - start_time:.3f} seconds")
|
||||
self.trigger_shot.put(1)
|
||||
status.add_callback(self._on_failure_callback) # Callback on failure
|
||||
self.cancel_on_stop(status)
|
||||
return status
|
||||
|
||||
@@ -333,16 +341,16 @@ class Pilatus(PSIDeviceBase, ADBase):
|
||||
else:
|
||||
status_hdf = CompareStatus(self.hdf.capture, ACQUIREMODE.DONE.value)
|
||||
status_cam = CompareStatus(self.cam.acquire, ACQUIREMODE.DONE.value)
|
||||
status_cam_server =
|
||||
status_cam_server = CompareStatus(self.cam.armed, DETECTORSTATE.UNARMED.value)
|
||||
num_images = self.scan_info.msg.num_points * self.scan_info.msg.scan_parameters.get(
|
||||
"frames_per_trigger", 1
|
||||
)
|
||||
status_img_written = CompareStatus(self.hdf.num_captured, num_images)
|
||||
status = AndStatusWithList(
|
||||
device=self, status_list=[status_hdf, status_cam, status_img_written]
|
||||
device=self,
|
||||
status_list=[status_hdf, status_cam, status_img_written, status_cam_server],
|
||||
)
|
||||
status.add_callback(self._complete_callback) # Callback that writing was successful
|
||||
status.add_callback(self._on_failure_callback) # Callback on failure
|
||||
self.cancel_on_stop(status)
|
||||
return status
|
||||
|
||||
|
||||
Reference in New Issue
Block a user