Instrument Neutral Distributed Interface INDI 2.2.5
indiguiderinterface.h
Go to the documentation of this file.
1/*
2 Guider Interface
3 Copyright (C) 2011-2024 Jasem Mutlaq ([email protected])
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
19*/
20
21#pragma once
22
23#include "indibase.h"
24#include "indidriver.h"
25
47#include <stdint.h>
48#include "defaultdevice.h"
49
50// Alias
52
53namespace INDI
54{
55
57{
58 public:
64 virtual IPState GuideNorth(uint32_t ms) = 0;
65
71 virtual IPState GuideSouth(uint32_t ms) = 0;
72
78 virtual IPState GuideEast(uint32_t ms) = 0;
79
85 virtual IPState GuideWest(uint32_t ms) = 0;
86
91 virtual void GuideComplete(INDI_EQ_AXIS axis);
92
93 protected:
94 GuiderInterface(DefaultDevice *defaultDevice);
96
102 void initProperties(const char *groupName);
103
108 bool updateProperties();
109
121 bool processNumber(const char *dev, const char *name, double values[], char *names[], int n);
122
125
126 private:
127 DefaultDevice *m_defaultDevice { nullptr };
128};
129}
Class to provide extended functionality for devices in addition to the functionality provided by INDI...
INDI::PropertyNumber GuideNSNP
virtual void GuideComplete(INDI_EQ_AXIS axis)
Call GuideComplete once the guiding pulse is complete.
bool updateProperties()
updateProperties Define or Delete Rotator properties based on the connection status of the base devic...
virtual IPState GuideEast(uint32_t ms)=0
Guide east for ms milliseconds. East is defined as RA+.
INDI::PropertyNumber GuideWENP
virtual IPState GuideWest(uint32_t ms)=0
Guide west for ms milliseconds. West is defined as RA-.
void initProperties(const char *groupName)
Initialize guider properties. It is recommended to call this function within initProperties() of your...
virtual IPState GuideNorth(uint32_t ms)=0
Guide north for ms milliseconds. North is defined as DEC+.
bool processNumber(const char *dev, const char *name, double values[], char *names[], int n)
Call this function whenever client updates GuideNSNP or GuideWSP properties in the primary device....
virtual IPState GuideSouth(uint32_t ms)=0
Guide south for ms milliseconds. South is defined as DEC-.
IPState
Property state.
Definition indiapi.h:158
INDI_EQ_AXIS
Namespace to encapsulate INDI client, drivers, and mediator classes.