DAQ: add back jfjoch calls.
This commit is contained in:
+46
-35
@@ -899,13 +899,12 @@ class AareDAQ:
|
||||
total_time = request.exp_time_s*request.n_x*request.n_y+request.n_y*0.3
|
||||
result = None
|
||||
if not self.__cfg.simulated_detector:
|
||||
pass
|
||||
# try:
|
||||
# logger.info('initialise detector')
|
||||
# self.__jfjoch.measure_raster(request, status)
|
||||
# logger.info('detector initialised')
|
||||
# except JFJochCommunicationError as e:
|
||||
# logger.warning(f"Failed to communicate with jfjoch: {e}")
|
||||
try:
|
||||
logger.info('initialise detector')
|
||||
self.__jfjoch.measure_raster(request, status)
|
||||
logger.info('detector initialised')
|
||||
except JFJochCommunicationError as e:
|
||||
logger.warning(f"Failed to communicate with jfjoch: {e}")
|
||||
|
||||
else:
|
||||
logger.info("Simulated detector mode enabled; returning fake zero raster result.")
|
||||
@@ -928,15 +927,43 @@ class AareDAQ:
|
||||
else:
|
||||
coord = self.__cfg.abr_meas_pos.at_mm
|
||||
self.__devs.aerotech_pos = AerotechCoordinate(at_mm=coord, omega_deg=self.__devs.aerotech_omega)
|
||||
self.__devs.aerotech.wait_till_done(timeout=int(360))
|
||||
|
||||
self.__devs.smargon_pos = previous_smargon_pos
|
||||
if request.n_x == 1:
|
||||
x= ((request.n_y - 1) * request.grid_size_mm.y) / 2.0
|
||||
y = request.grid_size_mm.x / 2.0
|
||||
grid_centre_offset = self.sample_geometry.smargon_nudge(
|
||||
Coordinate(x=x, y=y))
|
||||
else:
|
||||
x = ((request.n_x - 1) * request.grid_size_mm.x) / 2.0
|
||||
y = ((request.n_y - 1) * request.grid_size_mm.y) / 2.0
|
||||
grid_centre_offset = self.sample_geometry.smargon_nudge(
|
||||
Coordinate(x=x, y=y))
|
||||
|
||||
logger.info(f"new delta mm {grid_centre_offset}")
|
||||
|
||||
logger.debug(f'moving SMARGON to target new delta mm {request.smargon_top_left.sh_mm+ grid_centre_offset} mm')
|
||||
smargon_nudge_mm = self.sample_geometry.smargon_nudge(grid_centre_offset)
|
||||
grid_centre_smargon = SmargonCoordinate(
|
||||
sh_mm=request.smargon_top_left.sh_mm + smargon_nudge_mm,
|
||||
phi_deg=request.smargon_top_left.phi_deg,
|
||||
chi_deg=request.smargon_top_left.chi_deg
|
||||
)
|
||||
self.__devs.smargon_pos = grid_centre_smargon
|
||||
# self.__devs.smargon_pos = previous_smargon_pos
|
||||
self.__devs.smargon_wait(timeout=180)
|
||||
|
||||
result = self._build_fake_raster_result(request)
|
||||
try:
|
||||
result = self.__jfjoch.wait_till_done(60)
|
||||
except JFJochCommunicationError as e:
|
||||
logger.warning(f"Failed to communicate with jfjoch: {e}")
|
||||
self.__set_state(BeamlineStateEnum.SampleAlignment)
|
||||
return self._build_fake_raster_result(request)
|
||||
|
||||
try:
|
||||
sample_id = self.sample.db_id if self.sample is not None and self.sample.db_id is not None else None
|
||||
if sample_id:
|
||||
self.__set_state(BeamlineStateEnum.SampleAlignment)
|
||||
self.save_screenshot_db(sample_id, f"{sample_id}_post_raster_{request.omega_deg}deg")
|
||||
self.__aare.ingest_gridscan(sample = self.sample, raster_result = result.result,
|
||||
raster_request = request, geom = self.sample_geometry,
|
||||
@@ -944,17 +971,13 @@ class AareDAQ:
|
||||
except Exception as e:
|
||||
logger.error(f"Exception ingesting grid scan: {e}")
|
||||
|
||||
# try:
|
||||
# result = self.__jfjoch.wait_till_done(60)
|
||||
# except JFJochCommunicationError as e:
|
||||
# logger.warning(f"Failed to communicate with jfjoch: {e}")
|
||||
# return self._build_fake_raster_result(request)
|
||||
|
||||
if result is None:
|
||||
logger.warning("JFJoch returned no ScanResult; using fake result for raster scan.")
|
||||
return result
|
||||
|
||||
#return CompletedRasterGridElem(request=copy.deepcopy(request), result=result, centre_of_mass=None)
|
||||
return CompletedRasterGridElem(request=copy.deepcopy(request), result=result, centre_of_mass=None)
|
||||
|
||||
|
||||
|
||||
except JFJochCommunicationError:
|
||||
raise
|
||||
@@ -999,8 +1022,8 @@ class AareDAQ:
|
||||
|
||||
if self.__cfg.simulated_detector:
|
||||
logger.info("Simulated detector mode enabled; skipping JFJoch start.")
|
||||
# else:
|
||||
# self.__jfjoch.measure_rotation(request, status, self.__cfg.xrf)
|
||||
else:
|
||||
self.__jfjoch.measure_rotation(request, status, self.__cfg.xrf)
|
||||
|
||||
if request.screening:
|
||||
self.__devs.aerotech.screening_scan(
|
||||
@@ -1036,21 +1059,11 @@ class AareDAQ:
|
||||
|
||||
if self.__cfg.simulated_detector:
|
||||
logger.warning("Detector in simulation mode, returning fake zero rotation result.")
|
||||
result = self._build_fake_rotation_result(request)
|
||||
result = self._build_fake_rotation_result(request)
|
||||
else:
|
||||
# Let JFJochCommunicationError propagate
|
||||
result = self.__jfjoch.wait_till_done(60)
|
||||
|
||||
# else:
|
||||
# # Let JFJochCommunicationError propagate
|
||||
# result = self.__jfjoch.wait_till_done(60)
|
||||
self.__set_state(BeamlineStateEnum.SampleAlignment)
|
||||
if self.sample is not None and self.sample.db_id is not None:
|
||||
self.save_screenshot_db(self.sample.db_id, "scan_preview")
|
||||
try:
|
||||
self.__aare.sample_collected(self.sample)
|
||||
self.__aare.ingest_scan(sample=self.sample, result=result.result,
|
||||
geom=self.sample_geometry, beam_mark_pxl=self.__cfg.get_beam_mark(self.zoom))
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Exception ingesting scan: {e}")
|
||||
except JFJochCommunicationError:
|
||||
raise
|
||||
except Exception as e:
|
||||
@@ -1834,9 +1847,7 @@ class AareDAQ:
|
||||
self._emit_face_detection_progress(result)
|
||||
logger.info(f"face_detection done at {time.perf_counter() - start}")
|
||||
|
||||
hex_string = secrets.token_hex(3) # 3 bytes = 6 hex characters
|
||||
print(hex_string.upper())
|
||||
|
||||
# Step 4: Auto-center and raster
|
||||
hex_string = secrets.token_hex(3)
|
||||
raster_params = self.get_auto_raster_params()
|
||||
geom = self.sample_geometry
|
||||
|
||||
Reference in New Issue
Block a user