
Synchronous Slewing in the Telescope Interface
Over the life of ASCOM, devices have provided both synchronous and asynchronous slewing. With the introduction of Alpaca, synchronous operations are badly mismatched to the communication medium, TCP/IP. Therefore in ITelescope V4 use of synchronous slewing by clients has been strongly discouraged, and thus deprecated as noted in the specifications.
It is a client author design decision as to whether, in the absence of driver asynchronous support, they will use synchronous methods or report that the driver is not compatible with their application.
In order to maximize compatibility with older ASCOM COM clients, the ITelescopeV4 and later
interface specifications require COM Telescope
drivers to support synchronous slewing via
SlewToCoordinates()
, SlewToTarget()
,
SlewToAltAz()
, and the capability flags
CanSlew
and CanSlewAltAz
.
Important
All ITelescopeV4 and later devices (COM and Alpaca) that can be programmatically slewed
must support asynchronous slewing and must therefore report True for
CanSlewAsync
and CanSlewAltAzAsync
.
Important
ASCOM COM drivers for mounts that can be programmatically slewed must support synchronous slewing to ensure backward compatibility with older clients. This is in addition to supporting asynchronous slewing as described above.
Important
Alpaca devices cannot provide reliable synchronous slewing operations over the
network, where a method call could take several minutes to complete before returning to
the client. Therefore, for mounts that can slew, Alpaca devices must always return
False for CanSlew
and CanSlewAltAz
, and
raise MethodNotImplementedException
for the synchronous slewing methods.