Important: The following new feature requires a license dated August 1, 2020 or later. If your license is older you can get access to these features by purchasing a license renewal. The renewal license never expires so you will always be able to use this new feature.
APCC V1.9 provides a new "virtual mount command" that returns the mount's RA/Dec coordinates with minimal latency.
The command's format is:
:GRGD#
This command will return both RA and Dec values. The result will have this format:
HH:MM:SS.dd|sDD*MM:SS.d#
Where:
HH = 2-digit hour,
MM = 2-digit minute,
SS = 2-digit second,
d = decimal digit,
| = ASCII pipe character, separator between RA and Dec.
s = sign (+/-),
DD = 2-digit degrees.
Here is an actual example of sending a full response:
01:47:49.33|+89*55:04.1#
The APCC polls and caches the mount's RA and Dec coordinates once per second. Also, the AP V2 ASCOM driver polls and caches RA and Dec from APCC once per second. The poll and caching scheme that APCC and the AP V2 driver use causes up to two seconds of latency when retrieving mount coordinates. Normally this will be fine, but there are some use cases, like satellite tracking, where a two-second latency is not acceptable.
The real-time RA/Dec command reduces the latency by directly pushing separate :GR# and :GD# commands into APCC's high-priority command queue and consolidating the responses into a single return response. The latency is most reduced when APCC is connected to the mount via ethernet (GTOCP4 and GTOCP5 only).
Using the AP V2 ASCOM driver via COM interop
VB.Net console example:
Module Module1
Sub Main()
' Create a COM interop instance of the AP V2 ASCOM driver
Dim mount As Object = CreateObject("AstroPhysicsV2.Telescope")
If mount IsNot Nothing Then
' Connect to AP V2 Driver
mount.Connected = True
' NOTE: APCC 1.9 must be connected to the mount and the APCC license date
' must allow for the GRGD command to be available.
Dim realTimeRaDec As String = mount.CommandString("GRGD")
' Check if there was a valid response
If String.IsNullOrEmpty(realTimeRaDec) = False Then
Dim radec As String() = realTimeRaDec.Split("|")
If radec.Length = 2 Then
Console.WriteLine($"Full response: '{realTimeRaDec}', RA={radec(0)}, Dec={radec(1)}")
Else
Console.WriteLine(realTimeRaDec)
End If
Else
Console.WriteLine("No Response from APCC! APCC 1.9 must be connected to the mount and the APCC license date must allow for the GRGD command to be available!")
End If
' Disconnect from the AP V2 ASCOM Driver
mount.Connected = False
End If
End Sub
End Module