Instrument Neutral Distributed Interface INDI 2.2.5
AlignmentSubsystemForDrivers.h
Go to the documentation of this file.
1
12#pragma once
13
14#include "indicom.h"
15
19
20namespace INDI
21{
22namespace AlignmentSubsystem
23{
32{
33 public:
38
42 void InitAlignmentProperties(Telescope *pTelescope);
43
55 void ProcessAlignmentBLOBProperties(Telescope *pTelescope, const char *name, int sizes[], int blobsizes[],
56 char *blobs[], char *formats[], char *names[], int n);
57
66 void ProcessAlignmentNumberProperties(Telescope *pTelescope, const char *name, double values[], char *names[],
67 int n);
68
77 void ProcessAlignmentSwitchProperties(Telescope *pTelescope, const char *name, ISState *states, char *names[],
78 int n);
79
89 void ProcessAlignmentTextProperties(Telescope *pTelescope, const char *name, char *texts[], char *names[], int n);
90
95 void SaveAlignmentConfigProperties(FILE *fp);
96
107 bool AddAlignmentEntryEquatorial(double actualRA, double actualDec, double mountRA, double mountDec,
108 double JD = ln_get_julian_from_sys());
109
121 bool SkyToTelescopeEquatorial(double actualRA, double actualDec, double &mountRA, double &mountDec,
122 double JD = ln_get_julian_from_sys());
123
134 bool TelescopeEquatorialToSky(double mountRA, double mountDec, double &actualRA, double &actualDec,
135 double JD = ln_get_julian_from_sys());
136
147 bool AddAlignmentEntryAltAz(double actualRA, double actualDec, double mountAlt, double mountAz,
148 double JD = ln_get_julian_from_sys());
149
161 bool SkyToTelescopeAltAz(double actualRA, double actualDec, double &mountAlt, double &mountAz,
162 double JD = ln_get_julian_from_sys());
163
174 bool TelescopeAltAzToSky(double mountAlt, double mountAz, double &actualRA, double &actualDec,
175 double JD = ln_get_julian_from_sys());
176
177 private:
184 static void MyDatabaseLoadCallback(void *ThisPointer);
185};
186
187} // namespace AlignmentSubsystem
188} // namespace INDI
This class encapsulates all the alignment subsystem classes that are useful to driver implementations...
void ProcessAlignmentNumberProperties(Telescope *pTelescope, const char *name, double values[], char *names[], int n)
Call this function from within the ISNewNumber processing path. The function will handle any alignmen...
bool AddAlignmentEntryEquatorial(double actualRA, double actualDec, double mountRA, double mountDec, double JD=ln_get_julian_from_sys())
Adds an alignment point to the model database, usually called from Sync.
bool SkyToTelescopeAltAz(double actualRA, double actualDec, double &mountAlt, double &mountAz, double JD=ln_get_julian_from_sys())
Converts an actual sky location to coordinates to send to the mount, usually called in Goto.
void ProcessAlignmentSwitchProperties(Telescope *pTelescope, const char *name, ISState *states, char *names[], int n)
Call this function from within the ISNewSwitch processing path. The function will handle any alignmen...
bool SkyToTelescopeEquatorial(double actualRA, double actualDec, double &mountRA, double &mountDec, double JD=ln_get_julian_from_sys())
Converts an actual sky location to coordinates to send to the mount, usually called in Goto.
bool TelescopeEquatorialToSky(double mountRA, double mountDec, double &actualRA, double &actualDec, double JD=ln_get_julian_from_sys())
Converts a mount location to actual sky coordinates, usually called in ReadScopeStatus.
void InitAlignmentProperties(Telescope *pTelescope)
Initialize alignment subsystem properties. It is recommended to call this function within initPropert...
bool TelescopeAltAzToSky(double mountAlt, double mountAz, double &actualRA, double &actualDec, double JD=ln_get_julian_from_sys())
Converts a mount location to actual sky coordinates, usually called in ReadScopeStatus.
void ProcessAlignmentBLOBProperties(Telescope *pTelescope, const char *name, int sizes[], int blobsizes[], char *blobs[], char *formats[], char *names[], int n)
Call this function from within the ISNewBlob processing path. The function will handle any alignment ...
bool AddAlignmentEntryAltAz(double actualRA, double actualDec, double mountAlt, double mountAz, double JD=ln_get_julian_from_sys())
Adds an alignment point to the model database, usually called from Sync.
void SaveAlignmentConfigProperties(FILE *fp)
Call this function to save persistent alignment related properties. This function should be called fr...
void ProcessAlignmentTextProperties(Telescope *pTelescope, const char *name, char *texts[], char *names[], int n)
Call this function from within the ISNewText processing path. The function will handle any alignment ...
An entry in the sync point database is defined by the following INDI properties.
The following INDI properties are used to manage math plugins.
These functions are used to convert different coordinate systems to and from the telescope direction ...
ISState
Switch state.
Definition indiapi.h:148
Implementations for common driver routines.
Namespace to encapsulate INDI client, drivers, and mediator classes.