Seems working

This commit is contained in:
gac-x05la
2024-12-13 14:30:39 +01:00
committed by mohacsi_i
parent 75c1627e93
commit 77b50efa9f
2 changed files with 23 additions and 15 deletions
+15 -14
View File
@@ -171,12 +171,12 @@ class GigaFrostCameraMixin(CustomDetectorMixin):
d['image_width'] = scanargs[f'{prefix}image_width']
if f'{prefix}image_height' in scanargs:
d['image_height'] = scanargs[f'{prefix}image_height']
if f'{prefix}num_burst' in scanargs:
d['num_burst'] = scanargs[f'{prefix}num_burst']
if f'{prefix}exposure_time' in scanargs:
d['exposure_time'] = scanargs[f'{prefix}exposure_time']
if f'{prefix}exposure_period' in scanargs:
d['exposure_period'] = scanargs[f'{prefix}exposure_period']
if f'{prefix}exposure_num_burst' in scanargs:
d['exposure_num_burst'] = scanargs[f'{prefix}exposure_num_burst']
if f'{prefix}exposure_time_ms' in scanargs:
d['exposure_time_ms'] = scanargs[f'{prefix}exposure_time_ms']
if f'{prefix}exposure_period_ms' in scanargs:
d['exposure_period_ms'] = scanargs[f'{prefix}exposure_period_ms']
if f'{prefix}correction_mode' in scanargs:
d['correction_mode'] = scanargs[f'{prefix}correction_mode']
if f'{prefix}scanid' in scanargs:
@@ -482,7 +482,8 @@ class GigaFrostCamera(PSIDetectorBase):
super().trigger()
# There's no status readback from the camera, so we just wait
sleep_time = self.cfgExposure.value*self.cfgCntNum.value*0.001+0.050
sleep_time = self.cfgExposure.value*self.cfgCntNum.value*0.001+0.2
sleep(sleep_time)
return DeviceStatus(self, done=True, success=True, settle_time=sleep_time)
def configure(self, d: dict = None):
@@ -494,9 +495,9 @@ class GigaFrostCamera(PSIDetectorBase):
Number of images to be taken during each scan. Set to -1 for an
unlimited number of images (limited by the ringbuffer size and
backend speed). (default = 10)
exposure_time : float, optional
exposure_time_ms : float, optional
Exposure time [ms]. (default = 0.2)
exposure_period : float, optional
exposure_period_ms : float, optional
Exposure period [ms], ignored in soft trigger mode. (default = 1.0)
image_width : int, optional
ROI size in the x-direction [pixels] (default = 2016)
@@ -526,9 +527,9 @@ class GigaFrostCamera(PSIDetectorBase):
# If Bluesky style configure
if d is not None:
num_images = d.get('num_images', 10)
exposure_time = d.get('exposure_time', 0.2)
exposure_period = d.get('exposure_period', 1.0)
num_images = d.get('exposure_num_burst', 10)
exposure_time_ms = d.get('exposure_time_ms', 0.2)
exposure_period_ms = d.get('exposure_period_ms', 2*exposure_time_ms)
image_width = d.get('image_width', 2016)
image_height = d.get('image_height', 2016)
scanid = d.get('scanid', 0)
@@ -536,8 +537,8 @@ class GigaFrostCamera(PSIDetectorBase):
correction_mode = d.get('correction_mode', 5)
# change settings
self.cfgExposure.set(exposure_time).wait()
self.cfgFramerate.set(exposure_period).wait()
self.cfgExposure.set(exposure_time_ms).wait()
self.cfgFramerate.set(exposure_period_ms).wait()
self.cfgRoiX.set(image_width).wait()
self.cfgRoiY.set(image_height).wait()
self.cfgScanId.set(scanid).wait()
@@ -69,7 +69,14 @@ class StdDaqMixin(CustomDeviceMixin):
ii = 0
self.parent.connect()
while True:
reply = self.parent.message(message)
try:
reply = self.parent.message(message)
except ConnectionClosedOK:
# # NOTE: Sometimes the stdDAQ rejects both start and stop commands, needs nuking
# self.parent.restart()
# sleep(0.5)
self.parent.connect()
reply = self.parent.message(message)
if reply is not None:
reply = json.loads(reply)