Hi,
I recently added a temperature capability to my DIY focuser (AAF2, ASCOM compliant). The focuser has been working fine with SGP so far, but now the reported temperature behaves weirdly.
Below are the focuser log and SGP log (Shortened to the relevant parts).
When the focuser is first connected the temperature is correctly read (21.75 at 16:10:05.287).
I do a few moves to check everything is working well.
Then at 16:10:45.762 the focuser reports a new value of 23.75 C, but in SGP it displays 22.42. I don’t know where this value is coming from (the focuser outputs temperature in multiples of 0.25).
Any idea what the problem could be?
Thanks,
Edit: After further test, it seems SGP applies some weighted average on the temperatures it receives, most likely to smooth out short fluctuations. It could be a good idea to mention it in the user manual (along with the sampling rate ~20s).
Focuser:
16:10:01.975 AAF2 Constructed
16:10:04.010 AAF2.setInitialPosition Sending: I5000#
16:10:04.011 AAF2.CommandString ------------------ Start -----------------------
16:10:04.011 AAF2.CommandString Command = I5000#
16:10:04.011 AAF2.CommandString Clearing Buffers
16:10:04.012 AAF2.CommandString Transmitting:I5000#
16:10:04.265 AAF2.CommandString Getting Return Message
16:10:04.267 AAF2.CommandString Return Message = I5000:OK#
16:10:04.267 AAF2.CommandString ------------------ Finish ----------------------
16:10:04.268 AAF2.setInitialPosition Received: I5000:OK#
16:10:04.269 AAF2.getPosition Sending: P#
16:10:04.269 AAF2.CommandString ------------------ Start -----------------------
16:10:04.269 AAF2.CommandString Command = P#
16:10:04.269 AAF2.CommandString Clearing Buffers
16:10:04.269 AAF2.CommandString Transmitting:P#
16:10:04.520 AAF2.CommandString Getting Return Message
16:10:04.521 AAF2.CommandString Return Message = P5000:OK#
16:10:04.521 AAF2.CommandString ------------------ Finish ----------------------
16:10:04.521 AAF2.getPosition Received: P5000:OK#
16:10:04.521 AAF2.getPosition Position = 5000
16:10:04.525 AAF2.halt Sending: H#
16:10:04.526 AAF2.CommandString ------------------ Start -----------------------
16:10:04.526 AAF2.CommandString Command = H#
16:10:04.526 AAF2.CommandString Clearing Buffers
16:10:04.526 AAF2.CommandString Transmitting:H#
16:10:04.777 AAF2.CommandString Getting Return Message
16:10:04.778 AAF2.CommandString Return Message = H5000:OK#
16:10:04.778 AAF2.CommandString ------------------ Finish ----------------------
16:10:04.778 AAF2.halt Received: H5000:OK#
16:10:04.778 AAF2.halt Focuser has stopped
16:10:04.778 AAF2.getPosition Sending: P#
16:10:04.778 AAF2.CommandString ------------------ Start -----------------------
16:10:04.778 AAF2.CommandString Command = P#
16:10:04.778 AAF2.CommandString Clearing Buffers
16:10:04.778 AAF2.CommandString Transmitting:P#
16:10:05.030 AAF2.CommandString Getting Return Message
16:10:05.031 AAF2.CommandString Return Message = P5000:OK#
16:10:05.031 AAF2.CommandString ------------------ Finish ----------------------
16:10:05.031 AAF2.getPosition Received: P5000:OK#
16:10:05.031 AAF2.getPosition Position = 5000
16:10:05.033 AAF2.getTemperature Sending: C#
16:10:05.033 AAF2.CommandString ------------------ Start -----------------------
16:10:05.033 AAF2.CommandString Command = C#
16:10:05.033 AAF2.CommandString Clearing Buffers
16:10:05.033 AAF2.CommandString Transmitting:C#
16:10:05.285 AAF2.CommandString Getting Return Message
16:10:05.286 AAF2.CommandString Return Message = C2175:OK#
16:10:05.287 AAF2.CommandString ------------------ Finish ----------------------
16:10:05.287 AAF2.getTemperature Received: C2175:OK#
16:10:05.287 AAF2.getTemperature Temperature = 2175
16:10:05.340 AAF2.getTemperature Sending: C#
16:10:05.340 AAF2.CommandString ------------------ Start -----------------------
16:10:05.340 AAF2.CommandString Command = C#
16:10:05.340 AAF2.CommandString Clearing Buffers
16:10:05.340 AAF2.CommandString Transmitting:C#
16:10:05.377 AAF2.isMoving Sending: M#
16:10:05.377 AAF2.CommandString ------------------ Start -----------------------
16:10:05.377 AAF2.CommandString Command = M#
16:10:05.377 AAF2.CommandString Clearing Buffers
16:10:05.378 AAF2.CommandString Transmitting:M#
16:10:05.591 AAF2.CommandString Getting Return Message
16:10:05.592 AAF2.CommandString Return Message = C2175:OK#
16:10:05.592 AAF2.CommandString ------------------ Finish ----------------------
16:10:05.592 AAF2.getTemperature Received: C2175:OK#
16:10:05.593 AAF2.getTemperature Temperature = 2175
16:10:05.628 AAF2.CommandString Getting Return Message
16:10:05.629 AAF2.CommandString Return Message = M0:OK#
16:10:05.629 AAF2.CommandString ------------------ Finish ----------------------
16:10:05.629 AAF2.isMoving Received: M0:OK#
16:10:05.629 AAF2.isMoving Focuser is Not Moving
16:10:10.882 AAF2.isMoving Sending: M#
16:10:10.882 AAF2.CommandString ------------------ Start -----------------------
16:10:10.882 AAF2.CommandString Command = M#
16:10:10.882 AAF2.CommandString Clearing Buffers
16:10:10.882 AAF2.CommandString Transmitting:M#
16:10:11.133 AAF2.CommandString Getting Return Message
16:10:11.133 AAF2.CommandString Return Message = M0:OK#
16:10:11.133 AAF2.CommandString ------------------ Finish ----------------------
16:10:11.133 AAF2.isMoving Received: M0:OK#
16:10:11.133 AAF2.isMoving Focuser is Not Moving
16:10:11.135 AAF2.isMoving Sending: M#
16:10:11.135 AAF2.CommandString ------------------ Start -----------------------
16:10:11.136 AAF2.CommandString Command = M#
16:10:11.136 AAF2.CommandString Clearing Buffers
16:10:11.136 AAF2.CommandString Transmitting:M#
16:10:11.387 AAF2.CommandString Getting Return Message
16:10:11.387 AAF2.CommandString Return Message = M0:OK#
16:10:11.387 AAF2.CommandString ------------------ Finish ----------------------
16:10:11.387 AAF2.isMoving Received: M0:OK#
16:10:11.387 AAF2.isMoving Focuser is Not Moving
16:10:11.387 AAF2.setPosition Sending: T5050#
16:10:11.388 AAF2.CommandString ------------------ Start -----------------------
16:10:11.388 AAF2.CommandString Command = T5050#
16:10:11.388 AAF2.CommandString Clearing Buffers
16:10:11.388 AAF2.CommandString Transmitting:T5050#
16:10:11.638 AAF2.CommandString Getting Return Message
16:10:11.640 AAF2.CommandString Return Message = T5050:OK#
16:10:11.640 AAF2.CommandString ------------------ Finish ----------------------
16:10:11.640 AAF2.setPosition Received: T5050:OK#
16:10:11.967 AAF2.isMoving Sending: M#
16:10:11.967 AAF2.CommandString ------------------ Start -----------------------
16:10:11.967 AAF2.CommandString Command = M#
16:10:11.967 AAF2.CommandString Clearing Buffers
16:10:11.968 AAF2.CommandString Transmitting:M#
16:10:12.219 AAF2.CommandString Getting Return Message
16:10:12.220 AAF2.CommandString Return Message = M1:OK#
16:10:12.220 AAF2.CommandString ------------------ Finish ----------------------
16:10:12.220 AAF2.isMoving Received: M1:OK#
16:10:12.220 AAF2.isMoving Focuser is Moving
16:10:12.976 AAF2.isMoving Sending: M#
16:10:12.976 AAF2.CommandString ------------------ Start -----------------------
16:10:12.976 AAF2.CommandString Command = M#
16:10:12.976 AAF2.CommandString Clearing Buffers
16:10:12.976 AAF2.CommandString Transmitting:M#
16:10:13.228 AAF2.CommandString Getting Return Message
16:10:13.229 AAF2.CommandString Return Message = M0:OK#
16:10:13.229 AAF2.CommandString ------------------ Finish ----------------------
16:10:13.229 AAF2.isMoving Received: M0:OK#
16:10:13.229 AAF2.isMoving Focuser is Not Moving
16:10:14.170 AAF2.isMoving Sending: M#
16:10:14.170 AAF2.CommandString ------------------ Start -----------------------
16:10:14.170 AAF2.CommandString Command = M#
16:10:14.170 AAF2.CommandString Clearing Buffers
16:10:14.170 AAF2.CommandString Transmitting:M#
16:10:14.421 AAF2.CommandString Getting Return Message
16:10:14.422 AAF2.CommandString Return Message = M0:OK#
16:10:14.422 AAF2.CommandString ------------------ Finish ----------------------
16:10:14.422 AAF2.isMoving Received: M0:OK#
16:10:14.422 AAF2.isMoving Focuser is Not Moving
16:10:14.422 AAF2.isMoving Sending: M#
16:10:14.422 AAF2.CommandString ------------------ Start -----------------------
16:10:14.422 AAF2.CommandString Command = M#
16:10:14.422 AAF2.CommandString Clearing Buffers
16:10:14.422 AAF2.CommandString Transmitting:M#
16:10:14.674 AAF2.CommandString Getting Return Message
16:10:14.675 AAF2.CommandString Return Message = M0:OK#
16:10:14.675 AAF2.CommandString ------------------ Finish ----------------------
16:10:14.675 AAF2.isMoving Received: M0:OK#
16:10:14.675 AAF2.isMoving Focuser is Not Moving
16:10:14.675 AAF2.setPosition Sending: T5000#
16:10:14.675 AAF2.CommandString ------------------ Start -----------------------
16:10:14.675 AAF2.CommandString Command = T5000#
16:10:14.675 AAF2.CommandString Clearing Buffers
16:10:14.676 AAF2.CommandString Transmitting:T5000#
16:10:14.927 AAF2.CommandString Getting Return Message
16:10:14.929 AAF2.CommandString Return Message = T5000:OK#
16:10:14.929 AAF2.CommandString ------------------ Finish ----------------------
16:10:14.929 AAF2.setPosition Received: T5000:OK#
16:10:15.243 AAF2.isMoving Sending: M#
16:10:15.243 AAF2.CommandString ------------------ Start -----------------------
16:10:15.243 AAF2.CommandString Command = M#
16:10:15.243 AAF2.CommandString Clearing Buffers
16:10:15.243 AAF2.CommandString Transmitting:M#
16:10:15.494 AAF2.CommandString Getting Return Message
16:10:15.494 AAF2.CommandString Return Message = M1:OK#
16:10:15.495 AAF2.CommandString ------------------ Finish ----------------------
16:10:15.495 AAF2.isMoving Received: M1:OK#
16:10:15.495 AAF2.isMoving Focuser is Moving
16:10:16.248 AAF2.isMoving Sending: M#
16:10:16.248 AAF2.CommandString ------------------ Start -----------------------
16:10:16.248 AAF2.CommandString Command = M#
16:10:16.248 AAF2.CommandString Clearing Buffers
16:10:16.248 AAF2.CommandString Transmitting:M#
16:10:16.500 AAF2.CommandString Getting Return Message
16:10:16.501 AAF2.CommandString Return Message = M0:OK#
16:10:16.501 AAF2.CommandString ------------------ Finish ----------------------
16:10:16.501 AAF2.isMoving Received: M0:OK#
16:10:16.501 AAF2.isMoving Focuser is Not Moving
16:10:25.416 AAF2.getTemperature Sending: C#
16:10:25.416 AAF2.CommandString ------------------ Start -----------------------
16:10:25.416 AAF2.CommandString Command = C#
16:10:25.416 AAF2.CommandString Clearing Buffers
16:10:25.417 AAF2.CommandString Transmitting:C#
16:10:25.668 AAF2.CommandString Getting Return Message
16:10:25.669 AAF2.CommandString Return Message = C2175:OK#
16:10:25.669 AAF2.CommandString ------------------ Finish ----------------------
16:10:25.669 AAF2.getTemperature Received: C2175:OK#
16:10:25.669 AAF2.getTemperature Temperature = 2175
16:10:45.508 AAF2.getTemperature Sending: C#
16:10:45.508 AAF2.CommandString ------------------ Start -----------------------
16:10:45.508 AAF2.CommandString Command = C#
16:10:45.508 AAF2.CommandString Clearing Buffers
16:10:45.508 AAF2.CommandString Transmitting:C#
16:10:45.760 AAF2.CommandString Getting Return Message
16:10:45.761 AAF2.CommandString Return Message = C2375:OK#
16:10:45.762 AAF2.CommandString ------------------ Finish ----------------------
16:10:45.762 AAF2.getTemperature Received: C2375:OK#
16:10:45.762 AAF2.getTemperature Temperature = 2375
16:10:48.343 AAF2.isMoving Sending: M#
16:10:48.343 AAF2.CommandString ------------------ Start -----------------------
16:10:48.343 AAF2.C4ommandString Command = M#
16:10:48.343 AAF2.CommandString Clearing Buffers
16:10:48.343 AAF2.CommandString Transmitting:M#
16:10:48.595 AAF2.CommandString Getting Return Message
16:10:48.595 AAF2.CommandString Return Message = M0:OK#
16:10:48.595 AAF2.CommandString ------------------ Finish ----------------------
16:10:48.595 AAF2.isMoving Received: M0:OK#
16:10:48.595 AAF2.isMoving Focuser is Not Moving
16:10:48.595 AAF2.isMoving Sending: M#
16:10:48.595 AAF2.CommandString ------------------ Start -----------------------
16:10:48.595 AAF2.CommandString Command = M#
16:10:48.595 AAF2.CommandString Clearing Buffers
16:10:48.595 AAF2.CommandString Transmitting:M#
16:10:48.848 AAF2.CommandString Getting Return Message
16:10:48.848 AAF2.CommandString Return Message = M0:OK#
16:10:48.848 AAF2.CommandString ------------------ Finish ----------------------
16:10:48.848 AAF2.isMoving Received: M0:OK#
16:10:48.848 AAF2.isMoving Focuser is Not Moving
16:10:48.848 AAF2.setPosition Sending: T5010#
16:10:48.848 AAF2.CommandString ------------------ Start -----------------------
16:10:48.848 AAF2.CommandString Command = T5010#
16:10:48.848 AAF2.CommandString Clearing Buffers
16:10:48.848 AAF2.CommandString Transmitting:T5010#
16:10:49.100 AAF2.CommandString Getting Return Message
16:10:49.101 AAF2.CommandString Return Message = T5010:OK#
16:10:49.101 AAF2.CommandString ------------------ Finish ----------------------
16:10:49.101 AAF2.setPosition Received: T5010:OK#
16:10:49.392 AAF2.isMoving Sending: M#
16:10:49.392 AAF2.CommandString ------------------ Start -----------------------
16:10:49.392 AAF2.CommandString Command = M#
16:10:49.392 AAF2.CommandString Clearing Buffers
16:10:49.392 AAF2.CommandString Transmitting:M#
16:10:49.644 AAF2.CommandString Getting Return Message
16:10:49.645 AAF2.CommandString Return Message = M0:OK#
16:10:49.645 AAF2.CommandString ------------------ Finish ----------------------
16:10:49.645 AAF2.isMoving Received: M0:OK#
16:10:49.645 AAF2.isMoving Focuser is Not Moving
And SGP:
[07/05/19 16:09:51.888][DEBUG] [Main Thread] ===== S E Q U E N C E G E N E R A T O R (v3.1.0.198) =====
[07/05/19 16:09:51.931][DEBUG] [Main Thread] OS: Microsoft Windows 10 Home
…
[07/05/19 16:10:01.968][DEBUG] [Main Thread] Connecting ASCOM focuser…
[07/05/19 16:10:05.287][DEBUG] [Main Thread] Focuser supports temperature
[07/05/19 16:10:05.287][DEBUG] [Main Thread] Current temperature reports: 21.75
[07/05/19 16:10:05.288][DEBUG] [Main Thread] Focuser reports Max Increment as: 10000
[07/05/19 16:10:05.289][DEBUG] [Main Thread] Focuser reports max steps as: 10000
[07/05/19 16:10:10.882][DEBUG] [Focuser Thread] SGM_FOCUSER_MOVE_REL message received…
[07/05/19 16:10:11.135][DEBUG] [Focuser Thread] Focuser moving to 4950
[07/05/19 16:10:11.640][DEBUG] [Focuser Thread] Focuser move call complete
[07/05/19 16:10:13.329][DEBUG] [Focuser Thread] SGM_FOCUSER_MOVE_REL complete…
[07/05/19 16:10:14.170][DEBUG] [Focuser Thread] SGM_FOCUSER_MOVE_REL message received…
[07/05/19 16:10:14.422][DEBUG] [Focuser Thread] Focuser moving to 5000
[07/05/19 16:10:14.929][DEBUG] [Focuser Thread] Focuser move call complete
[07/05/19 16:10:16.602][DEBUG] [Focuser Thread] SGM_FOCUSER_MOVE_REL complete…
[07/05/19 16:10:48.343][DEBUG] [Focuser Thread] SGM_FOCUSER_MOVE_REL message received…
[07/05/19 16:10:48.595][DEBUG] [Focuser Thread] Focuser moving to 4990
[07/05/19 16:10:49.101][DEBUG] [Focuser Thread] Focuser move call complete
[07/05/19 16:10:49.753][DEBUG] [Focuser Thread] SGM_FOCUSER_MOVE_REL complete…
[07/05/19 16:10:56.562][DEBUG] [Main Thread] Disconnecting ASCOM Focuser: ASCOM.AAF2.Focuser