Open hperrey opened 4 months ago
So a while ago a fix was added to pyseabreeze to extend that timeout dependent on the integration that was set. It was combined into another PR which is why it wasn't very visible:
you could probably pass the same through to the ethernet backend?
spectrometer and system information
current problem
In a mixed-spectrometer setup, I noticed that while the Ethernet connection on the HDX would time out after O(10)s, the USB connection to the QE65000 would not. The relevant parts of the code are:
The value for
self._device.pyusb_device.default_timeout
seems to be quite different from my (arbitrary) choice of 10000ms for the default socket timeout.. This is likely also related to #146I can configure the timeout by calling
spec._dev._raw_device.socket.settimeout(timeout_in_s)
directly but was wondering whether there is a less awkward mechanism inseabreeze
of setting that -- and if not, how one would best introduce one :)Some more details on my user story: While 10s seems a reasonable default timeout for internal triggers, in my particular case, I am setting up hardware triggers which might only be generated after much longer time than 10s. So before the setup generates the first trigger, the HDX would have already raised a
TimeoutError
.(From my short investigation into the state of the HDX after the timeout, I actually believe that the hardware is still stuck waiting for triggers and I am not sure at this point whether one can recover from the software side without either sending a trigger or resetting the hardware. But this is not what I wanted to raise in this issue.)
steps to reproduce
Using a USB connection:
Using an Ethernet connection and the HDX: