X2 Standard  Version 1.25
Public Member Functions | Public Attributes | List of all members
PulseGuideInterface2 Class Referenceabstract

The PulseGuideInterface2 allows X2 mount drivers to be an integral part of TheSky's autoguiding by moving the mount as commanded while autoguiding (without necessarily requiring camera relays and the associated cable to the mount). More...

#include <pulseguideinterface2.h>

Inheritance diagram for PulseGuideInterface2:
X2Mount

Public Member Functions

virtual int useOpenLoopMoveInterface (int &nGuideRateIndex, OpenLoopMoveInterface **pOLSI)=0
 

Public Attributes

bool m_bPrivatePGAbort
 

Detailed Description

The PulseGuideInterface2 allows X2 mount drivers to be an integral part of TheSky's autoguiding by moving the mount as commanded while autoguiding (without necessarily requiring camera relays and the associated cable to the mount).

This interface is optional. TheSky queries X2 mount drivers for implementation of this interface and if supported TheSky will utilize the OpenLoopMoveInterface of the mount to move it while autoguiding and during autoguider calibration.

TheSkyX build 13878 or later is required for this interface to work. Earlier TheSky builds simply ignore this interface.

See TheSkyXFacadeForDriversInterface::build() to determine the build of TheSky in use an act accordingly based on your requirements.

Disclaimer: Software Bisque cannot be held accountable for poor autoguiding when autoguiding with third party mounts through this interface (i.e. when the mount is being moved by the OpenLoopMoveInterface). Autoguiding requires accurate, tiny moves and unfortunately the nature of an open loop move may not have this result because of bugs, communication latency, hardware responsivity, operating system delays, etc. Note, this is not the case when autoguiding with a Paramount. If you find during testing, autoguiding is poor due to the third party mount not being able to move in a repeatable fashion or any other reason, please do not support this interface.

Member Function Documentation

◆ useOpenLoopMoveInterface()

virtual int PulseGuideInterface2::useOpenLoopMoveInterface ( int &  nGuideRateIndex,
OpenLoopMoveInterface **  pOLSI 
)
pure virtual

This is the function that needs implemented when a mount relies on the OpenLoopMoveInterface to "PulseGuide". Simply return the desired rate index (defined by OpenLoopMoveInterface) that you want TheSky to use while autoguiding in addtion to the mount's OpenLoopMoveInterface.

The source file provides sample implementation. Note, there is no default implementation so that technical support is not overwhelmed with poor autoguiding by third party mounts that hasn't been verified/tested. As the author supporting this interface you take responsibility to test and ensure autoguiding with the corresponding mount through this interface works well and by enabling this implementation you agree to this.

Parameters
nGuideRateIndexSets the speed, as defined by the OpenLoopMoveInterface, by index, TheSky uses while autoguiding.
OpenLoopMoveInterfaceA pointer to the mount's OpenLoopMoveInterface.
returnAn error code, zero means no error.

Implemented in X2Mount.


The documentation for this class was generated from the following file:
X2 Examples
(C) 2023 Software Bisque, Inc. All rights reserved.