Conform Universal - 3.0.0
Peter-Simpson
released this
12 Jul 12:55
·
55 commits
to main
since this release
Introduction
Conform Universal (ConformU) is a cross-platform tool to validate that Alpaca Devices and ASCOM Drivers conform to the ASCOM interface and Alpaca protocol specifications. ConformU runs natively on Linux, Arm, MacOS and Windows and supersedes the original Windows Forms based Conform application, which will not be developed further.
Highlights
This release can check conformance of drivers and Alpaca devices that implement Platform 7 Interfaces in addition to testing Platform 6 drivers and devices.
Changes since version 2.1.0
-
Application
- Updated to check Platform 7 interface versions for conformance.
- Conformance test results are preserved rather than cleared when navigating between application pages.
- A driver / device stress test feature has been added to the home page that will continuously loop the conformance test until the STOP button is pressed.
- The Alpaca protocol check now accepts not implemented errors as well as 400 errors in standard (not strict) mode.)
- A timing report is now displayed at the end of the conformance test showing how long each interface member took to complete. Each time is compared to one of three response time targets:
- 0.1 second for state reporting properties
- 1 second for all other properties except for synchronous methods, Camera.ImageArray and Camera.ImageArrayVariant.
- 10 minutes for synchronous methods, Camera.ImageArray and Camera.ImageArrayVariant.
- The log file location is now shown in the status bar at the end of a conformance test
-
Camera
- Camera - Asynchronous operation is now required for the ICameraV4 StartExposure, StopExposure and PulseGuide methods.
-
CoverCalibrator
- The new CoverMoving and CalibratorChanging properties are now used as completion properties for ICoverCalibratorV2 devices.
- Improved ordering of cover open / close tests, depending on the initial open/closed state of the cover.
- Added support for testing Platform 7 and later async interfaces.
- Added a CalibratorOff() call to post-run checks.
-
Telescope
- The extended rate offset tests have been optimised to reduce time spent slewing.
- The presentation of extended rate offset test outcomes has been improved.
- Rate offset test high and low test values are now configurable and the defaults are more realistic.
- The Park test now slews to a "non-parked" test position before calling the Park() method.
- Added full descriptions of the RightAscensionRate and Declination rates that Conform uses to the log.
- Added tests to confirm that InvalidOperation errors are returned by ITelescopeV4 devices when setting offset rates and the drive rate is not sidereal.
- In ITelescopeV4 and later interfaces, only ParkedException is now accepted when rejecting commands like SlewXXX and MoveAxis instead of any exception type. Details are now provided on exceptions thrown when parked .
- The DestinationSideOfPier test now slews to HA +3.0 before testing target destinations at HA +2.0.
- SideOfPier/DestinationSideOfPier tests have improved debug messaging and selection of test target coordinates.
- Slewing is now allowed to be TRUE for up to 30 seconds after AbortSlew().
- Added a configurable wait for Slewing to become false after every command to stop movement using the Move(axis, 0.0) method.
-
Dome
- Added tests to confirm that AbortSlew() stops in-progress azimuth and altitude movement.
-
Rotator
- The test code has been reviewed and validated.
Bug fixes
- Fixed bug introduced in 2.1.0 where log files on UNIX systems appeared in the Documents folder rather than in Documents/ascom.
- Fixed bug introduced in 2.1.0 where NotImplemented errors returned by Alpaca devices in mandatory members were not recorded correctly.
- Ensure that any Alpaca Protocol Check information messages are reported when the "Issue, Information and OK" display option is selected.
- The Alpaca protocol checker will no longer auto-run when the target device is a COM device.
- Telescope - Fix incorrect status messages during RA/Dec rate tests.
- Telescope - Omit the test to abort a SlewToCoordinatesAsync operation when CanSlewAsync is false. Fixes issue #13.
- Telescope - Fixed bug when selecting a test declination in the southern hemisphere.
- Dome - Fix bug in Altitude movement AbortSlew() test where the dome was commanded to move in azimuth rather than altitude before issuing AbortSlew().
Installers
All installers are completely self-contained and do not have dependencies on any other packages.
- Windows x86 / x64
- The Windows installer (ConformU.X.Y.Z.Setup.exe) supports both 32bit and 64bit OS and will create the expected start menu entries. Optionally it will create a desktop icon.
- Windows Arm64
- The Windows Arm64 installer ConformUWindowsArm64-Untested.zip is a zip archive that must be manually uncompressed in the desired application location. ConformU.exe runs the application . This version hasn't been tested, feedback welcome!
- MacOS
- The MacOS application (ConformU-Installer.dmg) is supplied as a DMG file that self mounts when double clicked and displays a basic GUI. Using this you can drag and drop the application to the Applications folder and can then use it as normal.
- Linux
- The Linux 64bit and Arm 32/64bit versions are supplied as compressed archives (conformu.linux-X.tar.gz) that need to be expanded using tar -xf before use. The application can then be run from the command line by the command ./conformu