PCO Issues
I'm having a couple of issues with the PCO 2k that is running on id13. We now managed to move this device from Windows 7 to Windows 10 and update the Lima server to the most recent version so there should be no outstanding Lima > Bliss incompatibilities.
- Unable to start a bliss scan with saving, with the scan throwing:
2022-02-15 17:35:41,991 eh3 exceptions ERROR : Traceback (most recent call last):
File "src/gevent/greenlet.py", line 906, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 861, in prepare
join_tasks(tasks)
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 50, in join_tasks
gevent.joinall(greenlets, raise_error=True, **kw)
File "src/gevent/greenlet.py", line 1057, in gevent._gevent_cgreenlet.joinall
File "src/gevent/greenlet.py", line 1073, in gevent._gevent_cgreenlet.joinall
File "src/gevent/greenlet.py", line 371, in gevent._gevent_cgreenlet.Greenlet._raise_exception
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "src/gevent/greenlet.py", line 906, in gevent._gevent_cgreenlet.Greenlet.run
File "/users/blissadm/local/bliss.git/bliss/scanning/chain.py", line 555, in acq_prepare
return self.prepare()
File "/users/blissadm/local/bliss.git/bliss/scanning/acquisition/lima.py", line 305, in prepare
setattr(self.device.proxy, param_name, param_value)
File "/users/blissadm/local/bliss.git/bliss/common/tango.py", line 212, in __setattr__
super().__setattr__(name, value)
File "/users/blissadm/local/bliss.git/bliss/common/proxy.py", line 195, in __setattr__
setattr(self.__wrapped__, name, value)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/tango/device_proxy.py", line 329, in __DeviceProxy__setattr
return __set_attribute_value(self, name, value)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/tango/device_proxy.py", line 270, in __set_attribute_value
return self.write_attribute(name, value)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/tango/green.py", line 195, in greener
return executor.run(fn, args, kwargs, wait=wait, timeout=timeout)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/tango/green.py", line 114, in run
return self.access(accessor, timeout=timeout)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/tango/gevent_executor.py", line 155, in access
return accessor.get(timeout=timeout)
File "src/gevent/event.py", line 329, in gevent._gevent_cevent.AsyncResult.get
File "src/gevent/event.py", line 359, in gevent._gevent_cevent.AsyncResult.get
File "src/gevent/event.py", line 347, in gevent._gevent_cevent.AsyncResult.get
File "src/gevent/event.py", line 327, in gevent._gevent_cevent.AsyncResult._raise_exception
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/gevent/_compat.py", line 65, in reraise
raise value.with_traceback(tb)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/tango/gevent_executor.py", line 68, in wrapper
return func(*args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/bliss_dev/lib/python3.7/site-packages/tango/device_proxy.py", line 1493, in __DeviceProxy__write_attribute
return self._write_attribute(*args, **kwargs)
PyTango.DevFailed: DevFailed[
DevError[
desc = limacore.Exception: Control: lima::CtSaving::Stream::checkDirectoryAccess(C:\Miniconda3\conda-bld\lima-core_1616081573152\work\control\src\CtSaving.cpp, 3001): Error: Directory :Y:/id13/inhouse3/DATAPOLICY_I3_1/eh3/inhouse/id132202/id13/sample/sample_0002/scan00002 doesn't exist
origin = File "C:\Miniconda3\envs\pco_1.9.x\lib\site-packages\Lima\Core\Debug.py", line 64, in real_fn
return new_fn(*arg, **kw)
File "C:\Miniconda3\envs\pco_1.9.x\lib\site-packages\Lima\Server\LimaCCDs.py", line 1490, in write_saving_directory
saving.setDirectory(data, self.__SavingStream)
reason = PyDs_PythonError
severity = ERR]
DevError[
desc = Failed to write_attribute on device id13/limaccds/pco2k, attribute saving_directory
origin = DeviceProxy::write_attribute()
reason = API_AttributeFailed
severity = ERR]
]
It's still not quite clear to me who is responsible for creating this directory, bliss, or lima? If we add another camera to the scan (medipix, mpxeh3), this causes the directory to be create and the scan works.
- The per point latency is enormous (almost 2s per point), making fast scans impossible. They have to revert to using spec to capture images at 10fps. I dont think there is an issue with the lima device. Could be related to: #3019 (closed)?