indilib / indi

INDI Core Library Repository
https://www.indilib.org
GNU Lesser General Public License v2.1
377 stars 394 forks source link

lx200ap_v2 Pulse Guide commands that round down to 0 msec create problems #2111

Closed munkacsymj closed 2 months ago

munkacsymj commented 2 months ago

When Pulse Guiding commands are sent to the lx200ap_v2 driver, if the guide time argument is set exactly to 0 milliseconds, the guiding command is correctly ignored. If the guide time argument is set to something between 1 and 999 milliseconds, the correct guiding command is issued to the mount. But if the guide time argument provided as a floating point value in the Pulse Guiding property is non-zero, but rounds to zero when the driver converts from floating point to an integer value, then the driver sends a Pulse Guide command to the mount with an integer value of 0 msec, which the mount interprets as "infinity", which puts the mount into a continuous guide mode until the motion is explicitly stopped.

To Reproduce Exact steps to reproduce the behavior.

  1. Run driver
  2. Have client issue a new property value for "TELESCOPE_TIMED_GUIDE_WE" with a property value of 0.1 (millisecond).
  3. The lx200ap_v2 driver will issue a :Me000# command to the AP1200 mount, initiating continuous motion in the east direction.

Expected behavior Any value in the TELESCOPE_TIMED_GUIDE_WE (or NS) property that rounds down to zero msec will not result in a "Mxxx#" command being sent.

Configuration AP1200 mount (CP3?) lx200ap_v2 driver (GIT master version)