Conformance Checking Drivers

During development of your driver, and certainly before releasing it, you should use the Conform Universal tool (ConformU) to test your driver. Since it is frequently updated to check for newly discovered botches, you must download this separetrly from the Platform.

This tool performs a comprehensive set of tests on a driver to determine its conformance with the relevant ASCOM interface standard and works with both Alpaca drivers as well as ASCOM/COM drivers. It also tests some aspects of driver behavior against the reference implementation. ConformU is a really useful tool to use during development as it exercises all driver functionality. This means you don't have to develop your own set of basic test harnesses to test your driver.

Here are the results from Conform-checking the Omni Simulator's ASCOM/COM Focuser Simulator.

15:40:08.652 ASCOM Universal Device Conformance Checker Version 4.0.0.32688, Build time: Tue 15 October 2024 17:13:10
15:40:08.656 
15:40:08.657 Operating system is Windows 10 (22H2), Processor is Intel/AMD 64bit, Application is 64bit.
15:40:08.657 
15:40:08.657 COM Driver ProgID: ASCOM.OmniSim.Focuser
15:40:08.657 
15:40:08.659 CreateDevice                        INFO     Creating NATIVE COM device: ASCOM.OmniSim.Focuser
15:40:08.965 CreateDevice                        INFO     Successfully created driver
15:40:09.976 CreateDevice                        OK       Driver instance created successfully
15:40:09.977 
15:40:09.979 Connect to device
15:40:10.307 Connected                           OK       Connected to device successfully using Connected = True
15:40:10.822 Connected                           OK       Disconnected from device successfully using Connected = False
15:40:10.864 Connect                             OK       Connected to device successfully using Connect()
15:40:10.865 
15:40:10.877 Common Driver Methods
15:40:10.878 InterfaceVersion                    OK       4
15:40:10.880 Connected                           OK       True
15:40:10.897 Description                         OK       ASCOM Focuser Simulator Driver
15:40:10.904 DriverInfo                          OK       Focuser Simulator Driver
15:40:10.913 DriverVersion                       OK       0.4
15:40:10.920 Name                                OK       Alpaca Focuser Simulator
15:40:10.920 
15:40:10.920 Action                              INFO     Conform cannot test the Action method
15:40:10.958 SupportedActions                    OK       Driver returned an empty action list
15:40:10.959 
15:40:11.079 DeviceState                         OK       Received 4 operational state properties.
15:40:11.080 DeviceState                         OK         IsMoving = False
15:40:11.080 DeviceState                         OK         Position = 0
15:40:11.081 DeviceState                         OK         Temperature = 7.31
15:40:11.091 DeviceState                         OK         TimeStamp = 10/16/2024 3:40:10 PM
15:40:11.094 DeviceState                         OK       Found all expected operational properties
15:40:11.095 
15:40:11.095 Properties
15:40:11.102 Absolute                            OK       True
15:40:11.108 IsMoving                            OK       False
15:40:11.117 MaxStep                             OK       50000
15:40:11.122 MaxIncrement                        OK       50000
15:40:11.128 Position                            OK       0
15:40:11.137 StepSize                            OK       20
15:40:11.142 TempCompAvailable                   OK       True
15:40:11.149 TempComp Read                       OK       False
15:40:11.154 TempComp Write                      OK       Successfully turned temperature compensation on
15:40:11.155 TempComp Write                      OK       Successfully turned temperature compensation off
15:40:11.160 Temperature                         OK       7.31
15:40:11.161 
15:40:11.161 Methods
15:40:11.168 Halt                                OK       Focuser halted OK
15:40:18.207 Move - TempComp False               OK       Absolute move OK
15:40:32.244 Move - TempComp True V3             OK       Absolute move OK
15:40:40.289 Move - To 0                         OK       Reported position: 0.
15:40:41.312 Move - Below 0                      OK       Movement below 0 was not permitted. (Actually moved to 0)
15:41:13.336 Move - To MidPoint                  OK       Reported position: 25000.
15:41:45.359 Move - To MaxStep                   OK       Reported position: 50000.
15:41:46.372 Move - Above MaxStep                OK       Movement above MaxStep was not permitted. (Actually moved to 50000)
15:41:46.374 
15:41:46.374 Disconnect from device
15:41:46.387 Disconnect                          OK       Disconnected from device successfully using Disconnect()
15:41:46.388 
15:41:46.388 Conformance test has finished
15:41:46.389 
15:41:46.389 Congratulations, no errors, warnings or issues found: your driver passes ASCOM validation!!
15:41:46.390 
15:41:46.390 Timing Summary                               See Help for further information.
15:41:46.391 Timing Summary                               FAST target response time: 0.1 seconds, (configuration and state reporting members).
15:41:46.391 Timing Summary                               STANDARD target response time: 1.0 second, (property write and asynchronous initiators).
15:41:46.392 Timing Summary                               EXTENDED target response time: 600.0 seconds, (synchronous methods, ImageArray and ImageArrayVariant).
15:41:46.392 Timing Summary                               The log shows good and bad timings.
15:41:46.393                                              
15:41:46.393 Connect                                      At 15:40:10.857 Connect                  0.032 seconds. (STANDARD)
15:41:46.394 InterfaceVersion                             At 15:40:10.877 InterfaceVersion         0.000 seconds. (FAST)
15:41:46.394 Connected                                    At 15:40:10.880 Connected                0.001 seconds. (FAST)
15:41:46.395 Description                                  At 15:40:10.896 Description              0.015 seconds. (FAST)
15:41:46.395 DriverInfo                                   At 15:40:10.904 DriverInfo               0.007 seconds. (FAST)
15:41:46.396 DriverVersion                                At 15:40:10.912 DriverVersion            0.007 seconds. (FAST)
15:41:46.396 Name                                         At 15:40:10.920 Name                     0.006 seconds. (FAST)
15:41:46.396 SupportedActions                             At 15:40:10.958 SupportedActions         0.038 seconds. (FAST)
15:41:46.397 DeviceState                                  At 15:40:11.079 DeviceState              0.120 seconds. OUTSIDE FAST RESPONSE TIME TARGET: 0.1 seconds.
15:41:46.397 Absolute                                     At 15:40:11.102 Absolute                 0.005 seconds. (FAST)
15:41:46.398 IsMoving                                     At 15:40:11.108 IsMoving                 0.005 seconds. (FAST)
15:41:46.399 MaxStep                                      At 15:40:11.117 MaxStep                  0.008 seconds. (FAST)
15:41:46.400 MaxIncrement                                 At 15:40:11.122 MaxIncrement             0.004 seconds. (FAST)
15:41:46.401 Position                                     At 15:40:11.127 Position                 0.005 seconds. (FAST)
15:41:46.401 TempCompAvailable                            At 15:40:11.142 TempCompAvailable        0.004 seconds. (FAST)
15:41:46.402 TempComp Read                                At 15:40:11.148 TempComp Read            0.006 seconds. (FAST)
15:41:46.402 TempComp Write                               At 15:40:11.153 TempComp Write           0.005 seconds. (STANDARD)
15:41:46.403 Temperature                                  At 15:40:11.160 Temperature              0.004 seconds. (FAST)
15:41:46.404 Halt                                         At 15:40:11.168 Halt                     0.005 seconds. (STANDARD)
15:41:46.404 Move to 5000                                 At 15:40:11.182 Move to 5000             0.010 seconds. (STANDARD)
15:41:46.405 Move to 5000                                 At 15:40:25.231 Move to 5000             0.000 seconds. (STANDARD)
15:41:46.405 Move to 0                                    At 15:40:39.267 Move to 0                0.002 seconds. (STANDARD)
15:41:46.405 Move to -10                                  At 15:40:40.291 Move to -10              0.001 seconds. (STANDARD)
15:41:46.406 Move to 25000                                At 15:40:41.313 Move to 25000            0.001 seconds. (STANDARD)
15:41:46.406 Move to 50000                                At 15:41:13.340 Move to 50000            0.001 seconds. (STANDARD)
15:41:46.407 Move to 50010                                At 15:41:45.361 Move to 50010            0.001 seconds. (STANDARD)
15:41:46.407 Disconnect                                   At 15:41:46.384 Disconnect               0.007 seconds. (STANDARD)
15:41:46.409 
15:41:46.411 1 member took longer than its target response time.