I am using MaxIm DL and the dynamic drivers feature to connect to Sky Simulator on Windows with the camera in Alpaca mode. It is failing to connect. I took a WireShark trace and I think there are a coupl eof ASCOM/ALpaca endpoints 'fullwellcapacity' and 'hasshutter' that are not yet implemented in SkySim. Apparently MaxIm wants this info.
Thanks! It’s a very useful tool. I’m developing a Python library for all Alpaca/ASCOM interfaces. The Camera class is a challenge because of the ‘imagebytes’ image data stream. Doing the unit tests is made easier by my using SkySimulator.
Actually all members of the interface(s) need to be present and most must be implemented. Some are optional and may raise a NotImplementedException. But FullWidthHalfMax and HasShutter are not marked optional.
— Bob
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There are other problems... trying to set binning doesn't work,
etc. I decided to run a Conform test and it found some problems
some of which prevent me from using it. I'm doing a Python client
library for Alpaca, and I am doing exhaustive unit tests as part
of the project.
I've attached the report from the new Universal Conformance
checker. It is available via a link on the right hand side of the
Alpaca
Developers page. Once you get to the GitHub page go down to
see "Assets" and expand the tree:
Pick the one you want. The distributions create a folder with a
"million files" . Each has an executable Conform or Conform.exe.
This is the older Windows Conformance checker ported to .NET 6 and
thus cross platform. No need to install anything else on your
system, so you can run it on Mac or Linux with yor simulator
obviously on any of those as well. Select the device type Camera,
discover, and you'll find the camera_sky_simulator. Go back to
Home and run the test. It will find problems that need correcting
:-) I attached the report I got (copied and pasted from the
browser window, it's not logging correctly???)
I don't want to seem judgemental, so if you're OK with it being a
partial implementation test tool that's fine. If others (like me)
want to use it, though, then it probably should be 100%
implemented :-) :-)
I will try to fix some of the issues the next days. The simulator objective was proper sky and mount simulation but it doesn't do harm to fix the detected issues.
MaxbinX, Y is reported by the driver as 1. I can be set with put to 1. I will further investigate what is going wrong. The bin max is limited because (especially artificial star) simulation is CPU intensive. To create proper Gaussian shaped and positioned stars on subpixel level, the simulator calculates for each pixel a 10x10 matrix so 100 times more calculations then pixels.
Han
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I try to fix for the alpaca camera the supportedactions. What is the correct format of a reply. This doesn't work. Or in other words how is a Array of string values formatted? I also tried [startexposure] instead of startexposure.
Han
GET /api/v1/camera/0/supportedactions?ClientTransactionID=131&ClientID=999
{"Value":"startexposure","ClientTransactionID":131,"ServerTransactionID":131,"ErrorNumber":0,"ErrorMessage":""}
15:24:54.339 SupportedActions ISSUE Unexpected System.Text.Json.JsonException exception, : The JSON value could not be converted to System.Collections.Generic.IList1[System.String]. Path: $.Value | LineNumber: 0 | BytePositionInLine: 24.
15:24:54.340 SupportedActions ISSUE The JSON value could not be converted to System.Collections.Generic.IList1[System.String]. Path: $.Value | LineNumber: 0 | BytePositionInLine: 24.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I found the correct format. No problem anymore. This works
GET /api/v1/camera/0/supportedactions?ClientTransactionID=546&ClientID=999
{"Value":["startexposure","and much more!"],"ClientTransactionID":546,"ServerTransactionID":421,"ErrorNumber":0,"ErrorMessage":""}
I have fixed several things for the Alpaca methods. See attached log. One thing I don't understand:
15:34:39.023 BinY Write ISSUE Unexpected DriverException(0x80131500), when setting BinY to 1: Error calling method: BinY, HTTP Completion Status: Completed, Error Message:
PUT - Unknown device method: biny
Some issues are solved differently like setting a temperature -280 C. Any setpoint is capped at -40.
Progress! I don't know why your program is raising a
DriverException on Conform trying to set BinY. Look for
upper/lower case mixups or misspellings. If you can trap into the
debugger when the request arrives from Conform maybe you can step
it and find the problem?
I'll run your latest build ASAP. I'm pretty busy right now with
the unit tests for the new Python Alpaca client library. It's
really close!
-- Bob
On 4/10/2022 8:41 AM, han.k wrote:
I found the correct format. No problem anymore. This works
GET /api/v1/camera/0/supportedactions?ClientTransactionID=546&ClientID=999
{"Value":["startexposure","and much more!"],"ClientTransactionID":546,"ServerTransactionID":421,"ErrorNumber":0,"ErrorMessage":""}
I have fixed several things for the Alpaca methods. See attached log. One thing I don't understand:
15:34:39.023 BinY Write ISSUE Unexpected DriverException(0x80131500), when setting BinY to 1: Error calling method: BinY, HTTP Completion Status: Completed, Error Message:
PUT - Unknown device method: biny
Some issues are solved differently like setting a temperature -280 C. Any setpoint is capped at -40.
For the moment most should be okay.
Uploaded now version 2.0.beta19
Han
Attachments:
- [sky_simulator 2beta19.txt](https://sourceforge.net/p/sky-simulator/discussion/general/thread/9471e7f1f7/89a8/attachment/sky_simulator%202beta19.txt) (20.4 kB; text/plain)
---
[Windows - Cannot connect via Platform 6.6 dynamic driver](https://sourceforge.net/p/sky-simulator/discussion/general/thread/9471e7f1f7/?limit=25#89a8)
---
Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/sky-simulator/discussion/general/>
To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This is not logical to test if CanFastReadout =false
20:32:27.387 AbortExposure ISSUE CanAbortExposure is false but no exception is generated when AbortExposure is called
Same
20:32:27.374 Gain Write ISSUE Successfully set an gain below the minimum value (99), this should have resulted in an InvalidValueException.
20:32:27.375 Gain Write ISSUE Successfully set an gain above the maximum value(1001), this should have resulted in an InvalidValueException.
The question is: Does the camera driver needs to "police" the acquisition program? The values are capped in the sky_simulator so setting gain to 1001 results in 1000.
Zero for a successful transaction, or a non-zero integer (-2147483648 to 2147483647) if the device encountered an issue. Devices must use ASCOM reserved error numbers whenever appropriate so that clients can take informed actions. E.g. returning 0x401 (1025) to indicate that an invalid value was received (see Alpaca API definition and developer documentation for further information).
ErrorMessage string
Empty string for a successful transaction, or a message describing the issue that was encountered. If an error message is returned, a non zero error number must also be returned.
But is feels like the slave (camera driver) has to educate the master. :) The other question is what will the master do? Put it in the log or abort? Abort would not be nice in a sequence.
Han
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I am using MaxIm DL and the dynamic drivers feature to connect to Sky Simulator on Windows with the camera in Alpaca mode. It is failing to connect. I took a WireShark trace and I think there are a coupl eof ASCOM/ALpaca endpoints 'fullwellcapacity' and 'hasshutter' that are not yet implemented in SkySim. Apparently MaxIm wants this info.
No problem to implement these. Will do that. :)
Strange that MaximDL is so critical.
Han
Thanks! It’s a very useful tool. I’m developing a Python library for all Alpaca/ASCOM interfaces. The Camera class is a challenge because of the ‘imagebytes’ image data stream. Doing the unit tests is made easier by my using SkySimulator.
Actually all members of the interface(s) need to be present and most must be implemented. Some are optional and may raise a NotImplementedException. But FullWidthHalfMax and HasShutter are not marked optional.
— Bob
Hello Bob,
I have implemented them in beta version 18:
https://sourceforge.net/projects/sky-simulator/files/program/windows_installer/Sky%20Simulator%20v2.0.0beta18.exe/download
Tell me if this works and any other problem.
Cheers, Han
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Hi Han --
There are other problems... trying to set binning doesn't work, etc. I decided to run a Conform test and it found some problems some of which prevent me from using it. I'm doing a Python client library for Alpaca, and I am doing exhaustive unit tests as part of the project.
I've attached the report from the new Universal Conformance checker. It is available via a link on the right hand side of the Alpaca Developers page. Once you get to the GitHub page go down to see "Assets" and expand the tree:
Pick the one you want. The distributions create a folder with a "million files" . Each has an executable Conform or Conform.exe. This is the older Windows Conformance checker ported to .NET 6 and thus cross platform. No need to install anything else on your system, so you can run it on Mac or Linux with yor simulator obviously on any of those as well. Select the device type Camera, discover, and you'll find the camera_sky_simulator. Go back to Home and run the test. It will find problems that need correcting :-) I attached the report I got (copied and pasted from the browser window, it's not logging correctly???)
I don't want to seem judgemental, so if you're OK with it being a partial implementation test tool that's fine. If others (like me) want to use it, though, then it probably should be 100% implemented :-) :-)
-- Bob
On 4/7/2022 7:06 AM, han.k wrote:Hello Bob,
I will try to fix some of the issues the next days. The simulator objective was proper sky and mount simulation but it doesn't do harm to fix the detected issues.
MaxbinX, Y is reported by the driver as 1. I can be set with put to 1. I will further investigate what is going wrong. The bin max is limited because (especially artificial star) simulation is CPU intensive. To create proper Gaussian shaped and positioned stars on subpixel level, the simulator calculates for each pixel a 10x10 matrix so 100 times more calculations then pixels.
Han
Hello Bob,
I try to fix for the alpaca camera the supportedactions. What is the correct format of a reply. This doesn't work. Or in other words how is a Array of string values formatted? I also tried [startexposure] instead of startexposure.
Han
GET /api/v1/camera/0/supportedactions?ClientTransactionID=131&ClientID=999
{"Value":"startexposure","ClientTransactionID":131,"ServerTransactionID":131,"ErrorNumber":0,"ErrorMessage":""}
15:24:54.339 SupportedActions ISSUE Unexpected System.Text.Json.JsonException exception, : The JSON value could not be converted to System.Collections.Generic.IList
1[System.String]. Path: $.Value | LineNumber: 0 | BytePositionInLine: 24. 15:24:54.340 SupportedActions ISSUE The JSON value could not be converted to System.Collections.Generic.IList
1[System.String]. Path: $.Value | LineNumber: 0 | BytePositionInLine: 24.I found the correct format. No problem anymore. This works
GET /api/v1/camera/0/supportedactions?ClientTransactionID=546&ClientID=999
{"Value":["startexposure","and much more!"],"ClientTransactionID":546,"ServerTransactionID":421,"ErrorNumber":0,"ErrorMessage":""}
I have fixed several things for the Alpaca methods. See attached log. One thing I don't understand:
15:34:39.023 BinY Write ISSUE Unexpected DriverException(0x80131500), when setting BinY to 1: Error calling method: BinY, HTTP Completion Status: Completed, Error Message:
PUT - Unknown device method: biny
Some issues are solved differently like setting a temperature -280 C. Any setpoint is capped at -40.
For the moment most should be okay.
Uploaded now version 2.0.beta19
Han
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Progress! I don't know why your program is raising a DriverException on Conform trying to set BinY. Look for upper/lower case mixups or misspellings. If you can trap into the debugger when the request arrives from Conform maybe you can step it and find the problem?
I'll run your latest build ASAP. I'm pretty busy right now with the unit tests for the new Python Alpaca client library. It's really close!
-- Bob
Hello Bob,
I found the typo and fixed some more things in version 2.0.0beta 20. That is enough for now.
Basic question, does the Sky simulator work with MaximDL in Alpaca mode?
I have some remarks about the conformity checker:
This is not logical to test if the sensor is mono.
This is not logical to test if CanFastReadout =false
Same
The question is: Does the camera driver needs to "police" the acquisition program? The values are capped in the sky_simulator so setting gain to 1001 results in 1000.
Attached the latest conformity log
Regards, Han
I can start producing error if a value is set outside range:
But is feels like the slave (camera driver) has to educate the master. :) The other question is what will the master do? Put it in the log or abort? Abort would not be nice in a sequence.
Han