keithley : auto clear cache?
(from bm05)
When, suddenly, a Keithley connected via gpib does a timeout:
TOPO [1]: dscan(dty,-0.1,0.1,50,0.1,pico2)
!!! === SocketTimeout: timeout on socket(gpibd5c.esrf.fr, 5000) === !!! ( for more details type cmd 'last_error' )
-to be precise: user said they did not switch the Keithley off or what - it happened at some point without reason-
So, they restarted the Keithley.
Subsequent readings of the Keithley fail:
TOPO [4]: ct()
Error reading saturated_cblevel: Exception: Accumulation threshold plugins not loaded
Fri Oct 09 11:28:25 2020: Scan(name=ct, path='not saved')
!!! === ValueError: could not convert string to float: 'NDCI-0.00236E-09' === !!! ( for more details type cmd 'last_error' )ta [00:00]
!!! === ValueError: could not convert string to float: 'NDCI-0.00236E-09' === !!! ( for more details type cmd 'last_error' )
ERROR 2020-10-09 11:28:27,476 bliss.scans: Exception caught in keithley.wait_ready
!!! === ValueError: could not convert string to float: 'NDCI-0.00236E-09' === !!! ( for more details type cmd 'last_error' )
ERROR 2020-10-09 11:28:27,478 bliss.scans: Exception caught in lima_frelon2.wait_ready
!!! === ValueError: could not convert string to float: 'NDCI-0.00236E-09' === !!! ( for more details type cmd 'last_error' )
!!! === ValueError: could not convert string to float: 'NDCI-0.00236E-09' === !!! ( for more details type cmd 'last_error' )
!!! === ValueError: could not convert string to float: 'NDCI-0.00236E-09' === !!! ( for more details type cmd 'last_error' )
Took 0:00:02.895706[s]
Doing the famous "clear_cache" solves the problem:
TOPO [5]: from bliss.config.channels import clear_cache
TOPO [6]: clear_cache(pico2)
Question: what about trying to clear cache when timeout error happens ?
- and retrying ?
- or without retrying => it will fail but subsequent commands should work
What do you think ? @sebastien.petitdemange @claustre @cyril.guilloud @papillon @berruyer @beteva @homsrego ...
Edited by Matias Guijarro