fix: pil300k device, pending readout

This commit is contained in:
e21206 2023-08-28 22:31:40 +02:00
parent 96a131d374
commit b91f8dbc68

View File

@ -84,16 +84,20 @@ class PilatusCsaxs(DetectorBase):
self.username = self.device_manager.producer.get(MessageEndpoints.account()).decode() self.username = self.device_manager.producer.get(MessageEndpoints.account()).decode()
self.device_manager.devices.mokev.read()["mokev"]["value"] self.device_manager.devices.mokev.read()["mokev"]["value"]
# self.triggermode = scan_msg.content["info"]["trigger_mode"] # self.triggermode = scan_msg.content["info"]["trigger_mode"]
self.filename = self.filewriter.compile_full_filename( # self.filename = self.filewriter.compile_full_filename(
self.scan_number, "pilatus_2", 1000, 5, True # self.scan_number, "pilatus_2", 1000, 5, True
) # )
# TODO fix with BEC running
# self.filename = '/sls/X12SA/Data10/e21206/data/test.h5'
def _prep_det(self) -> None: def _prep_det(self) -> None:
# TODO slow reaction, seemed to have timeout.
self._set_det_threshold() self._set_det_threshold()
self._set_acquisition_params() self._set_acquisition_params()
def _set_det_threshold(self) -> None: def _set_det_threshold(self) -> None:
threshold = self.cam.threshold_energy.read()[self.cam.threshold_energy.name]["value"] threshold = self.cam.threshold_energy.read()[self.cam.threshold_energy.name]["value"]
# threshold = self.cam.threshold_energy.read()[self.cam.threshold_energy.name]['value']
if not np.isclose(self.mokev / 2, threshold, rtol=0.05): if not np.isclose(self.mokev / 2, threshold, rtol=0.05):
self.cam.threshold_energy.set(self.mokev / 2) self.cam.threshold_energy.set(self.mokev / 2)
@ -210,11 +214,11 @@ class PilatusCsaxs(DetectorBase):
self._prep_det() self._prep_det()
self._prep_file_writer() self._prep_file_writer()
msg = BECMessage.FileMessage(file_path=self.filename, done=False) # msg = BECMessage.FileMessage(file_path=self.filename, done=False)
self._producer.set_and_publish( # self._producer.set_and_publish(
MessageEndpoints.public_file(self.scanID, "pilatus_2"), # MessageEndpoints.public_file(self.scanID, "pilatus_2"),
msg.dumps(), # msg.dumps(),
) # )
return super().stage() return super().stage()
@ -225,11 +229,11 @@ class PilatusCsaxs(DetectorBase):
self._close_file_writer() self._close_file_writer()
# TODO check if acquisition is done and successful! # TODO check if acquisition is done and successful!
state = True state = True
msg = BECMessage.FileMessage(file_path=self.filepath, done=True, successful=state) # msg = BECMessage.FileMessage(file_path=self.filepath, done=True, successful=state)
self.producer.set_and_publish( # self.producer.set_and_publish(
MessageEndpoints.public_file(self.metadata["scanID"], self.name), # MessageEndpoints.public_file(self.metadata["scanID"], self.name),
msg.dumps(), # msg.dumps(),
) # )
return super().unstage() return super().unstage()
def acquire(self) -> None: def acquire(self) -> None: