In line with previous Platform installers, 6.1 SP1 is a cumulative release that contains all enhancements and fixes from previous Platform releases and service packs.
Driver and application developers: In order to maintain a healthy code base, some tidying up is planned for the the next major update and details of the changes are given in the Deprecated Features section below. Please will you review this and update your applications and drivers as advised; these changes are not scheduled for introduction until the second half of 2014 at the earliest. In the meantime service packs will be issued as required to correct bugs.
Platform 6.1 Prerequisites
Platform 6.1 requires the following .NET framework version and library:
- .NET Framework 4 Client or .NET Framework 4 Full Installation or later
- Visual C++ 10.0 libraries
While previous Platforms required .NET Framework 3.5, Platform 6.1 requires that .NET Framework 4 or later is installed on your PC. Framework 4 has been available for a number of years and is provided for all operating systems that the Platform supports (Windows XP onwards). This change is to enable Platform components to take advantage of the new features that Framework 4 provides.
The installer will advise you if your PC does not have the required support and will request that you install it before continuing with the installation. The framework can be downloaded from the Microsoft Download Centre please check under "Popular Downloads - Developer Tools" if Framework 4 is not otherwise listed.
The Platform now also requires Visual C++ 10.0 libraries and the installer will provide these if they are not already present on your PC.
Key Changes in 6.1 SP1 - For Everyone
- Chooser - When the mouse pointer hovers over the Properties... button, Chooser now displays a tooltip describing the button's purpose.
- Chooser - When a driver is selected for the first time, the Chooser dialogue displays a more visible alert. This describes the need to check driver configuration before use and that the OK button will remain greyed out until this is done.
Key Changes in 6.1 SP1 - For Developers
The high level positional astronomy routines in the SOFA library are now available in a new SOFA component in the ASCOM.Astrometry namespace. This has been introduced to provide a migration path from NOVAS based components whose positional astronomy routines have been found to have reliability issues very close to the celestial poles. (Please see the notes on Deprecated Components below.)
The class's functionality is provided by underlying DLLs compiled from unmodified original C source code distributed by SOFA but the class does not constitute software provided by and/or endorsed by SOFA. No change whatsoever has been made to the algorithms implemented by SOFA that realise IAU standards.
SOFA provides a validation routine to confirm that the compiled library provides expected results. 32 and 64bit versions of this routine (SofaTestXX.exe and SofaTestXX-64.exe, where XX is the issue number) are included in this distribution and can be found in the Common Files\ASCOM\Astrometry directory. To run them open a command prompt in the Astrometry directory and enter the commands SofaTest10 /verbose and SofaTest10-64 /verbose. The susbset of these tests that is relevant to the routines presented in this component have also been incorporated in the ASCOM Diagnostics tool and expected operation of the SOFA routines can also be confirmed through this tool.
- The developer tools installer now bypasses the initial descriptive page and opens straight at the options page, only needing one click to start installation.
- ITelescope, IDome, IFilerWheel and ISafetyMonitor interface documentation in the help file now clearly identifies the "required" members that all drivers must implement and that a client can expect to be functionally implemented. The Conform tool will confirm that these required members are present and that they return reasonable values in line with the interface specification.
- Expected exceptions for ITelescope, IDome, IFilterWheel and ISafetyMonitor members have been added to the interface documentation in the help file
- Platform build and version numbers have been consolidated to a single form: PlatformMajor.PlatformMinor.ServicePack.BuildNumber and each of these is now available as a property in the ASCOM.Utilities.Util component.
Issues Fixed - Platform
- Bluetooth serial port compatibility has been improved by removing unnecessary port enumeration from the SerialConnected method.
- Slow ASCOM.Utilities.Serial performance when the Platform runs on Windows 8 and 8.1 has been fixed, performance is now the same as under Windows 7 and earlier.
- The Transform component now works reliably right up to declinations of 90.0 and -90.0, previously, it failed when within 30 arcseconds of the poles.
- The Diagnostics tool now handles serial port cleanup properly when serial errors occur.
Issues Fixed - Developers
- Help - Telescope.Interfaceversion corrected to say that interface version 3 should be returned rather than 2.
- The VB Console test application template now provides the missing app.config file.
- Drivers built from a VB driver template will now automaticlaly register for COM interop like those built from the C# template.
- Platform components will no longer throw an exception during instantiation if the process within which they are running cannot write to the user part of the registry. This enables components to be used in environments such as Microsoft IIS, whose worker processes have restricted default access rights.
Known Limitations - Developers
- The components in the Astrometry.NOVAS namespace are fully usable from .NET languages but are not fully
accessible through COM from scripting languages because a number of parameters are passed by reference or use
structures that do not pass across the COM interface. Three workrounds have been established:
- Recommended - Use the Transform component in the ASCOM.Astrometry.Transform namespace, it is fully COM compatible.
- Recommended - Use the NOVASCOM components in the Astrometry.NOVASCOM namespace, they are also fully COM compatible.
- Create your own COM presentation component that encapsulates the NOVAS 3.1 functions that you require and presents them in a COM compatible fashion to suit your needs. This component can them be consumed by your scripting application.
Breaking Changes (For Developers)
Deprecated Capabilites (For Developers)
The ASCOM.Astrometry namespace of the Platform has become overcrowded with components that have similar capabilities but that differ in small ways from each other (e.g. NOVAS2, NOVAS2COM, NOVAS3, NOVAS3.1). The recent realisation that some NOVAS routines use iterative algorithms that can fail, when in very close proximity to the poles, led to a search for an alternative and the SOFA Library was found to be an actively maintained and authoritative choice.
The addition of a SOFA component brings the number of high precision astronomy libraries distributed within the Platform to 8! To reduce the maintenance burden, SOFA will become the primary high precision library for astronomical computing distributed with the ASCOM Platform and dependence of Platform components on NOVAS will be removed. However, the NOVAS routines provide functionality that is not present in SOFA e.g. major and minor planet ephemerides and consequently the NOVAS 3.1 component will continue to be distributed with the Platform.
The following NOVAS components will be removed from the Platform installer at the next major update and moved into a separate installer:
- The following VB6 based simulators will be removed from the Platform at the next major update. These drivers were moved to a
"bug-fix only" maintenance mode when Platform 6 was released and are becoming increasingly out of step with their .NET counterparts, which are fully integrated
into the Platform code base.
Replace use of the CCDSimulator.Camera ProgID with ASCOM.Simulator.Camera, which will invoke the "Camera V2 simulator
Replace use of the DomeSim.Telescope ProgID with ASCOM.Simulator.Dome, which will invoke the "Dome Simulator .NET" driver.
Filter Wheel Simulator
Replace use of the FilterWheelSim.FilterWheel ProgID with ASCOM.Simulator.FilterWheel, which will invoke the "Filter Wheel Simulator [.NET]" driver.
Replace use of the FocuserSim.Focuser ProgID with ASCOM.Simulator.Focuser, which will invoke the "ASCOM Simulator Focuser Driver" driver.
Replace use of the SwitchSim.Switch ProgID with ASCOM.Simulator.Switch, which will invoke the "ASCOM SwitchV2 Simulator Driver" driver.
Replace use of the ScopeSim.Telescope ProgID with ASCOM.Simulator.Telescope, which will invoke the "Telescope Simulator for .NET" driver.