Skip to content

Enhance/move axis#10

Merged
ppp-one merged 8 commits into
mainfrom
enhance/move-axis
May 30, 2026
Merged

Enhance/move axis#10
ppp-one merged 8 commits into
mainfrom
enhance/move-axis

Conversation

@ppp-one
Copy link
Copy Markdown
Owner

@ppp-one ppp-one commented May 30, 2026

This pull request implements significant improvements to the telescope and camera simulation, especially around motion modeling, star trail rendering, and device state management. The main changes include a new unified motion model for the telescope, improved simulation of star trailing in camera exposures, and refactoring of slew and MoveAxis logic for accuracy and maintainability.

Telescope motion and slewing model:

  • Replaced the previous thread-based async slewing with a background interpolation model. The telescope now smoothly interpolates position toward RA/Dec or Alt/Az targets over time, storing intermediate targets in state (slew_target_ra, slew_target_dec, slew_target_alt, slew_target_az). This makes slews more realistic and allows for interruption or status queries at any time. [1] [2] [3] [4] [5] [6]

  • Introduced a unified coordinate rate computation (compute_coordinate_rates) used by both the telescope's internal state updates and the camera's star trail simulation. This ensures that the reported telescope coordinates and the simulated image trailing are always consistent. [1] [2] [3]

Camera simulation improvements:

  • Camera exposure simulation now snapshots the telescope state at shutter open, ensuring the simulated image is centered on the correct coordinates and reflects the motion rates at exposure start, not end. Star trail rendering uses the new coordinate rate model for physical accuracy. [1] [2] [3] [4]

MoveAxis and tracking logic:

  • Refactored MoveAxis logic to correctly handle simultaneous axis motions, restore tracking state per ASCOM spec, and distinguish between axes using explicit state keys. Improved validation and error messages for axis and rate inputs.

Camera gain and configuration:

  • Updated camera gain handling to match new gain list (now 1–10), and fixed gain index offset in state updates. Also changed the sensor type in the config template to match monochrome sensors. [1] [2] [3]

Detailed list of most important changes:

Telescope motion and slewing model:

  • Replaced thread-based async slewing with smooth interpolation toward RA/Dec or Alt/Az targets using new state variables, allowing for realistic, interruptible slews and consistent status reporting. [1] [2] [3] [4] [5] [6]
  • Added compute_coordinate_rates function to unify motion rate calculations for both telescope state updates and camera simulation, ensuring physical consistency. [1] [2] [3]

Camera simulation:

  • Camera exposures now snapshot telescope state at shutter open, so simulated images and star trails reflect the correct coordinates and motion rates at the start of exposure. [1] [2] [3] [4]

MoveAxis and tracking:

  • Refactored MoveAxis to track per-axis rates, restore tracking state as per ASCOM spec, and improved error handling for axis/rate validation.

Camera gain/configuration:

  • Updated gain handling to match new gain list (1–10), fixed gain index offset, and set sensor type to monochrome in the default config. [1] [2] [3]

@ppp-one ppp-one merged commit a4d9e77 into main May 30, 2026
4 checks passed
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