stellarium icon indicating copy to clipboard operation
stellarium copied to clipboard

Add abort telescope slew signals to LX200 and NexStar telescopes

Open gzotti opened this issue 3 years ago • 6 comments

Description

I found that most telescopes are missing the AbortSlew implementation. This is severely bad. This PR should add the signals at least for LX200 and NexStar.

However, I cannot test it, so this needs external help. I unassigned myself for now in the hope one of our active observers steps in. It may just take a rainy weekend or two. Of course, support for a Big Red Button (emergency switch, separate hardware) would also be nice!

Fixes # (issue)

  • [x] Add AbortSlew to LX200
  • [x] Add AbortSlew to NexStar
  • [ ] Add graceful recovery (put back marker) to LX200
  • [ ] Add graceful recovery (put back marker) to NexStar

Screenshots (if appropriate):

Type of change

  • [ ] Bug fix (non-breaking change which fixes an issue)
  • [x] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [x] This change requires a documentation update

How Has This Been Tested?

Test Configuration:

  • Operating system: Windows 10 or any other
  • Graphics Card: irrelevant
  • [ ] Tested AbortSlew for LX200
  • [ ] Tested AbortSlew for NexStar

Checklist:

  • [x] My code follows the code style of this project.
  • [x] I have performed a self-review of my own code
  • [x] I have commented my code, particularly in hard-to-understand areas
  • [x] I have made corresponding changes to the documentation (header file)
  • [ ] I have updated the respective chapter in the Stellarium User Guide
  • [ ] My changes generate no new warnings
  • [ ] I have added tests that prove my fix is effective or that my feature works
  • [ ] New and existing unit tests pass locally with my changes
  • [ ] Any dependent changes have been merged and published in downstream modules

gzotti avatar Oct 17 '22 13:10 gzotti

You should read the target coordinates from the mount after stopping slewing and place marker in these coordinates

alex-w avatar Oct 17 '22 14:10 alex-w

You should read the target coordinates from the mount after stopping slewing and place marker in these coordinates

If I knew how this positioning interpolation stuff works I could maybe do that. But while I can estimate that I should test with hasKnownPosition() and can likely retrieve pos with getJ2000EquatorialPos(), I know zilch how to set that. How do the InterpolatedPositions work? Is that a ring buffer? What is the purpose of Position.{server_micros, client_micros,status}? Dev docs are so annoyingly often missing or useless in this plugin! IDC where some struct had been defined 15 years ago and "now" moved over. I wish somebody could reverse-engineer a design document for this plugin!

gzotti avatar Mar 05 '23 16:03 gzotti

InterpolatedPositions is own implementation of interpolation and this is does not touches NexStar/LX200 implementation - it's similar, not equal. LX200/NexStar protocols have methods for getting current coordinates from the mount and this parts of protocols are not implemented.

alex-w avatar Mar 05 '23 16:03 alex-w

The Telescope Control plugin should be fully redesigned and rewritten and it should support asynchronous for connection to the devices. I full agree - we need experts for it.

alex-w avatar Mar 05 '23 16:03 alex-w

I see that the TelescopeClientDirectLx200 has an interpolatedPosition that does something. But I don't dare touching this without fitting device and high enough personal interest in this plugin. Anyone out there?

gzotti avatar Mar 05 '23 16:03 gzotti

The Telescope Control plugin should be fully redesigned and rewritten and it should support asynchronous for connection to the devices. I full agree - we need experts for it.

It's not async by design? Oh! Hmm, if I'm diving into this plugin then, as others said, it may need a rethink. And then I'd need to find folk with hardware who can test. I have a SkyWatcher mount but that's it, not the others.

A-j-K avatar Jul 04 '23 15:07 A-j-K