Motivation
Budget step-driver mounts (e.g. OnStep conversions of older mounts such as the Vixen GP) often lack GPS, encoders, and precise goto ability. Before plate solving can take over, users need a reliable way to make coarse and fine pointing adjustments. NINA's existing manual mount control (MoveAxis at a rate for a duration) is not reproducible on these mounts: the same button press can produce different displacements depending on timing.
Since step-driver controllers ultimately count motor steps, controlling movement by step count instead of rate × time gives deterministic, repeatable motion. I have built a working prototype of this idea on top of develop (3.3.0.1047) and would like to ask whether any of it is of interest for NINA core, or whether a plugin is the better home for it.
Proposed features (prototype implemented)
- Step Jog panel (Imaging tab) — jog the mount N/S/E/W by a configurable number of motor steps per click.
- Mount Calibration — builds a calibration map between commanded step counts and actual sky displacement (measured by plate solving), so step-based moves can be translated to arcseconds and vice versa.
- New sequencer instructions —
GuidedSlewToRaDec, GuidedCenterTarget, MoveAxisBySteps: slew/centering that iteratively corrects pointing using the calibration map and plate solving.
- Camera rotation alignment panel — measures current rotation angle via plate solving and interactively guides manual rotation of the camera to a target position angle (similar in spirit to the manual rotator flow, but as a live Imaging panel with a compass-style display).
Important caveat: firmware dependency
Features 1–3 rely on custom commands added to OnStep firmware (a small patch adding step-count telemetry and step-based move commands). Stock OnStep / standard ASCOM drivers do not expose these. I am fully aware this is a significant constraint for core inclusion — this is exactly what I would like guidance on:
- Would this functionality be acceptable in core behind a capability check, or
- Should this live as a plugin (possibly together with the firmware patch), and if so, is there any interest in a generic "step-based mount control" abstraction in core that such a plugin could build on?
Feature 4 (camera rotation alignment) has no firmware dependency and only uses plate solving; if there is interest, I can split it into its own proposal/PR.
Implementation status
Working prototype, built and in nightly use on my own setup (Vixen GP + OnStep, Canon EOS 6D). ~30 files touched/added on top of develop. Screenshots and diffs available on request; I did not want to open an unsolicited PR before discussing direction here, per CONTRIBUTING.md.
AI disclosure
Per the contribution guidelines: the majority of the prototype code was written with substantial AI assistance (Anthropic Claude). I understand that I remain fully responsible for the code and for defending it during review.
Questions for maintainers
- Core vs. plugin — which is appropriate for the step-based features?
- Is the camera rotation alignment panel worth proposing separately for core?
- If plugin is the answer, any pointers on the preferred way to expose mount-specific extended commands would be appreciated.
Motivation
Budget step-driver mounts (e.g. OnStep conversions of older mounts such as the Vixen GP) often lack GPS, encoders, and precise goto ability. Before plate solving can take over, users need a reliable way to make coarse and fine pointing adjustments. NINA's existing manual mount control (MoveAxis at a rate for a duration) is not reproducible on these mounts: the same button press can produce different displacements depending on timing.
Since step-driver controllers ultimately count motor steps, controlling movement by step count instead of rate × time gives deterministic, repeatable motion. I have built a working prototype of this idea on top of
develop(3.3.0.1047) and would like to ask whether any of it is of interest for NINA core, or whether a plugin is the better home for it.Proposed features (prototype implemented)
GuidedSlewToRaDec,GuidedCenterTarget,MoveAxisBySteps: slew/centering that iteratively corrects pointing using the calibration map and plate solving.Important caveat: firmware dependency
Features 1–3 rely on custom commands added to OnStep firmware (a small patch adding step-count telemetry and step-based move commands). Stock OnStep / standard ASCOM drivers do not expose these. I am fully aware this is a significant constraint for core inclusion — this is exactly what I would like guidance on:
Feature 4 (camera rotation alignment) has no firmware dependency and only uses plate solving; if there is interest, I can split it into its own proposal/PR.
Implementation status
Working prototype, built and in nightly use on my own setup (Vixen GP + OnStep, Canon EOS 6D). ~30 files touched/added on top of
develop. Screenshots and diffs available on request; I did not want to open an unsolicited PR before discussing direction here, per CONTRIBUTING.md.AI disclosure
Per the contribution guidelines: the majority of the prototype code was written with substantial AI assistance (Anthropic Claude). I understand that I remain fully responsible for the code and for defending it during review.
Questions for maintainers