Updated signature
This commit is contained in:
@@ -445,6 +445,12 @@ class GigaFrostCamera(PSIDetectorBase):
|
||||
prefix="",
|
||||
*,
|
||||
name,
|
||||
kind=None,
|
||||
read_attrs=None,
|
||||
configuration_attrs=None,
|
||||
parent=None,
|
||||
device_manager=None,
|
||||
sim_mode=False,
|
||||
auto_soft_enable=False,
|
||||
backend_url=const.BE999_DAFL_CLIENT,
|
||||
**kwargs,
|
||||
@@ -455,7 +461,7 @@ class GigaFrostCamera(PSIDetectorBase):
|
||||
self._signals_to_be_set['backend_url'] = backend_url
|
||||
|
||||
# super() will call the mixin class
|
||||
super().__init__(prefix=prefix, name=name, **kwargs)
|
||||
super().__init__(prefix=prefix, name=name, kind=kind, read_attrs=read_attrs, configuration_attrs=configuration_attrs, parent=parent, device_manager=device_manager, **kwargs)
|
||||
|
||||
def _init(self):
|
||||
"""Ugly hack: values must be set before on_init() is called"""
|
||||
@@ -586,15 +592,6 @@ class GigaFrostCamera(PSIDetectorBase):
|
||||
else:
|
||||
raise RuntimeError(f"Unsupported trigger mode: {trigger_mode}")
|
||||
|
||||
def stage(self):
|
||||
""" Standard stage command"""
|
||||
if not self._initialized:
|
||||
logger.warning(
|
||||
f"[{self.name}] Ophyd device havent ran the initialization sequence,"
|
||||
"IOC might be in unknown configuration."
|
||||
)
|
||||
return super().stage()
|
||||
|
||||
@property
|
||||
def exposure_mode(self):
|
||||
"""Returns the current exposure mode of the GigaFRost camera.
|
||||
|
||||
@@ -36,7 +36,7 @@ class StdDaqMixin(CustomDeviceMixin):
|
||||
# Fish out our configuration from scaninfo (via explicit or generic addressing)
|
||||
scanparam = self.parent.scaninfo.scan_msg.info
|
||||
alias = self.parent.parent.name if self.parent.parent is not None else self.parent.name
|
||||
logger.warning(f"[{alias}] Scan parameters:\n{self.parent.scaninfo}")
|
||||
logger.warning(f"[{alias}] Scan parameters:\n{scanparam}")
|
||||
d = {}
|
||||
if 'kwargs' in scanparam:
|
||||
scanargs = scanparam['kwargs']
|
||||
@@ -173,15 +173,23 @@ class StdDaqClient(PSIDeviceBase):
|
||||
cfg_pixel_height = Component(Signal, kind=Kind.config)
|
||||
cfg_pixel_width = Component(Signal, kind=Kind.config)
|
||||
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*args,
|
||||
prefix="",
|
||||
*,
|
||||
name,
|
||||
kind=None,
|
||||
read_attrs=None,
|
||||
configuration_attrs=None,
|
||||
parent=None,
|
||||
device_manager=None,
|
||||
sim_mode=False,
|
||||
ws_url: str = "ws://localhost:8080",
|
||||
rest_url: str = "http://localhost:5000",
|
||||
parent: Device = None,
|
||||
**kwargs
|
||||
**kwargs,
|
||||
) -> None:
|
||||
super().__init__(*args, parent=parent, **kwargs)
|
||||
super().__init__(prefix=prefix, name=name, kind=kind, read_attrs=read_attrs, configuration_attrs=configuration_attrs, parent=parent, device_manager=device_manager, **kwargs)
|
||||
self.status._metadata["write_access"] = False
|
||||
self.ws_url._metadata["write_access"] = False
|
||||
self.ws_url.set(ws_url, force=True).wait()
|
||||
@@ -294,14 +302,10 @@ class StdDaqClient(PSIDeviceBase):
|
||||
cfg = self.get_daq_config()
|
||||
if cfg['image_pixel_height'] != self.cfg_pixel_height.get() or cfg['image_pixel_width'] != self.cfg_pixel_width.get():
|
||||
# Stop running acquisition
|
||||
self.safestop()
|
||||
sleep(1)
|
||||
cfg = self.get_daq_config()
|
||||
changes = {
|
||||
'image_pixel_height': int(self.cfg_pixel_height.get()),
|
||||
'image_pixel_width': int(self.cfg_pixel_width.get()),
|
||||
}
|
||||
cfg = cfg.update(changes)
|
||||
self.unstage()
|
||||
# Update retrieved config
|
||||
cfg['image_pixel_height'] = int(self.cfg_pixel_height.get())
|
||||
cfg['image_pixel_width'] = int(self.cfg_pixel_width.get())
|
||||
self.set_daq_config(cfg)
|
||||
self.read_daq_config()
|
||||
|
||||
@@ -330,8 +334,9 @@ class StdDaqClient(PSIDeviceBase):
|
||||
def set_daq_config(self, config):
|
||||
"""Write a full configuration to the DAQ
|
||||
"""
|
||||
url = self.rest_url.get() + '/api/config/set'
|
||||
r = requests.post(
|
||||
self.rest_url.get() + '/api/config/set',
|
||||
url,
|
||||
params={"user": "ioc"},
|
||||
json=config,
|
||||
timeout=2,
|
||||
@@ -358,7 +363,7 @@ class StdDaqClient(PSIDeviceBase):
|
||||
try:
|
||||
if self._wsclient is not None:
|
||||
self._wsclient.close()
|
||||
self._wsclient = connect(self._ws_url)
|
||||
self._wsclient = connect(self.ws_url.get())
|
||||
msg = json.dumps({"command": "stop"})
|
||||
self._wsclient.send(msg)
|
||||
except (ConnectionClosedError, ConnectionClosedOK, ConnectionRefusedError):
|
||||
|
||||
Reference in New Issue
Block a user