X2 Standard  Version 1.28
Loading...
Searching...
No Matches
x2dome.h
1#include "../../licensedinterfaces/domedriverinterface.h"
2#include "../../licensedinterfaces/domehasreliableopenclosesensors.h"
3
4class SerXInterface;
11
20{
21public:
22
24 X2Dome( const char* pszSelectionString,
25 const int& nISIndex,
26 SerXInterface* pSerX,
27 TheSkyXFacadeForDriversInterface* pTheSkyXForMounts,
28 SleeperInterface* pSleeper,
29 BasicIniUtilInterface* pIniUtil,
30 LoggerInterface* pLogger,
31 MutexInterface* pIOMutex,
32 TickCountInterface* pTickCount);
33 virtual ~X2Dome();
34
39 virtual int queryAbstraction(const char* pszName, void** ppVal);
41
45 virtual int establishLink(void) ;
46 virtual int terminateLink(void) ;
47 virtual bool isLinked(void) const ;
49
53 virtual void deviceInfoNameShort(BasicStringInterface& str) const ;
54 virtual void deviceInfoNameLong(BasicStringInterface& str) const ;
57 virtual void deviceInfoModel(BasicStringInterface& str) ;
59
63 virtual void driverInfoDetailedInfo(BasicStringInterface& str) const ;
64 virtual double driverInfoVersion(void) const ;
66
67 //DomeDriverInterface
68 virtual int dapiGetAzEl(double* pdAz, double* pdEl);
69 virtual int dapiGotoAzEl(double dAz, double dEl);
70 virtual int dapiAbort(void);
71 virtual int dapiOpen(void);
72 virtual int dapiClose(void);
73 virtual int dapiPark(void);
74 virtual int dapiUnpark(void);
75 virtual int dapiFindHome(void);
76 virtual int dapiIsGotoComplete(bool* pbComplete);
77 virtual int dapiIsOpenComplete(bool* pbComplete);
78 virtual int dapiIsCloseComplete(bool* pbComplete);
79 virtual int dapiIsParkComplete(bool* pbComplete);
80 virtual int dapiIsUnparkComplete(bool* pbComplete);
81 virtual int dapiIsFindHomeComplete(bool* pbComplete);
82 virtual int dapiSync(double dAz, double dEl);
83
84
85private:
86
87 SerXInterface * GetSerX() {return m_pSerX; }
88 TheSkyXFacadeForDriversInterface * GetTheSkyXFacadeForDrivers() {return m_pTheSkyXForMounts;}
89 SleeperInterface * GetSleeper() {return m_pSleeper; }
90 BasicIniUtilInterface * GetSimpleIniUtil() {return m_pIniUtil; }
91 LoggerInterface * GetLogger() {return m_pLogger; }
92 MutexInterface * GetMutex() {return m_pIOMutex;}
93 TickCountInterface * GetTickCountInterface() {return m_pTickCount;}
94
95 SerXInterface * m_pSerX;
96 TheSkyXFacadeForDriversInterface * m_pTheSkyXForMounts;
97 SleeperInterface * m_pSleeper;
98 BasicIniUtilInterface * m_pIniUtil;
99 LoggerInterface * m_pLogger;
100 MutexInterface * m_pIOMutex;
101 TickCountInterface * m_pTickCount;
102
103 int m_nPrivateISIndex;
104
105 int m_bLinked;
106
107 double m_dAz, m_dEl;
108
109 int m_nOpStartMark;
110
111 //Part of DomeHasHighlyRelaibleOpenCloseSensors implementation
112 int m_bDomeOpen;
113
114};
The BasicIniUtilInterface is used to make properties persistent.
Definition basiciniutilinterface.h:21
The BasicStringInterface allows a string as an output.
Definition basicstringinterface.h:17
The DomeDriverInterface allows an X2 implementor to a write X2 dome driver.
Definition domedriverinterface.h:24
The DomeHasHighlyRelaibleOpenCloseSensors is an optional interface that indicates the dome that suppo...
Definition domehasreliableopenclosesensors.h:24
DeviceType
Definition driverrootinterface.h:26
@ DT_DOME
Definition driverrootinterface.h:32
The LoggerInterface is a cross-platform logging utility passed to X2 implementors to show real-time,...
Definition loggerinterface.h:58
The MutexInterface provides a cross-platform mutex.
Definition mutexinterface.h:16
The SerXInterface is a cross-plaform serial port.
Definition serxinterface.h:18
The SleeperInterface is a cross-platform "sleeper".
Definition sleeperinterface.h:15
The TheSkyXFacadeForDriversInterface is a simplified interface to TheSkyX passed to X2 implementors.
Definition theskyxfacadefordriversinterface.h:19
The TickCountInterface is a cross-platform way to measure relative timing.
Definition tickcountinterface.h:17
virtual double driverInfoVersion(void) const
Definition x2dome.cpp:143
virtual int dapiIsOpenComplete(bool *pbComplete)
Definition x2dome.cpp:276
virtual void deviceInfoNameShort(BasicStringInterface &str) const
Definition x2dome.cpp:113
virtual int dapiIsCloseComplete(bool *pbComplete)
Definition x2dome.cpp:290
virtual int dapiSync(double dAz, double dEl)
Definition x2dome.cpp:337
virtual void deviceInfoModel(BasicStringInterface &str)
Definition x2dome.cpp:133
virtual int dapiOpen(void)
Definition x2dome.cpp:184
virtual DeviceType deviceType(void)
Definition x2dome.h:38
virtual int establishLink(void)
Definition x2dome.cpp:84
virtual int dapiGetAzEl(double *pdAz, double *pdEl)
Definition x2dome.cpp:150
virtual int dapiClose(void)
Definition x2dome.cpp:196
virtual int dapiIsGotoComplete(bool *pbComplete)
Definition x2dome.cpp:264
virtual void driverInfoDetailedInfo(BasicStringInterface &str) const
Definition x2dome.cpp:140
virtual void deviceInfoNameLong(BasicStringInterface &str) const
Definition x2dome.cpp:118
virtual int queryAbstraction(const char *pszName, void **ppVal)
Definition x2dome.cpp:350
virtual int dapiUnpark(void)
Definition x2dome.cpp:224
virtual int dapiAbort(void)
Definition x2dome.cpp:176
virtual int terminateLink(void)
Definition x2dome.cpp:94
virtual int dapiIsFindHomeComplete(bool *pbComplete)
Definition x2dome.cpp:326
virtual int dapiIsUnparkComplete(bool *pbComplete)
Definition x2dome.cpp:315
virtual bool isLinked(void) const
Definition x2dome.cpp:104
virtual void deviceInfoFirmwareVersion(BasicStringInterface &str)
Definition x2dome.cpp:128
virtual int dapiGotoAzEl(double dAz, double dEl)
Definition x2dome.cpp:164
X2Dome(const char *pszSelectionString, const int &nISIndex, SerXInterface *pSerX, TheSkyXFacadeForDriversInterface *pTheSkyXForMounts, SleeperInterface *pSleeper, BasicIniUtilInterface *pIniUtil, LoggerInterface *pLogger, MutexInterface *pIOMutex, TickCountInterface *pTickCount)
Definition x2dome.cpp:37
virtual int dapiPark(void)
Definition x2dome.cpp:208
virtual void deviceInfoDetailedDescription(BasicStringInterface &str) const
Definition x2dome.cpp:123
virtual int dapiFindHome(void)
Definition x2dome.cpp:236
virtual int dapiIsParkComplete(bool *pbComplete)
Definition x2dome.cpp:304
X2 Examples
(C) 2026 Software Bisque, Inc. All rights reserved.