Introduction - ASCOM-Platform 6 - ASCOM Driver and Application Developers
Please see Version 6.1 SP1 for information on the changes in 6.1 SP1.
This release builds on the architectural changes introduced in Plaform 5.5 and introduces a set of common methods that will be availabnle in all drivers. These have been based on the methods already implemented in the Telescope interface together with methods agreed in the IDeviceControl interface discussion. The full list of members is given in the ASCOM.DeviceInterface namespace section of this help file.
The following section describes changes introduced in Platform 5.5
Introduction - Driver and Application Developers - Features Introduced in Platform 5.5
The update introduces refactored, native, .NET implementations of the Helper components, which sit alongside the current VB6 COM components. The .NET components don't replace the COM components but do provide an alternate way for .NET applications to access their useful functionality.
In addition to the original COM components all the new .NET components are exposed through COM to provide a migration path onwards from the ageing VB6 based COM helper components, see section ASCOM Platform for COM Developers.
This help file also documents the capabilities offered by the new native .NET platform components. Instructions on how to access these capabilities are given in the section ASCOM Platform for .NET Developers
These new components are refactored from the original COM components and provide very similar functionality. They allow a .NET client or driver to use only .NET support components and to function as a 32 or 64 bit application as required.
Client-Driver interactions and relationships to the ASCOM Device interface specification
A diagram is provided in Start Menu ASCOM Platform 6 / Developer Documentation titled Platform 6 Client Driver Interactions. This shows the fundamental relationships between the written ASCOM specification (now in the ASCOM.DeviceInterfaces entry in the ASCOM Namespace section of this help file) and drivers and clients. It also supports the following section describing Platform evolution to the present day.
The following notes refer to the slides in the pdf file entitiled "Platform Evolution" installed in the StartMenu ASCOM Platform 6/Developer Documentation folder and describe how the ASCOM Platform has evolved from Platform 4 through to Platform 6.
All drivers and clients used COM to access other clients and the VB6 helper components.
COM clients continue as before and .NET clients are able to use the Client Access Toolkit to talk to drivers through either COM or .NET interfaces. .NET clients and drivers continue to use the VB6 Helper components through COM interfaces.
Platform 6 - Original COM clients
Original COM clients continue to use original drivers that use the VB6 Helpers but these have been "hollowed out" so that serial, profile and chooser functions are transparently carried out in the Platform 6 .NET based components. The original COM applications are unaware of the change because they continue to see the original VB6 helper interface.
Original COM clients are also able to use new .NET drivers, through their COM interfaces as presented through the Chooser and these use the new .NET Platform components directly.
Platform 6 - New COM clients
Newly developed or refactored COM applications can go directly to the COM interfaces exposed by the new .NET Platform components rather than to the original VB6 helper components thus gaining access to all the new features of Platform 6.
Platform 6 - New COM Drivers
New COM drivers should make direct use of the new Platform 6 COM Components such as ASCOM.Utilities.Serial, ASCOM.Utilities.Profile etc. to gain access to the full functionality of Platform 6.
Platform 6 - .NET Clients (Direct)
These clients go direct to the drivers as COM objects through the CreateObject or equivalent Activator funcitonality. They will need to deal directly with variations between device interface version such as missing member exceptions when accessing later interface version methods not present in earlier interface speicification drivers.
The clients can access the Platform utility components directly as .NET references, once the Developer Components have been installed. The Utilities components are all in the namespace ASCOM.Utilities and the astrometry components are in the ASCOM.Astrometry namespace. Visual Studio developers also benefit from IntelliSense and a set of project templates that provide a quick start to driver development. Please see the namespace documentation for further information on available features and components.
Platform 6 - .NET Clients (DriverAccess)
These clients use DriverAccess to load drivers. DriverAccess provides a strongly typed interface to the latest device interface version so you get the full features of Intellisense and error checking. DriverAccess also hides missing member exceptions when older drivers have no implementation for a newer method, providing a consistent interface to the application developer
- See the section titled Version 6.0 for a summary of updates and new functionality.