indigo-astronomy / indigo

INDIGO is a system of standards and frameworks for multiplatform and distributed astronomy software development designed to scale with your needs.
http://www.indigo-astronomy.org
Other
150 stars 67 forks source link

support for orion starseek + skywatcher wifi #420

Closed ckuethe closed 2 years ago

ckuethe commented 2 years ago

Fixes #419 maybe? I didn't see that decWormSteps or raWormSteps are used in any meaningful manner...

polakovic commented 2 years ago

I doubt this may work. raWormSteps and decWormSteps are really not used and can be ignored, but if all other value can't be read, it is a fatal error. They are really used later.

rumengb commented 2 years ago

Shall we revert?

ckuethe commented 2 years ago

Revert if you like; I'm happy to try test alternate approaches.

I can at least move the mount around, but I've never been able to get any of my alt-az mounts to align using indigo (probably because I don't know what I'm doing)...

polakovic commented 2 years ago

No, keep it, I’ll fix it.

polakovic commented 2 years ago

I accepted safe parts of your PR in this commit f7d6cc13badcf5f4c16e70599276d6b84e786fb9

raWormSteps/decWormSteps are really not needed, but other parameter are.

ckuethe commented 2 years ago

Next question: is there a way to allow the details of failures to bubble up to the UI, maybe with a capabilities probing routine.

You're half way there by polling worm steps and stuff. It would be nice to have all these things polled, delay the return false to aggregate all the failures, and then when rejecting a mount say something "disconnecting from mount because it does not support X, Y, and Q".

It would be slightly disappointing to find that I could not use that mount with INDIGO, but at least it would be clear why I can't... as opposed to having INDIGO disconnecting for apparently no reason (at least not an clear/easy reason).

rumengb commented 2 years ago

Chris, There is a way to do so, but we will investigate and make it work as it is supposed to. Peter has this WIFI and a skywatcher mount but he is very busy now. Meanwhile can you check if the driver works without the wifi in the way with direct connection for you?

On Wed, Dec 1, 2021 at 9:09 PM Chris Kuethe @.***> wrote:

Next question: is there a way to allow the details of failures to bubble up to the UI, maybe with a capabilities probing routine.

You're half way there by polling worm steps and stuff. It would be nice to have all these things polled, delay the return false to aggregate all the failures, and then when rejecting a mount say something "disconnecting from mount because it does not support X, Y, and Q".

It would be slightly disappointing to find that I could not use that mount with INDIGO, but at least it would be clear why I can't... as opposed to having INDIGO disconnecting for apparently no reason (at least not an clear/easy reason).

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/indigo-astronomy/indigo/pull/420#issuecomment-983970998, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE5EZBIQBG6ND22TGOK27V3UOZXG3ANCNFSM5IXRR5VA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

ckuethe commented 2 years ago

I'll try find some combination of cables to connect over serial, but it's not a high priority to get this working fully automated. It might have been fun to use it for my solar telescope which only has to work during the day. This mount was never able to accurately align at night, no matter how many times I went through 3-star alignments and verified the time/location settings. At least solar tracking works...

It could be that this mount is simply too old and doesn't support the necessary commands.

polakovic commented 2 years ago

Actually, it sounds more like too new, not too old :) It is probably a product of cost cutting :)

Next question: is there a way to allow the details of failures to bubble up to the UI, maybe with a capabilities probing routine.

If you mean INDIGO, the answer is no, you can't use any UI, it is headless code. If you mean some INDIGO client, the answer is yes, if you use indigo_send_message() on the server side, the message is shown in the log pane on the client side and if sound is on, it is audible.

You're half way there by polling worm steps and stuff. It would be nice to have all these things polled, delay the return false to aggregate all the failures, and then when rejecting a mount say something "disconnecting from mount because it does not support X, Y, and Q".

Actually, it doesn't make too much sense, because all parameters with exception of optional worm steps (probably useful e.g. for measuring PE) are essential. This protocol can't work without them, so if some of that commands fails, it is probably either a communication failure or it is not right device on the other side.

rumengb commented 2 years ago

Chris, can you please remind me what is the mount model? I may have missed it but Starseek is a controller + wifi, not a mount right? If so Starseek is just relaying the commands and actual mount ID you have added may be the id of the mount not the controller. Can you describe in more detail your setup?

ckuethe commented 2 years ago

This is an old starseeker (no wifi, rs232 serial) with a new wifi adapter taking the place of the hand controller. I put links in #419.

As for disconnecting, I'm not disagreeing about the necessity of those parameters, I'm saying that it would be nice to be more clear about what's missing (rather than having to dig through debug and trace logs)

ckuethe commented 2 years ago

According to the hand controller:

HC Firmware 04.39.20
Database Ver.04.03
HC Hardware Ver.04.16
Motor Controller Ver.02.12.83

Here's a trace of connecting to this mount over serial: https://gist.github.com/8a91ed2d41e6a08f76a030707dabf1ed

here Stellarium's internal telescope driver log as I connect to the mount, and slew to a few targets (over serial). https://gist.github.com/66766f75f1f4a2a0cb58518e8ced6b22

Corresponding stellarium log: https://gist.github.com/441bb938b084c4aa1ae7876da4eb2905

rumengb commented 2 years ago

Chris, If you are using the hand controleer you need to load indigo_mount_nexstar driver. Or to put the controller in PC direct mode and use it with synscan.

there are 2 drivers compatible with skywatcher mounts

  1. indigo_mount_nexstar - this is the protocol that Celestron and Skywatcher (over the Hand controller) use.
  2. indigo_mount_synscan - this uses the motor controller of skywatcher mounts and works with a special cable that plugs instead of the hand controller or via the HC when set in PC Direct mode.

so try indigo_mount_nexstar driver in this scenario. or indigo_mount_synscan - with HC in PC direct mode

by the way Stellariun uses NexSstar command set... So I am pretty sure indigo_mount_nexstar driver will work for you.