Skip to content

Platform 6.4

Compare
Choose a tag to compare
@Peter-Simpson Peter-Simpson released this 26 Jun 12:50
· 1314 commits to master since this release
fbf96a8

Platform 6.4

This release contains a broad suite of changes and enhancements, including quite a lot of infrastructural work to use current releases of key tool sets.

The Platform installer has been tested on Windows XP, Vista, Windows 7 and Windows 10 and passes all of the inbuilt Diagnostics tests.

Leap second and DeltaUT1 Updates

  • The Platform can download current and announced future leap seconds from the Internet. Consequentially, the * Platform doesn't need to be updated when new leap seconds are announced or come into effect.
  • The Platform can download DeltaUT1 predictions for the coming 90 days from the Internet.
  • The SOFA and Transform components will use the updated leap second and DeltaUT1 values to ensure the highest accuracy.
  • The current leap second and DeltaUT1 values can be entered manually if Internet access is not available.
  • Configuration of these updates is through the Diagnostics Tools / Earth Rotation Data menu.
  • Several pre-configured Internet data source URIs are provided and the application will accept a user provided URI if required.
  • A Windows schedule task is provided to automate the download process on a configurable daily, weekly or monthly basis.
  • An automatic update can be triggered manually from the Diagnostics application.

Platform Component Changes

  • Rotator Simulator - The relative Move command has been improved so that relative moves outside the range -360 to 360 are rejected while moves inside the range -360 to +360 are accepted with the target forced to the range 0 to 360. This matches the specification more accurately; thanks to Steve Barkes for finding this.
  • Focuser Simulator - Now has a short delay after a move before IsMoving returns false.
  • Focuser Simulator - Now has a logging function and check box to enable this.
  • DeltaT and DeltaUT prediction modeling was updated in April 2018 with the latest USNO data, which is considered good for at least 1 year.
  • Diagnostics - Now has an option to automatically open the log file at the end of the test sequence.

Platform Documentation Changes

  • Telescope.DeclinationRate was updated to reference SI seconds as agreed on ASCOM Talk in March 2017.
  • Telescope.RightAscensionRate was updated to reference its units as seconds of RA per sidereal second as agreed on ASCOM Talk in March 2017.
  • Telescope Sidereal tracking rate was updated to angle per SI second as agreed on ASCOM Talk in March 2017.
  • Camera.CCDTemperature was updated to allow CCD temperature to be returned even if there is no cooler.
  • Corrected spelling of twilight throughout Platform help.

Platform Infrastructure and Maintainability Improvements

  • The ASCOM open source license text has been added to the Platform SubVersion repository to reflect Open Source norms.
  • All components are compiled with Visual Studio 2017 and built with the latest tool set.
  • The help compiler has been updated to the current version.
  • Installaware has been updated to a much more recent version (InstallAware X6), removing some bugs and allowing additional features to be employed.
  • The installer now has a splash screen.
  • Except when an error occurs, the Platform and Developer installers no longer produce balloon messages. Messages now appear on the setup dialogue instead.
  • The progress bars have been re-implemented so that they move consistently from 0 to 100%
  • All C++ executables have been recompiled against the VS2017 C++ libraries.
  • The C++ v10.0 library installers have been removed and replaced with v14.0 library installers.
  • The SOFA implementation has been refactored to improve maintainability and incorporated in the main Platform solution.
  • Installer - Now names uninstall logs as such rather than naming them install logs, which was confusing.
  • String comparison operations have been revised to best practice throughout the Platform to ensure expected operation in all locales.

For Developers

  • The Focuser interface has been revised from IFocuserV2 to IFocuserV3.
    • The IFocuserV3.Move method is now required to work and not to throw an InvalidOperationException when a move is commanded while temperature compensation is enabled.
    • Any device specific operations required to effect the move should be hidden from the client application. e.g. if temperature compensation needs to be temporarily disabled while the move is made and subsequently re-enabled.
    • No method signatures have been changed in IFocuserV3.
  • A gain control has been added to the Camera test application.
  • COM error numbers are now included in documentation so that these can be thrown directly if required, e.g. by a Delphi application.
  • The Template Wizard has been uplevelled to v6.4.
  • There is now an additional paragraph in the Time Relationships help section that clarifies how DeltaT, DeltaUT, UT and TT move relative to each other.
  • A new caching component (ASCOM.Utilities.Cache)has been added to make it easier for driver authors to build robust drivers that can handle the high polling rates that some applications utilise. The cache provides a time based expiry approach, where stale items are automatically removed after expiry. In addition the cache provides an easy to use throttling mechanic that can slow aggressive application polling to acceptable rates for the driver and hardware. Further information is provided in the remarks section of the Cache class and the property / method documentation.
  • Driver Templates - Not implemented exceptions have been removed from all Dispose methods and replaced with TODO: items.
  • All references to "local topocentric" have been replaced with "topocentric" because topocentric already implies local.
  • A compile time warning is now displayed if the EquatorialCoordinateType.equLocalTopocentric enum value is used in an application or driver. The warning recommends using the new EquatorialCoordinateType.equTopocentric value instead. This is a non-breaking change, older applications and drivers will continue to work without recompilation.
  • Inno scripts created by the Driver Installer Generator have been revised so that they will work on all Platform versions when created with Inno 5.5.9 and later. This is to work round a security change made to Inno in version 5.5.9.