DAQ: Two measurements for auto

This commit is contained in:
leonarski_f committed 2025-07-15 09:57:16 +02:00
1 parent a245771ebd
commit 327ab0accc
1 file changed
+16 -16
+16 -16
View File
@@ -339,24 +339,23 @@ class AareDAQ:
res1 = self.__raster(grid)
# self.__devs.aerotech.move(grid.omega_deg + 90, wait=True)
grid.omega_deg += 90
self.__devs.aerotech.move(grid.omega_deg, wait=True)
grid.n_x = 7
grid.n_y = 20
grid.file_prefix = f"{old_prefix}_{grid.omega_deg}deg"
offset = Coordinate(x=-grid.n_x * grid.grid_size_mm.x / 2.0, y=-grid.n_y * grid.grid_size_mm.y / 2.0)
geom = self.sample_geometry
grid.smargon.sh_mm = geom.smargon.sh_mm + geom.smargon_nudge(offset)
res2 = self.__raster(grid)
self.__set_state(BeamlineStateEnum.SampleAlignment)
return res1
return CompletedRasterGrid(r=[res1, res2])
else:
return None
def auto_center(self, grid: RasterGridRequest) -> CompletedRasterGrid | None:
try:
self.__cfg.try_set_busy(timeout=360)
result = self.__auto_center(grid)
self.__cfg.state_busy = False
return result
except Exception as e:
self.__set_state(BeamlineStateEnum.SampleAlignment)
self.__cfg.state_busy = False
raise e
def __raster(self, r: RasterGridRequest) -> CompletedRasterGrid:
def __raster(self, r: RasterGridRequest) -> CompletedRasterGridElem:
max_time = r.exp_time_s * r.n_y * r.n_x + 60
self.__cfg.dtz = r.dtz
self.__set_state(BeamlineStateEnum.DataCollection)
@@ -399,7 +398,7 @@ class AareDAQ:
else:
print("Auto finding optimal image failed due to no images found. Using previous position.")
self.__devs.smargon.target = save_smargon_position
return CompletedRasterGrid(r=[CompletedRasterGridElem(request=copy.deepcopy(r), result=result)])
return CompletedRasterGridElem(request=copy.deepcopy(r), result=result)
def measure_raster(self, r: RasterGridRequest, auto: bool) -> CompletedRasterGrid:
self.__cfg.try_set_busy(timeout=ceil(360))
@@ -407,7 +406,8 @@ class AareDAQ:
if auto:
result = self.__auto_center(r)
else:
result = self.__raster(r)
raster_result = self.__raster(r)
result = CompletedRasterGrid(r=[raster_result])
self.__set_state(BeamlineStateEnum.SampleAlignment)
self.__cfg.state_busy = False
return result