4. ASCOM Basics

Let's get specific and see how these principles apply to ASCOM (Alpaca and COM as well). In the diagram below we see a simplified Telescope interface which has the bare minimum functionality exposed. In the pattern areas (interfaces) the upper box contains variables ("properties") which can be read and written. The bottom box shows functions ("methods") which can be called to do things. This telescope can be commanded to slew to a place in the sky and track the earth's rotation sidereally. The client can see where it is currently pointing and see if it's in the process of slewing or not. The client can also turn sidereal tracking on and off, and it can see if tracking is on or off. Take a moment to study this until you can see what the interface supports. See the important points below!

There are some important points here:

We're now at the conceptual heart of ASCOM. Hopefully you now understand the ASCOM interface concept and the important consequences of this design pattern. Now it's time to look at just a few key underlying characteristics in 5. Key Characteristics.

(*) This is a white lie. The ASCOM interfaces for all devices include a free-form Action() method and a property SupportedActions that provides the list of supported actions (if any) for that device only. None of this is covered by standards. Use of this feature is rare for reasons that, by now, should be obvious to you.