Releases: ASCOMInitiative/ASCOMPlatform
ASCOM Platform 6.6 - Service Pack 1
The installers are located in the "Assets" section at the end of these release notes
Platform 6.6 SP1 Highlights and Dependencies
Installer reliability and user experience have been improved.
Device Hub and many other Platform components have enhancements and bug fixes.
The driver templates have been removed from the Developer Installer and are now available as a Visual Studio extension, downloadable from the Visual Studio Marketplace.
The local server template has been enhanced, providing an improved starting point for new drivers.
The Platform requires the following Windows and .NET versions:
- Windows 7 SP1 or later
- .NET 3.5 to be installed (Windows 7 and 8 only. .NET 3.5 will be activated automatically on Windows 10 and 11.)
- .NET 4.8 to be installed
Changes for Everyone in Platform 6.6 SP1
- Platform installer
- The installer now runs 32bit and 64bit functional tests after installation to confirm that installation has succeeded.
- .NET 3.5 support will now be enabled automatically on Windows 10 and 11, if required.
- Thanks to a generous donation by InstallAware, the Platform and Developer Components installers are now generated with the latest InstallAware version that mitigates the InstallAware Security Issue announced in July 2022.
- Installers now have the build number as part of the filename.
- Astrometry - The built-in DeltaT predictions have been updated to run until July 2023.
- Chooser - An improved message is given if a driver fails when attempting to display its Setup dialogue.
- Camera Simulator - ImageArray delivery is now faster through use of parallel processing.
- Diagnostics Connection Tester - Partially typing the name of the device type in the device type field now filters the list. e.g. pressing c shows just Camera and CoverCalibrator.
- Device Hub
- Added U/I support for displaying accumulated move amount for relative and absolute focusers.
- Added direct move amount for relative focusers.
- Now shows a wait cursor during Connect operations in case it takes a long time to complete.
- Circle buttons have been enhanced to change color when hovered over or pressed.
- Device hardware will no longer be disconnected when all connected clients have disconnected, if DeviceHub was started interactively.
- Device properties can no longer be changed programmatically if a device is connected via the U/I.
- Interactive disconnects are now prevented when there are connected clients.
- Disconnection delays due to garbage collection have been reduced.
- GuideRateDeclination and GuideRateRightAscension have been added to the DeviceHub parameters view.
- Expanded panels can now be restored at startup.
- Activity Log will no longer show an icon on the Taskbar.
- Fast polling is now extended for 3 seconds after completion of a slew for all devices.
- Added improved support for offset tracking, including viewing current sidereal tracking rate offsets and changing those offsets.
- OpenWeatherMap Driver
- The WindGust property is now functional.
- The data caching interval is now configurable.
- The installer is now signed.
Platform Issues fixed in Platform 6.6 SP1
- Transform - Fix logic error in automatic site pressure calculation.
- NOVAS 3.1 - No longer creates debug logs on the C:\ drive (Fixes bug introduced in the Platform 6.6 release).
- Dynamic Clients
- No longer add an empty basic authentication header to requests when authentication is not required.
- Alpaca device HTTP setup pages, accessible from the Dynamic Client Setup dialogue, now work when the device uses an IPV6 address.
- Discovery now works correctly with certain VPNs installed.
- Platform Installer
- Improved resilience when expected registry settings are absent.
- The EarthRotationParameters executable now runs as expected if the operating system prevents it from creating a log file.
- SOFA and NOVAS C components are now compiled using Visual Studio 2022 tooling.
- The SOFA and NOVAS C components are now compiled using static linking to eliminate the need to distribute and install the Microsoft Visual C++ runtime library. The requirement for a fully functioning version of the library to be installed on the user's PC has recently caused issues for some users.
- Device Hub
- Improved DeviceHub user interface error trapping for all 3 devices.
- Device manager connect/disconnect logic is now improved.
- Fixed a minor bug in logging of an empty SupportedActions property.
- The Telescope driver now sets Target RA and Dec through the telescope manager to ensure that they are immediately available to the DomeManager if a SlewToTarget is initiated.
- Now includes improved exception handling and logging by device manager classes.
- Fixed issue with dome slewing interruption.
- Telescope Simulator
- Corrected East/West button movements.
- Fixed East/West PulseGuide commands to move in the right direction.
- Fixed the DriverVersion command to return the version number in the expected format: X.Y.
- Diagnostics
- The FilterWheel simulator tests now work when any number of filters are configured for use. Previously, they would fail if the maximum number of filters was 3 or less.
- Fixed issue when testing in a geography that has a non-integer time offset from UTC.
Changes for Developers in Platform 6.6 SP1
- The Driver Templates have been removed from the Platform Developer components installer and are now delivered as a Visual Studio extension that is available through the Microsoft Visual Studio Marketplace. (Search for ASCOM in the Visual Studio Extensions / Manage Extensions menu dialogue to find and install the new template extension.) This change moves template delivery from a deprecated, legacy, mechanic to the mechanic supported by Visual Studio 2017, 2019 and 2022.
- Developer Template Updates
- Unnecessary COM registration functions have been removed from the C# driver templates.
- The local server template has been extensively revised to create a better stating point. The template provides a three level architecture:
- Driver instance - Clients receive an instance of this class with every COM connection made to the driver. (One instance per client COM connection).
- Hardware implementation - A singleton class for each driver that is used by all driver instances to handle device specific behaviour. This creates a single source of data truth that is shared by all clients of this particular driver. (One instance per unique driver in served by the local server).
- Shared Resources - A singleton class containing resources used by all drivers served by the Local Server. This is likely to include the communications mechanic between the PC and the device hardware. (One instance that serves all drivers served by the local server).
- The VB and C# in-process driver templates now target x86 ratter than MSIL so that they register as 32bit objects when run /debugged in VS2022, which is a 64bit application.
- All templates now include XML help comments to assist developers in implementing methods.
- Generated project Setup dialogues now specifically say if they cannot find any COM ports on the PC.
- Generated project Setup dialogues now use the Platform's extended COM port detection rather than just reporting COM ports detected by .NET.
- n the local server template, all calls to the device hardware are wrapped in try:catch blocks.
- In the local server template, every member, except for Connected, DriverInfo, DriverVersion, InterfaceVersion and Name, checks that the device is connected before actioning the call.
- Documentation Updates
- All properties now have NotConnectedExceptions and DriverExceptions, as appropriate, with consistent wording.
- The SupportedActions description has been extended to explain the property's purpose and use.
expected exception are now consistent between Interface definitions and DriverAccess definitions. - IFocuser.Link description has been improved.
- The developer help file now has links to extended developer information on the ASCOM Standards web site.
- Added missing InvalidValueException to ITelescope.DeclinationRate.
Development Issues fixed in Platform 6.6 SP1
- Template Installer - Building a test console application no longer results in a driver wizard null reference exception.
- Corrected copy/paste error in IntelliSense text for Profile.WriteValue.
- Fixed exception in generated code when local PC has no COM ports.
Installer SHAs
-
Platform
- SHA256: 6bc739c670c3c04a0bad2bd76239bc827eb1b81138f79399589f602e270bb6da
- SHA1: 35b0cacddca05968ecddcf72fe6d02e59c1b7771
-
Developer Components
- SHA256: 893c621c8610dde780d49964cf5ae3f1c91d74093fb15d2e4dcc11e1071a51a1
- SHA1: b6c547b963299b00967a2a8cad39b270039566c6
ASCOM Platform 6.6
The installers are located in the "Assets" section at the end of these release notes
Platform 6.6 Highlights and Dependencies
Alpaca devices can be discovered and selected through the Chooser.
A new combined telescope cover and camera calibration device type has been introduced together with a simulator and the rotator interface has been enhanced to support syncing.
Device Hub replaces the POTH, Hub, Pipe and ASCOMDome hubs.
- Requires Windows 7 SP1 or later
- Requires .NET 3.5 to be installed (Windows 7, 8) or enabled (Windows 10, 11)
- Requires .NET 4.8 to be installed
Changes for Everyone in Platform 6.6
- Telescope Simulator
- Client supplied TelescopeAxes values are validated before use
- The Tracking state is restored after Park and Home are called.
- Camera Simulator
- PulseGuide directions are validated before use.
- Device Hub
- Added a setting to keep Device Hub as the topmost application.
- Polling frequency is increased for the duration of a slew.
- Implements a stricter interpretation of the the Park command requirements.
- The redundant "Chooser" buttons on the ObservingConditions Simulator and ObservingConditions Hub test applications have been removed and automatic polling can now be toggled on and off.
- The mechanic to bring Simulator setup dialogues to the front of screen has been improved.
- DeltaT predictions have been extended to October 2022.
- The Camera client now supports the ImageBytes mechanic. ImageBytes Concept and Implementation
Platform Issues fixed in Platform 6.6
- The Dome Simulator now throws ASCOM DriverExceptions when appropriate rather than using the original VB6 Err.Raise mechanic.
- Negative offsets can now be specified in the FilterWheel setup dialogue.
- Device Hub
- Telescope. Slewing remains true if an associated Dome is still in motion.
- Dome slaving is more resilient
- The telescope driver rejects method calls when the scope is being parked or unparked.
- Corrected logic to support aborting a fixed slew
- Ensure that telescope side-of-pier is only calculated for a German Equatorial mount.
- Fix Shutter position reporting & disable Open/Close Shutter button when CanSetShutter is False.
- Dynamic Clients
- The Camera, Dome and Focuser Dynamic Clients now send every parameter value in the Invariant Culture, as required by the Alpaca specification, this avoids parsing issues in locales where the decimal separator is not the point character.
- All clients are now tolerant of missing "Value" and ErrorMessage fields in returned responses
- A video utilities Diagnostic test failure that occurred on Windows 7 64bit when the text size was above 100% has been fixed
- Registry handles are now properly released in AstroUtils and EarthRotationParameters
- NOVAS ephemeris calculations have been made more reliable.
- Chooser
- Drop-down list management has been refined to avoid an issue in AllSkEye
- Platform Installer
- The mechanic used to set the ASCOM Profile registry ACL has been improved to avoid installation issues observed on some PCs.
- The mechanic used to find the localised name of the BUILTIN\USERS group has been changed to avoid installation issues that a small
- number of users experienced if their WMI installations were not fully functional.
- All installer support executables are now code signed to avoid issues with some anti-virus programs.
- The RemoveASCOM executable is now code signed.
Changes for Developers in Platform 6.6
- The SOFA component has been updated to use IAU SOFA release 18.0 - 12th May 2021
- Added a SitePressure property to Transform to improve accuracy when refraction correction is enabled.
- The Local Server Driver Generator now creates a project that uses a more secure mechanic to locate drivers that are to be served. A separate project for each driver is no longer required.
- The local server ReadMe file has been extensively updated to reflect the new driver location mechanic.
- Driver files created by the driver generator now include the device type to enable easy identification.
- Clarify Camera.ImageArray element ordering.
- Updated comments in the Switch driver template.
Development Issues fixed in Platform 6.6
- Links to support forums in the developer templates have been updated to reference the Groups.Io forum.
- An inconsistency in the Camera.SensorName documentation has been resolved.
Installer SHAs
-
Platform
- SHA256: bee24a7ff76e337f4d7759e109f7f8b9f78b53f6a4337326dae6a12497dba237
- SHA1: 103d8f61128a71479c02377507761e4dd1c06224
-
Developer Components
- SHA256: 353d22b3274911a86f846b69fdfc4a3b5de5c8f54147173ec79a06ead1af5bcd
- SHA1: 2a932ee176738c053401ac3d59359224ba10db8a
ASCOM Platform 6.5 - Service Pack 1
The installers are located in the "Assets" section at the end of these release notes
Important Announcement
We strongly recommend that you update to this release if you are using the initial Platform 6.5 release.
This is because of a bug that was introduced in the Transform component during Platform 6.5's development. If you are running Platform 6.4, we consider updating to Platform 6.5 SP1 as discretionary, just determined by your need for the new features.
Platform 6.5 Highlights and Dependencies
Alpaca devices can be discovered and selected through the Chooser.
A new combined telescope cover and camera calibration device type has been introduced together with a simulator and the rotator interface has been enhanced to support syncing.
Device Hub replaces the POTH, Hub, Pipe and ASCOMDome hubs.
- Requires Windows 7 or later
- Requires .NET 3.5 to be installed (Windows 7, 8) or enabled (Windows 10)
- Requires .NET 4.8 to be installed
- ASCOM Remote (if required) must be at least version 1.6.7500.21910 https://github.com/ASCOMInitiative/ASCOMRemote/releases
- Conform (if required) must be at least version 6.5.7500.22515 https://github.com/ASCOMInitiative/Conform/releases
Changes for Everyone
- The Platform and Developer installers are now code signed.
- The Platform and Developer installer executable names now include SP1 to clearly differentiate them from the Platform 6.5.0 installers.
- The Platform installer requires write access to the user's Documents folder and, if this is not permitted, will recommend that installation is abandoned. Some situations where write access is known to be restricted are:
- Microsoft's Controlled Folder Access capability is enabled.
- An anti-ransomware program has restricted access.
- Windows is run in a Parallels virtualisation environment under MacOS and the Platform installer is located in the Documents folder that maps directly to the user's MacOS Documents folder. Running the installer from a "native" Windows folder within the Parallels virtual machine, e.g. a folder on the Windows C: drive, works fine.
- Platform simulators and hubs now have 6.5.1.0 assembly version numbers to reflect the service pack release.
- The Hub, Pipe, POTH and ASCOM Dome driver profiles are now backed up by the installer before removal. This preserves configuration information for re-use in Device Hub, or the legacy drivers if these are reinstalled at a later date. The configuration information is stored in the "Platform Driver Backups" Profile key and can be viewed through Profile Explorer.
- Device Hub
- Side Of Pier and Destination Side Of Pier will now be calculated by Device Hub if not available from the downstream driver.
- The dome shutter can now be opened and closed when slaved.
- Exceptions are now trapped and logged during dome slaving calculations.
- Improved RotarySlider control use to support non-zero minimum value and to allow both minimum and maximum values to be selected by dragging the rotary dial.
- The configuration persistence mechanic now tolerates a corrupted settings file.
- The dome setup and telescope direct slew dialogues now uses text boxes instead of value controls.
- The main window now displays help on how to expand all three expanders when in expansion mode.
- There is now a confirmation message when the set park button is clicked.
- All references to the Yahoo ASCOM Talk forum have been replaced with references to the new Groups.IO forum.
- All links referencing the ascom-standards.org web site now use HTTPS instead of HTTP.
- DeltaT predictions, good to December 2021, have been revised based on the latest IERS predictions.
- The SOFA component has been updated to use the latest IAU 21st July 2020 - Version 16 SOFA release.
- Chooser Properties Button - detailed failure information will now be provided if a driver does not connect correctly.
- The Camera simulator description now reflects that it supports ICameraV3
Platform Issues fixed
- A serious bug was introduced in the Astrometry.Transform class during Platform 6.5 implementation, which prevented a single instance from being used for multiple transforms. The bug has been fixed and Transform now works as it did in Platform 6.4.
- Writing to the Alpaca Dynamic Client Camera.Offset property now works correctly.
- In October 2020, NASA disabled anonymous access to its earth rotation data files and this broke the Platform's update capability. This release restores functionality by mirroring the files on the ascom-standards web site and downloading them from there.
- Parsing of earth rotation data files is more robust when files do not contain expected data.
- Corrected a typo in the message given if a disconnect fails when using the Choose and Connect to Device form. Thanks Marco!
- The Platform installer now:
- Works properly on machines whose PC Name contains a space character.
- Handles unregistering drivers more gracefully.
- Checks that the Windows Task Scheduler is enabled before attempting to create the earth rotation data update scheduled task.
- Sets the required registry Profile store ACL on every install rather than assuming that it is correctly set when upgrading from a previous Platform version. Access to the Profile store is confirmed after setting the ACL and any issues will be reported by the installer.
- Removes simulator COM entries when uninstalled.
- Lists errors more clearly on the closing screen.
- Device Hub
- Improved support for locales that use comma as the decimal separator.
- Profile settings will now be preserved when upgrading.
- SideofPier exceptions will now be forwarded to the client.
- SlewDomeToAzimuth now responds with the correct exception if an invalid azimuth value is requested.
- The telescope Slewing flag is now correctly maintained when the mount is pulse guiding.
- Telescope set park functionality now persists the set value.
- Profile Explorer - Renaming a key now retains its subkeys and their values.
- Diagnostics:
- Now correctly reports the Windows 10 operating system version.
- A rare exception that occurred when recursing registry keys has been fixed.
Changes for Developers
- Comments in the driver templates are now clearer on how to implement the CommandXXX methods.
- The ObservingConditions driver template code for the TimeSinceLastUpdate and SensorDescription methods has been refreshed to ensure that the VB and C# templates have identical functionality.
- Improved TraceLogger messaging if an instance is used after being disposed.
Development Issues fixed
- Recent versions of Visual Studio have started trapping NullReferenceExceptions that previously were not caught. Utilities.Profile has been recoded to avoid these.
- The CloudCover property has been added to the TimeSinceLastUpdate and SensorDescription methods in the ObservingConditions driver template.
- The developer installer repair option no longer loops indefinitely.
- DriverAccess now returns PropertyNotImplementedExceptions for the new "offset" properties when an ICameraV2 driver is in use.
- The new IRotatorV3 members in DriverAccess now return better formatted "not implemented" messages when an IRotatorV2 driver is in use.
- Clients will now see the correct type of NotImplementedException (PropertNotImplementedException or MethodNotImplementedException) when Alpaca devices report that a member is not implemented.
Installer SHAs
- Platform
- SHA1: 7B0D5F8F8CDDA70C9FC3DA93283451F34EC3B94D
- SHA256: 5CA76B235618E7A3A9A34208EE99C610EC3C4A2BADCE32F214901D34572676C1
- Developer Components
- SHA1: SHA1: 40C8EFB3A0538CFC15BDB15B5A7B2C3F007984DE
- SHA256: 6A68427907826A963042C5F96F220896BA387D672FC2A5607CC05E572174EF3F
ASCOM Platform 6.5
The installers have been removed from this release, please use the Platform 6.5 Service Pack 1 installers.
Highlights and Dependencies
Alpaca devices can be discovered and selected through the Chooser.
A new combined telescope cover and camera calibration device type has been introduced together with a simulator and the rotator interface has been enhanced to support syncing.
Device Hub replaces the POTH, Hub, Pipe and ASCOMDome hubs.
- Requires Windows 7 or later
- Requires .NET 3.5 to be installed (Windows 7, 8) or enabled (Windows 10)
- Requires .NET 4.8 to be installed
- ASCOM Remote (if required) must be at least version 1.6.7500.21910 https://github.com/ASCOMInitiative/ASCOMRemote/releases
- Conform (if required) must be at least version 6.5.7500.22515 https://github.com/ASCOMInitiative/Conform/releases
Changes for Everyone
- Chooser
- Alpaca devices can be discovered by the Chooser and drivers are automatically created for them.
- Chooser can be configured to display more information about drivers than previously.
- The Chooser dialogue width can be increased if required.
- Telescope Covers and Calibrators
- Telescope covers and camera calibration devices are now supported through a new CoverCalibrator interface.
- A CoverCalibrator simulator has been added to the Platform.
- A new Telescope / Dome / Focuser hub called Device Hub has been added to the Platform.
- This makes the POTH, Hub, Pipe and ASCOM Dome Hub components obsolete and we recommended that you migrate to the Device Hub because the obsolete hubs will be removed in a future Platform update.
- The Diagnostics tool is now more tolerant of simulator configurations that are not set to default values.
- Tracing of Platform registry use now has its own independent trace enable / disable flag.
- SOFA has been updated to the current 22nd July 2019 version.
Platform Issues fixed
- The Diagnostics tool is more tolerant of simulator configurations that are not set to default values.
- All local server simulators now start just one instance when used concurrently from both normal and elevated clients.
- Camera simulator memory management has been significantly improved.
- ASCOM Utilities
- Utilities components have been adapted to work when called by installers that use Inno 5.5.9 and later.
- TraceLogger is better behaved when called after it has been disposed.
- A registry handle leak in the Profile component has been fixed.
- Transform now validates supplied Julian dates.
- ObservingConditions Hub and Simulator
- The hub TimeSinceLastUpdate property now returns the value from the underlying ObservingConditions device.
- The simulator now interprets AveragePeriod as being in hours, per the API specification, rather than minutes as in the original release.
- Telescope Simulator
- The TrackingRate property now validates the supplied rate.
- IsPulseGuiding now returns False after a synchronous move when dual axis pulse guide is disabled.
- The CanOptics and CanSlewAsync configuration values are now persisted correctly.
- RightAscensionRate and DeclinationRate movements are no longer 14,400 times faster than expected.
- MoveAxis movements are no longer 4 times faster than expected
- Tracking corrections are no longer applied when MoveAxis is in effect
- The CheckFoUpdates script now works again following ascom-standards.org move to HTTPS.
Changes for Developers
- Interface Standards and Components
- ICoverCalibratorV1 has been added to Interfaces and DriverAccess.
- IRotatorV3 has been added to Interfaces and DriverAccess.
- Revision: The Rotator Position property and MoveAbsolute method behaviours are different when IRotatorV3.CanSync is true.
- Clarification: The Focuser temperature unit is degrees Celsius.
- Clarification: Telescope.PulseGuide may throw an InvalidValueException if called when an incompatible command is already underway e.g. a slew is in progress.
- Clarification: IDomeV2 wording has been clarified for many properties and methods.
- An ASCOM.Utilities.AlpacaDiscovery component has been added. This enables .NET and COM clients to conduct searches for Alpaca devices through the Alpaca network discovery protocol. The associated ASCOM.Utilities.AlpacaDevice, ASCOM.Utilities.ConfiguredDevice and ASCOM.Utilities.AscomDevice data classes provide details of the Alpaca devices discovered on the network and of the ASCOM devices that can be accessed through them.
- The NOVASCOM and Kepler components are no longer flagged as deprecated because they provide unique functionality within the Platform.
- The version of ASCOM Controls installed by the Platform has been marked as deprecated. An updated version of the controls is available as a NuGet package. The displayed message contains a reference to the new TA.Winforms.Controls NuGet package.
- The Product Version tag of all executables is now the Platform Git build SHA.
- Diagnostics now flags an error if the installed Platform and Developer components versions are different.
- The deprecated NOVAS2, NOVAS2COM and NOVAS3 components no longer appear in the developer help file.
- DriverAccess can now handle ArrayLists from .NET Core drivers.
- Templates and the Driver Install Script Generator
- Improved VS2019 support - driver templates can be found more easily by selecting ASCOM in the project type dropdown on the new project dialogue.
- The TrackingRates class in VB driver template is now aligned to the C# template code.
- The local server template has been updated so that simulators will start just one instance when used from normal and elevated clients concurrently.
- The TraceLogger in the C# template is now an instance variable because of issues arising when disposing the original static TraceLogger variable.
- CoverCalibrator device support has been added to the templates and the Driver Install Script Generator.
- The required minimum Windows version has been set to Windows 7 using a format that works in Inno 6.
- The support URL has been changed to the new ASCOM Groups.io forum.
Development Issues fixed
- The required minimum Windows version in the script created by the Driver Install Script Generator has been set to Windows 7 using a format that works in Inno 6.
- The support URL in the script created by the Driver Install Script Generator has been changed to the new ASCOM Groups.io forum.
- Developer project template creation is more robust
- IVideo utilities now returns the correct array format when creating an ImageArray from a bitmap
- Video
- IVideo utilities helpers for creating bitmaps now work with both row-major and column-major formats.
Platform 6.4
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.