X2 Standard  Version 1.28
Loading...
Searching...
No Matches
mountdriverinterface.h
1#if !defined(_MountDriverInterface_H_)
2#define _MountDriverInterface_H_
3
4#ifdef THESKYX_FOLDER_TREE
5#include "imagingsystem/hardware/interfaces/licensed/driverrootinterface.h"
6#include "imagingsystem/hardware/interfaces/licensed/linkinterface.h"
7#include "imagingsystem/hardware/interfaces/licensed/deviceinfointerface.h"
8#include "imagingsystem/hardware/interfaces/licensed/driverinfointerface.h"
9#include "imagingsystem/hardware/interfaces/licensed/mount/needsrefractioninterface.h"
10#else//TheSkyX Plug In Build
11#include "../../licensedinterfaces/driverrootinterface.h"
12#include "../../licensedinterfaces/linkinterface.h"
13#include "../../licensedinterfaces/deviceinfointerface.h"
14#include "../../licensedinterfaces/driverinfointerface.h"
15#include "../../licensedinterfaces/mount/needsrefractioninterface.h"
16#endif
17
26{
27public:
30 {
31 MKS_MOTOR_HOMING =(0x0100),
32 MKS_MOTOR_SERVO =(0x0200),
33 MKS_MOTOR_INDEXING =(0x0400),
34 MKS_MOTOR_SLEWING =(0x0800),
35 MKS_MOTOR_HOMED =(0x1000),
36 MKS_MOTOR_JOYSTICKING =(0x2000),
37 MKS_MOTOR_OFF =(0x4000),
38 MKS_MOTOR_MOVING = (MKS_MOTOR_HOMING | MKS_MOTOR_SLEWING | MKS_MOTOR_JOYSTICKING),
39
40 };
41
43 enum Axis
44 {
45 AXIS_RA = 0,
46 AXIS_DEC = 1,
47 };
48
51 {
52 MD_NORTH = 0,
53 MD_SOUTH = 1,
54 MD_EAST = 2,
55 MD_WEST = 3,
56 };
57
60 {
61 MR_FLASH = -2,
62 MR_BASE = -1,
63 MR_0R5X = 0,
64 MR_1X = 1,
65 MR_2X = 2,
66 MR_4X = 3,
67 MR_8X = 4,
68 MR_16X = 5,
69 MR_32X = 6,
70 MR_64X = 7,
71 MR_128X = 8,
72 MR_256X = 9,
73 MR_SLEW = 10,
74 };
75
76public:
77 virtual ~MountDriverInterface(){}
78
79public:
80
81// Operations
82public:
83
88 virtual int queryAbstraction(const char* pszName, void** ppVal) = 0;
90
94 virtual int establishLink(void) = 0;
95 virtual int terminateLink(void) = 0;
96 virtual bool isLinked(void) const = 0;
97 virtual bool isEstablishLinkAbortable(void) const {return false;}
99
103 virtual void driverInfoDetailedInfo(BasicStringInterface& str) const =0;
104 virtual double driverInfoVersion(void) const = 0;
106
107 //
111 virtual void deviceInfoNameShort(BasicStringInterface& str) const = 0;
112 virtual void deviceInfoNameLong(BasicStringInterface& str) const = 0;
115 virtual void deviceInfoModel(BasicStringInterface& str) = 0;
117
118 //NeedsRefractionInterface
119 //Don't forget, each mount implementation must return type cast in queryAbstraction
121 virtual bool needsRefactionAdjustments(void) {return true;}
122
128 virtual int raDec(double& dRawRA, double& dRawDec, const bool& bCached = false) = 0;
130 virtual int abort(void) = 0;
131
132// Implementation
133private:
134
135
136
137};
138
139#endif
The BasicStringInterface allows a string as an output.
Definition basicstringinterface.h:17
The DriverInfoInterface provides X2 implementors a standardized way to provide driver specific inform...
Definition driverinfointerface.h:15
The DriverRootInterface is the foundation for all X2 device drivers.
Definition driverrootinterface.h:21
DeviceType
Definition driverrootinterface.h:26
@ DT_MOUNT
Definition driverrootinterface.h:28
The HardwareInfoInterface provides X2 implementors a standardized way to provide hardware specific in...
Definition deviceinfointerface.h:15
The MountDriverInterface allows an X2 implementor to a write X2 mount driver.
Definition mountdriverinterface.h:26
virtual int abort(void)=0
virtual void deviceInfoModel(BasicStringInterface &str)=0
virtual int queryAbstraction(const char *pszName, void **ppVal)=0
virtual void driverInfoDetailedInfo(BasicStringInterface &str) const =0
MoveRate
Definition mountdriverinterface.h:60
virtual bool needsRefactionAdjustments(void)
Definition mountdriverinterface.h:121
MotorState
Definition mountdriverinterface.h:30
virtual bool isLinked(void) const =0
virtual void deviceInfoFirmwareVersion(BasicStringInterface &str)=0
virtual double driverInfoVersion(void) const =0
virtual int establishLink(void)=0
virtual void deviceInfoDetailedDescription(BasicStringInterface &str) const =0
virtual void deviceInfoNameLong(BasicStringInterface &str) const =0
virtual int terminateLink(void)=0
virtual int raDec(double &dRawRA, double &dRawDec, const bool &bCached=false)=0
MoveDir
Definition mountdriverinterface.h:51
virtual DeviceType deviceType(void)
Definition mountdriverinterface.h:87
Axis
Definition mountdriverinterface.h:44
virtual void deviceInfoNameShort(BasicStringInterface &str) const =0
The NeedsRefractionInterface for mounts.
Definition needsrefractioninterface.h:30
X2 Examples
(C) 2026 Software Bisque, Inc. All rights reserved.