Managing a Telescope Mount’s Knowledge of Time and Place
In order for an astronomical mount to operate in equatorial coordinates, it must
know its location on Earth (and ideally its ground elevation) and the current
time. Location is easy, it doesn’t change over the observing session. either the
mount’s hand-box can set the lat/long, or an ASCOM-based application can use
SiteLatitude, SiteLongitude, and
SiteElevation to supply this info to the mount. Time is not
so easy, yet it is critical for pointing accuracy.
Simple Internal Clock
Mount designs vary in their methods of getting the current time. Most commonly, a mount will have an internal clock, which may vary in accuracy and stability, whether it remembers the time through power-down and power-up cycles, and whether it must be set via the mount’s hand-box. In this case the mount can provide for an ASCOM-based application to update its clock to remove long term drift or just setting it after power up.
This is provided for apps by their writing to UTCDate to
provide a time update. The usual time source for a time update is a
PC/Mac/Linux system (“system clock”). While most systems have reasonably
stable clocks, for astronomical uses it is desirable for the system to have
some source of time updating like Network Time Protocol (see
What is NTP? (external)), or an
external GPS-based time source with an app that periodically updates the
system clock. In this case UTCDate should be made both
readable (required) and writeable (to provide the time updates to the mount).
Important
For mounts that depend on a host system clock, the mount designer should strongly suggest that the host’s clock be synchronized with a precise time source such as NTP or GPS.
Internal Precision Time Source
It’s also possible for a mount to have its own internal precision time source,
such as a GPS receiver. The mount designer may choose to prohibit external time
updates and always use the mount’s GPS time source (e.g. the system clock does
not have a precise source of time). In this case the mount should refuse to
accept writing to UTCDate, and instead raise a
PropertyNotImplementedException on writing to it. This tells the
application “I don’t want you to change my time, I know better.” Always include
a meaningful error message with the exception.
Internal Source of Position
A mount with a GPS receiver will always provide geodetic position (obviously),
and probably ground elevation. Similar to having a precision time source, the
mount designer may choose to prohibit external position updates and always use
the mount’s GPS site location and elevation. In this case the mount should
refuse to accept writing to SiteLatitude,
SiteLongitude, and SiteElevation, and
instead raise a PropertyNotImplementedException on writing to them.
This tells the application “I don’t want you to change my location or elevation,
I know better.” Always include a meaningful error message with the exception.