Last weekend I had a strange issue with focuser temperature read, SGPro showed “N/A” in focuser temperature window.
By digging into log, here is the normal sequence:
03:50:20.727 Connected Get True
03:50:20.727 Link Get True
03:50:20.727 Connected Get True
03:50:21.314 Focuser Transmit Command:GP#
03:50:21.349 Focuser Receive Response4724#
03:50:21.758 Focuser Transmit Command:GT#
03:50:22.195 Focuser Receive Response0047#
03:50:22.196 Temperature Get 0047
03:50:22.196 Focuser Transmit Command:ZA#
03:50:22.229 Focuser Receive Response0381#
03:50:22.229 Temperature Get 8.875
03:50:22.229 TemperatureAverage Get 8.97
03:50:22.464 Focuser Transmit Command:GP#
03:50:22.497 Focuser Receive Response4724#
For each “get temperature” request, the drive issues two commands “GT” and “ZA”, which reads current and average temperature, the driver then return one of the two back (base on an option setting). There is >0.2s from completion of “get temperature” to next request 'get position" (03:50:22.229 -> 03:50:22.464)
However the following sequence confused the driver/focuser:
03:50:40.740 Connected Get True
03:50:40.740 Link Get True
03:50:40.740 Connected Get True
03:50:41.448 Focuser Transmit Command:GP#
03:50:41.536 Focuser Receive Response4724#
03:50:41.971 Focuser Transmit Command:GT#
03:50:42.468 Focuser Receive Response0047#
03:50:42.468 Temperature Get 0047
03:50:42.468 Focuser Transmit Command:ZA#
03:50:42.504 Focuser Transmit Command:GP#
03:50:50.743 Connected Get True
03:50:50.743 Link Get True
03:50:50.743 Connected Get True
03:50:55.984 Focuser Transmit Command:GP#
03:50:57.809 Focuser Receive Response4724#
03:50:57.871 Focuser Receive Response4724#
SPPro sends a “get position” before “get temperature” request has completed.
Dirver/focuser does not get chance to complete the “get temperature” operation and does not return the value, so SGPro stops reading temperature thereafter, hence it assumed N/A for temperature reading.
So the question is that: is this a bug in SGPro, or a bug in driver? If it is driver how should driver behave?
Any help is appreciated!