X2 Standard  Version 1.24
x2dome.h
1 #include "../../licensedinterfaces/domedriverinterface.h"
2 #include "../../licensedinterfaces/domehasreliableopenclosesensors.h"
3 
4 class SerXInterface;
6 class SleeperInterface;
8 class LoggerInterface;
9 class MutexInterface;
10 class TickCountInterface;
11 
20 {
21 public:
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 ;
55  virtual void deviceInfoDetailedDescription(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 
85 private:
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 };
X2Dome::dapiOpen
virtual int dapiOpen(void)
Definition: x2dome.cpp:184
X2Dome::deviceInfoNameLong
virtual void deviceInfoNameLong(BasicStringInterface &str) const
Definition: x2dome.cpp:118
X2Dome::dapiIsOpenComplete
virtual int dapiIsOpenComplete(bool *pbComplete)
Definition: x2dome.cpp:276
X2Dome::establishLink
virtual int establishLink(void)
Definition: x2dome.cpp:84
X2Dome::dapiClose
virtual int dapiClose(void)
Definition: x2dome.cpp:196
X2Dome::queryAbstraction
virtual int queryAbstraction(const char *pszName, void **ppVal)
Definition: x2dome.cpp:350
X2Dome::deviceInfoDetailedDescription
virtual void deviceInfoDetailedDescription(BasicStringInterface &str) const
Definition: x2dome.cpp:123
X2Dome::isLinked
virtual bool isLinked(void) const
Definition: x2dome.cpp:104
X2Dome::dapiIsUnparkComplete
virtual int dapiIsUnparkComplete(bool *pbComplete)
Definition: x2dome.cpp:315
DomeHasHighlyRelaibleOpenCloseSensors
The DomeHasHighlyRelaibleOpenCloseSensors is an optional interface that indicates the dome that suppo...
Definition: domehasreliableopenclosesensors.h:24
X2Dome
The X2Dome example.
Definition: x2dome.h:20
TickCountInterface
The TickCountInterface is a cross-platform way to measure relative timing.
Definition: tickcountinterface.h:17
MutexInterface
The MutexInterface provides a cross-platform mutex.
Definition: mutexinterface.h:16
X2Dome::dapiSync
virtual int dapiSync(double dAz, double dEl)
Definition: x2dome.cpp:337
X2Dome::dapiAbort
virtual int dapiAbort(void)
Definition: x2dome.cpp:176
TheSkyXFacadeForDriversInterface
The TheSkyXFacadeForDriversInterface is a simplified interface to TheSkyX passed to X2 implementors.
Definition: theskyxfacadefordriversinterface.h:19
X2Dome::dapiIsParkComplete
virtual int dapiIsParkComplete(bool *pbComplete)
Definition: x2dome.cpp:304
X2Dome::dapiUnpark
virtual int dapiUnpark(void)
Definition: x2dome.cpp:224
X2Dome::deviceInfoModel
virtual void deviceInfoModel(BasicStringInterface &str)
Definition: x2dome.cpp:133
X2Dome::dapiGotoAzEl
virtual int dapiGotoAzEl(double dAz, double dEl)
Definition: x2dome.cpp:164
X2Dome::deviceInfoNameShort
virtual void deviceInfoNameShort(BasicStringInterface &str) const
Definition: x2dome.cpp:113
X2Dome::deviceType
virtual DeviceType deviceType(void)
Definition: x2dome.h:38
DomeDriverInterface
The DomeDriverInterface allows an X2 implementor to a write X2 dome driver.
Definition: domedriverinterface.h:24
X2Dome::dapiPark
virtual int dapiPark(void)
Definition: x2dome.cpp:208
X2Dome::dapiIsCloseComplete
virtual int dapiIsCloseComplete(bool *pbComplete)
Definition: x2dome.cpp:290
DriverRootInterface::DeviceType
DeviceType
Definition: driverrootinterface.h:26
X2Dome::dapiGetAzEl
virtual int dapiGetAzEl(double *pdAz, double *pdEl)
Definition: x2dome.cpp:150
X2Dome::driverInfoDetailedInfo
virtual void driverInfoDetailedInfo(BasicStringInterface &str) const
Definition: x2dome.cpp:140
DriverRootInterface::DT_DOME
@ DT_DOME
Definition: driverrootinterface.h:32
X2Dome::dapiIsGotoComplete
virtual int dapiIsGotoComplete(bool *pbComplete)
Definition: x2dome.cpp:264
X2Dome::X2Dome
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
BasicIniUtilInterface
The BasicIniUtilInterface is used to make properties persistent.
Definition: basiciniutilinterface.h:21
X2Dome::deviceInfoFirmwareVersion
virtual void deviceInfoFirmwareVersion(BasicStringInterface &str)
Definition: x2dome.cpp:128
LoggerInterface
The LoggerInterface is a cross-platform logging utility passed to X2 implementors to show real-time,...
Definition: loggerinterface.h:58
X2Dome::dapiIsFindHomeComplete
virtual int dapiIsFindHomeComplete(bool *pbComplete)
Definition: x2dome.cpp:326
SleeperInterface
The SleeperInterface is a cross-platform "sleeper".
Definition: sleeperinterface.h:15
X2Dome::driverInfoVersion
virtual double driverInfoVersion(void) const
Definition: x2dome.cpp:143
SerXInterface
The SerXInterface is a cross-plaform serial port.
Definition: serxinterface.h:18
X2Dome::terminateLink
virtual int terminateLink(void)
Definition: x2dome.cpp:94
BasicStringInterface
The BasicStringInterface allows a string as an output.
Definition: basicstringinterface.h:17
X2Dome::dapiFindHome
virtual int dapiFindHome(void)
Definition: x2dome.cpp:236
X2 Examples
(C) Software Bisque, Inc. All rights reserved.