Version 6.0 SP2
Key Changes in 6.0 SP2 - For Everyone
  • The Dome control panel now uses DestinationSideOfPier when determining the dome position for slews
  • The Camera simulator can now simulate cameras that are unable to operate at all intermediate Bin values between 1 and BinMax.
  • Small installer updates to recognise Windows 8
  • The number of UTC leap seconds is now specified in the Astrometry key of the ASCOM Profile and can be updated by the user whenever additional leap seconds are added without requiring an ASCOM Platform release. The value set by this Platform update takes account of the leap second introduced at the end of June 2012; no further change is expected to be required until 2014 or 2015.
  • The Telescope Simulator .NET is now more representative of real German equatorial mounts by tracking 1 hour beyond the meridian before flipping.
Key Changes in 6.0 SP2 - For Developers
  • Added a new AstroUtils.Event method that provides rise and set times for Sun, Moon and the planets. In addition, the times of Civil, Nautical and Astronomical twilight can be returned. Returned values are generally within 1 minute of those retured by the USNO Astronomical Data Site for latitudes in the range 80N to 80S and within 5 minutes outside these latitudes. The returned event list can handle days when no, one or two rise or set events occur.
  • An alamanc program has been added to the Code Examples in the the Developer Components install. This generates a year long almanac for any AstroUtils.Event event at a given latitude, longitude and timezone.
  • Added Chris Rowland's "Introduction to developing ASCOM drivers" to the developer install.
  • Improved all drivers created through the template wizard. These now pass Conform "out of the box" and throw the correct ASCOM execptions instead of system exceptions. Comments have been improved and all CanXXX capability properties return boolean values instead of exceptions.
  • The Inno installer template generator now creates installers that can uninstall earlier versions of themselves when a new version is installed.
  • Transform
    • Upgraded from using NOVAS 2 components to using NOVAS 3.1 components internally. There is no external functional change, accuracy is slightly improved
    • The Refresh method is no longer required, values are always refreshed before presenting to the calling application. The Refresh method is retained for backwards compatibility but its use is now deprecated.
  • Astrometry - The DeltaT function has been augmented to predict values in line with earth observations to March 2013 and the function now returns extrapolated values from April 2013 to December 2016. Taking account of USNO published uncertainty and model fitting error, returned values are expected to be accurate to ±0.1sec in 2013, ±0.2sec in 2014, ±0.4sec in 2015 and ±0.7sec in 2016.
  • The Terrestrial Time functions now account for the leap second that was introduced at the end of June 2012
  • AstroUtils
    • Added new methods AstroUtil.MoonIllumination and AstroUtil.MoonPhase.
    • AstroUtils.JulianDateTT and AstroUtils.JulianDateUT1 will now use an internal approximation for DeltaUT1 if the supplied value is 0.0.
    • Added a new function AstroUtils.FormatJD to format a Julian date using a supplied format descriptor. This function will primarily be of interest to those using scripting languages that lack this capability.
  • An independent trace option for NOVAS components has been added to the Trace menu. Currently only a few NOVAS 3.1 functions create trace output.
  • NOVASCOM.Planet now supports major planet numbers of 10=Sun and 11=Moon in line with the NOVAS convention.
  • A new entry on time scale relationships has been added to the Developer Information section of the help file.
  • TraceLogger - added a new single parameter initialiser that selects automatic file name generation based on the supplied filetype parameter and immediately enables the logger, removing the need for a subsequent TraceLogger.Enabled = true; statement.
  • Improved help description for the Focuser.Connected method saying that it is not available in focusers built to the IFocuser version 1 interface
  • Added a set of scripting language code samples to developer documentation to illustrate access through COM.
  • Descriptions of the new ICameraV2 methods have been clarified and now indicate whether the method must be implemented or whether it is persmissible for it to throw a NotImplemented exception.
  • The Camera.PulseGuide description now specifies that the duration of movment should be expressed in milli-seconds.
  • The ASCOM convention for SideOfPier has be re-confirmed: that PierSide.pierEast, for a German equatorial mount, is the pointing state where the mount is on the East side of the pier, looking West, with the counterweights below the optical assembly. This definition was lost from the SideOfPier and PierSide descriptions when the pointing state text was added in the original Platform 6 release.
Issues Fixed - Platform
  • AstroUtils trace was permanently wired on, it now respects the Trace switch
  • Transform computation accuracy has been improved for J2000 to Topocentric and reciprocal conversions.
  • Transform now always returns up to date values when result values are repeatedly read without changing input values e.g. when reading Azimuth or Elevation without changing the J2000 RA and Dec values.
  • Astrometry.NOVASCOM.Planet now produces accurate values when the DeltaT property is set.
  • Astrometry.NOVASCOM.Planet - fixed a marshalling issue that prevented use from scripting languages through COM interop.
  • Astrometry.Kepler.Ephemeris - fixed an initialisation issue in that prevented calculation for minor planet bodies.
  • Fixed occasional installation failures due to the presence of non-standard permissions in the registry
  • DriverAccess, when used within an ASCOM client, now correctly handles hubs where DriverAccess has been used to present another driver. i.e. DriverAccess now recognises situations where it has already wrapped a driver response and removes that wrapping before processing it again.
  • Incorporated NOVAS 3.1 errata from the USNO NOVAS Support web site.
    • Fixed a bug in the NOVAS 3.1 SideralTime function that appeared only when when the CIO method was selected
    • The original NOVAS source code contained a bug in EphemClose that prevented the ephemeris file from being reopened; a work round had already been incorporated in previous Platform releases. This has now been replaced with the official fix from the NOVAS team.
  • POTH
    • Upgraded to Jon Brewster's latest version - V6.
    • Fixed issue in locales where point is not the decimal separator.
    • Fixed issue where slewing state was not read from the scope after a MoveAxis command was sent.
Issues Fixed - Developers
  • The Inno installer template generator created a test for the installed Platform version that only worked in countries where the decimal separator was the point "." character
  • The Telescope Templates now generate fully functioning TrackingRates classes that implement IEnumerable so that foreach loops work as expected.
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)
  • The NOVASCOM component iterfaces are now exposed as COM late binding interfaces only, early binding support has been removed. Exposure of early binding COM interop interfaces was unintentional; the core ASCOM team decided to revert to late binding for all interfaces in the original Platform 6 release. This has no impact on use of the .NET components or use from scripting languages.