File indexing completed on 2024-07-21 06:28:22

0001 /*
0002     SPDX-FileCopyrightText: 2012 Jasem Mutlaq <mutlaqja@ikarustech.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 
0006     INDI Guide Interface
0007 */
0008 
0009 #pragma once
0010 
0011 #include "indiconcretedevice.h"
0012 
0013 /**
0014  * @class Guide
0015  * Guide is a special class that handles ST4 commands. Since ST4 functionality can be part of a stand alone ST4 device,
0016  * or as part of a larger device as CCD or Telescope, it is handled separately to enable one ST4 device regardless of the parent device type.
0017  *
0018  *  ST4 is a hardware port dedicated to sending guiding correction pulses to the mount.
0019  *
0020  * @author Jasem Mutlaq
0021  */
0022 namespace ISD
0023 {
0024 class Guider : public ConcreteDevice
0025 {
0026     public:
0027         Guider(GenericDevice *parent);
0028 
0029         bool doPulse(GuideDirection ra_dir, int ra_msecs, GuideDirection dec_dir, int dec_msecs);
0030         bool doPulse(GuideDirection dir, int msecs);
0031         void setDECSwap(bool enable);
0032 
0033     private:
0034         bool swapDEC { false };
0035 };
0036 
0037 }