Skip to content

V6.6.8.0 ASCOM Driver Updates#68

Open
ClutchplateDude wants to merge 1 commit intomasterfrom
claude-fixes
Open

V6.6.8.0 ASCOM Driver Updates#68
ClutchplateDude wants to merge 1 commit intomasterfrom
claude-fixes

Conversation

@ClutchplateDude
Copy link
Member

Used Claude Code to analyze the driver and it found and fixed numerous issues:

  • Cached profile to reduce disk reads
  • Removed an access mutex that was superfluous since we were already using lock {} at a lower level
  • Fixed the :SC# command to return "1"
  • Fixed sending the :Q# command (did not have trailing #, which probably caused the spurious NINA exception)
  • Cached the NovaS31 COM object from ASCOM, instead of instantiating and tearing it down all the time.
  • Protected the version against multi-threaded race condition.
  • Saved the tracking state per axis (probably not needed, but safer).
  • Optimized SideOfPier calculation to make far fewer calls to the mount and fixed a numerical wrap issue.
  • Made the drivers UTCDate return the UTC date from the mount.
  • Fixed the PollUntilZero function to have a timeout of 60s instead of waiting for all eternity in case of protocol issue. Also made it poll every 500ms instead of 1000ms
  • Split the exception handling for connection vs. other issue in the Setup dialog
  • Fixed a few Index-Out-of-range bugs in the Setup Dialog.
  • Added checks to :GX# processing to make sure we got a full answer.

Used Claude Code to analyze the driver and it found and fixed numerous issues:
- Cached profile to reduce disk reads
- Removed an access mutex that was superfluous since we were already using lock {} at a lower level
- Fixed the :SC# command to return "1"
- Fixed sending the :Q# command (did not have trailing #, which probably caused the spurious NINA exception)
- Cached the NovaS31 COM object from ASCOM, instead of instantiating and tearing it down all the time.
- Protected the version against multi-threaded race condition.
- Saved the tracking state per axis (probably not needed, but safer).
- Optimized SideOfPier calculation to make far fewer calls to the mount and fixed a numerical wrap issue.
- Made the drivers UTCDate return the UTC date from the mount.
- Fixed the PollUntilZero function to have a timeout of 60s instead of waiting for all eternity in case of protocol issue. Also made it poll every 500ms instead of 1000ms
- Split the exception handling for connection vs. other issue in the Setup dialog
- Fixed a few Index-Out-of-range bugs in the Setup Dialog.
- Added checks to :GX# processing to make sure we got a full answer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant