X2 Standard  Version 1.24
focuserdriverinterface.h
1 #ifndef _FocuserDriverInterface_H
2 #define _FocuserDriverInterface_H
3 
4 #ifdef THESKYX_FOLDER_TREE
5 #include "imagingsystem/hardware/interfaces/licensed/driverrootinterface.h"
6 #include "imagingsystem/hardware/interfaces/licensed/deviceinfointerface.h"
7 #include "imagingsystem/hardware/interfaces/licensed/driverinfointerface.h"
8 #include "imagingsystem/hardware/interfaces/licensed/linkinterface.h"
9 #include "imagingsystem/hardware/interfaces/licensed/focuser/focusergotointerface2.h"
10 #include "sberror.h"
11 #else
12 #include "../../licensedinterfaces/driverrootinterface.h"
13 #include "../../licensedinterfaces/deviceinfointerface.h"
14 #include "../../licensedinterfaces/driverinfointerface.h"
15 #include "../../licensedinterfaces/linkinterface.h"
16 #include "../../licensedinterfaces/focuser/focusergotointerface2.h"
17 #endif
18 
27 {
28 public:
29  virtual ~FocuserDriverInterface(){}
30 
35  virtual int queryAbstraction(const char* pszName, void** ppVal) = 0;
37 
41  virtual void driverInfoDetailedInfo(BasicStringInterface& str) const {};
42  virtual double driverInfoVersion(void) const {return 0.0;}
44 
48  virtual void deviceInfoNameShort(BasicStringInterface& str) const {};
49  virtual void deviceInfoNameLong(BasicStringInterface& str) const {};
52  virtual void deviceInfoModel(BasicStringInterface& str) {};
54 
58  virtual int establishLink(void) = 0;
59  virtual int terminateLink(void) = 0;
60  virtual bool isLinked(void) const = 0;
62 
65  virtual int focPosition(int& nPosition) =0;
66  virtual int focMinimumLimit(int& nMinLimit) =0;
67  virtual int focMaximumLimit(int& nMaxLimit) =0;
68  virtual int focAbort() =0;
69 
70  virtual int startFocGoto(const int& nRelativeOffset) = 0;
71  virtual int isCompleteFocGoto(bool& bComplete) const = 0;
72  virtual int endFocGoto(void) = 0;
73 
74  virtual int amountCountFocGoto(void) const = 0;
75  virtual int amountNameFromIndexFocGoto(const int& nZeroBasedIndex, BasicStringInterface& strDisplayName, int& nAmount)=0;
76  virtual int amountIndexFocGoto(void)=0;
78 
79 
80 };
81 
82 #endif
FocuserDriverInterface::focMaximumLimit
virtual int focMaximumLimit(int &nMaxLimit)=0
FocuserDriverInterface::driverInfoVersion
virtual double driverInfoVersion(void) const
Definition: focuserdriverinterface.h:42
FocuserDriverInterface::focMinimumLimit
virtual int focMinimumLimit(int &nMinLimit)=0
FocuserDriverInterface::deviceInfoNameLong
virtual void deviceInfoNameLong(BasicStringInterface &str) const
Definition: focuserdriverinterface.h:49
DriverRootInterface
The DriverRootInterface is the foundation for all X2 device drivers.
Definition: driverrootinterface.h:21
FocuserDriverInterface::focAbort
virtual int focAbort()=0
FocuserDriverInterface::deviceInfoModel
virtual void deviceInfoModel(BasicStringInterface &str)
Definition: focuserdriverinterface.h:52
FocuserDriverInterface::startFocGoto
virtual int startFocGoto(const int &nRelativeOffset)=0
FocuserDriverInterface::driverInfoDetailedInfo
virtual void driverInfoDetailedInfo(BasicStringInterface &str) const
Definition: focuserdriverinterface.h:41
FocuserDriverInterface::establishLink
virtual int establishLink(void)=0
DriverInfoInterface
The DriverInfoInterface provides X2 implementors a standarized way to provide driver specific informa...
Definition: driverinfointerface.h:15
FocuserDriverInterface::queryAbstraction
virtual int queryAbstraction(const char *pszName, void **ppVal)=0
HardwareInfoInterface
The HardwareInfoInterface provides X2 implementors a standarized way to provide hardware specific inf...
Definition: deviceinfointerface.h:15
DriverRootInterface::DeviceType
DeviceType
Definition: driverrootinterface.h:26
FocuserDriverInterface
The FocuserDriverInterface allows an X2 implementor to a write X2 focuser driver.
Definition: focuserdriverinterface.h:27
FocuserDriverInterface::deviceInfoNameShort
virtual void deviceInfoNameShort(BasicStringInterface &str) const
Definition: focuserdriverinterface.h:48
FocuserDriverInterface::amountIndexFocGoto
virtual int amountIndexFocGoto(void)=0
FocuserDriverInterface::amountNameFromIndexFocGoto
virtual int amountNameFromIndexFocGoto(const int &nZeroBasedIndex, BasicStringInterface &strDisplayName, int &nAmount)=0
FocuserDriverInterface::deviceInfoDetailedDescription
virtual void deviceInfoDetailedDescription(BasicStringInterface &str) const
Definition: focuserdriverinterface.h:50
FocuserGotoInterface2
The FocuserGotoInterface2 allows a focuser to perform a goto operation.
Definition: focusergotointerface2.h:28
DriverRootInterface::DT_FOCUSER
@ DT_FOCUSER
Definition: driverrootinterface.h:29
FocuserDriverInterface::endFocGoto
virtual int endFocGoto(void)=0
FocuserDriverInterface::isLinked
virtual bool isLinked(void) const =0
FocuserDriverInterface::amountCountFocGoto
virtual int amountCountFocGoto(void) const =0
FocuserDriverInterface::deviceType
virtual DeviceType deviceType(void)
Definition: focuserdriverinterface.h:34
FocuserDriverInterface::focPosition
virtual int focPosition(int &nPosition)=0
FocuserDriverInterface::terminateLink
virtual int terminateLink(void)=0
FocuserDriverInterface::isCompleteFocGoto
virtual int isCompleteFocGoto(bool &bComplete) const =0
BasicStringInterface
The BasicStringInterface allows a string as an output.
Definition: basicstringinterface.h:17
FocuserDriverInterface::deviceInfoFirmwareVersion
virtual void deviceInfoFirmwareVersion(BasicStringInterface &str)
Definition: focuserdriverinterface.h:51
X2 Examples
(C) Software Bisque, Inc. All rights reserved.