Version 6.0
Key Changes in 6.0 - For Everyone
  • New full platform installer. Removes the need to install Platform 5 and then the 5.5 update.
  • Driver installers that did not run in locale's where "." is not the decimal separator will now run.
  • Incorrectly registered drivers are now identified by the Chooser and report why rather than generating difficult to assess exception messages.
  • 32bit only drivers will now be identified by the Chooser if selected by a 64bit application and an appropriate message will be given.
  • Flexibility - Capability for driver authors to implement their own commands (Action and SupportedActions methods)
  • Supported Device Types
    • New SafetyDevice device definition
    • New CameraV2 device definition
    • All device types now support a common set of core capabilities
      • Action - Execute a device specific capability defined by the driver author
      • CommandBlind - Send a device specific control code to a device expecting no response
      • CommandBool - Send a device specific control code to a device expecting a boolean response
      • CommandString - Send a device specific control code to a device expecting a string response
      • Connected - connects and disconnects the controlled device
      • Description - Long description of the device being controlled
      • Dispose - Clean up and release any driver resources prior to driver shutdown
      • DriverInfo - Long description of the driver controlling the device
      • DriverVersion - m.n format driver version number
      • InterfaceVersion - Version number of the ASCOM interface that the driver supports
      • Name - Short display name of the driver
      • SetupDialog - DIsplays the driver / device configuration screen
      • SupportedActions - List of actions supported by this device
  • New simulators authored in .NET, compatible with 32 and 64bit operating systems.
  • Enhanced Profile Explorer with right click features in both left and right hand panes
  • Tool to tell you when updated components are available (Not in current build)
  • New full implementation of the USNO NOVAS3 library.
  • Improved recognition of serial ports and the ability to hide specific ports from the available list if required.
  • Device Interface version numbers have been increased by 1 to reflect introduction of the common core capabilities
  • Separate developer tool installer, that can be updated independently of the core platform, allowing development tools to be continuously improved without requiring platform users to install updated platform versions.
Key Changes in 6.0 - For Developers
  • Enhanced Client Toolkit that transparently handles Platform 5 and Platform 6 conformant drivers providing a consistent interface for .NET application developers.
  • Enhanced version of Conform to confirm adherence to the new Platform 6 interfaces
  • Driver Templates - New templates updated for Platform 6 and creating multi-instance drivers
  • Settings Provider component
  • Developer Documentation
    • Architecture diagram
    • How to create a local server driver
    • How to create a multi-instance driver
    • NOVAS 3 Guide
    • Scripting documentation
  • Full implementation of NOVAS3 including:
    • A DeltaT method valid for the years 1650 to 2050
    • The JPL DE421 Planetary and Lunar Ephemeris (William M. Folkner, James G. Williams and Dale H. Boggs - IPN Progress Report 42-178 • August 15, 2009.)
    • Compensation for movement of the CIO in RA using supplied NOVAS data
    • The AE98 readeph routine to parse locally held minor planet ephemeris files.
  • ASCOM Controls - reusable components that can be embedded in forms to ease development of common tasks
    • LED Indicator - a simple red / green indicator supporting various blink cadences
    • Annunciator - Displays status with a standard look and feel
  • Separate developer components installer
  • TraceLogger - Has a new menu option to return the full path name of the log file being created.
  • TraceLogger - New LogMessageCrLf method that respects carriage returns and line feeds in messages and doesn't translate these to hex display characters.
  • Profile - Has four new methods to retrieve and set all values in a device profile in one operation. GetProfileXML and SetProfileXML work with an XML encoding of the profile while GetProfile and SetProfile work with a new ASCOMProfile object that contains all entries in the profile and provides simple methods to read and set values.
  • Additional logging for serial component accesed through DriverHelper.Serial.
  • Serial - Now has an RTSEnable property to control whether RTS is asserted when using RTS/CTS hardware handshaking.
  • Conform - An updated version that supports both Platform 5 and Platfom 6 drivers is available as a separate download. Conform is no longer distributed through the Platform itself so that it can be updated regularly without requiring a full Platform update
Issues Fixed
  • Installer - Now applies required security attributes every time the installer is run, regardless of whether the profile is already migrated. This ensures correct attributes are applied for early adopters whose profile was migrated by an early "HelperNET" install.
  • MigrateProfile - Now applies the "Full Control" security attribute to the entire ASCOM shared file area where the Profile is stored to remove access control issues seen by some people.
  • NOVAS2 - sun_eph is now accesible.
  • Profile - Improved resilience to transient operational issues
  • Profile - Improved recovery from profile file corruption
  • Profile - Fixed exception thrown when a calling application has no version number of any kind
  • Profile - AbandonedMutexExceptions are now suppressed because they indicate issues in already terminated threads and not in the thread that receives the exception. Previous behaviour can be enabled for testing through a Trace menu option
  • Serial - Some installed COM ports were not returned by Serial.AvailableCOMPorts. This has been improved to actively test for COM ports rather than simply relying on the list of ports returned by the .NET Framework.
  • ShowPlatformVersion - Fixed failure when run on a 64bit OS
  • Timer - Now works consistently in console environments as well as windowed environments.
  • TraceLogger - Fixed exception thrown if object was disposed while writing
  • TraceLogger - Fixed low probability IOException thrown when creating the object if multiple traceloggers were created simultaneously in multi-threaded applications.
Policy Changes (For Developers)
  • Support for COM early binding, introduced in Platform 5, has been frozen to ease on-going platform development. The Current level of support will be retained for compatibility, but clients and drivers developed for Platform 6 and later should only use late bound COM binding.
Breaking Changes (For Developers)
  • RegisteredDevices(ByVal DeviceType As String) has been changed from a property to a method to maximise compatibility between .NET programming languages.