Changeset View
Changeset View
Standalone View
Standalone View
kstars/indi/indidome.h
Show All 12 Lines | |||||
13 | #include <QTimer> | 13 | #include <QTimer> | ||
14 | 14 | | |||
15 | #include "indistd.h" | 15 | #include "indistd.h" | ||
16 | 16 | | |||
17 | namespace ISD | 17 | namespace ISD | ||
18 | { | 18 | { | ||
19 | /** | 19 | /** | ||
20 | * @class Dome | 20 | * @class Dome | ||
21 | * Focuser class handles control of INDI dome devices. Both open and closed loop (senor feedback) domes are supported. | 21 | * Class handles control of INDI dome devices. Both open and closed loop (sensor feedback) domes are supported. | ||
22 | * | 22 | * | ||
23 | * @author Jasem Mutlaq | 23 | * @author Jasem Mutlaq | ||
24 | */ | 24 | */ | ||
25 | class Dome : public DeviceDecorator | 25 | class Dome : public DeviceDecorator | ||
26 | { | 26 | { | ||
27 | Q_OBJECT | 27 | Q_OBJECT | ||
28 | 28 | | |||
29 | public: | 29 | public: | ||
30 | explicit Dome(GDInterface *iPtr); | 30 | explicit Dome(GDInterface *iPtr); | ||
31 | typedef enum | 31 | typedef enum | ||
32 | { | 32 | { | ||
33 | DOME_IDLE, | 33 | DOME_IDLE, | ||
34 | DOME_MOVING, | 34 | DOME_MOVING_CW, | ||
35 | DOME_MOVING_CCW, | ||||
35 | DOME_TRACKING, | 36 | DOME_TRACKING, | ||
36 | DOME_PARKING, | 37 | DOME_PARKING, | ||
37 | DOME_UNPARKING, | 38 | DOME_UNPARKING, | ||
38 | DOME_PARKED, | 39 | DOME_PARKED, | ||
39 | DOME_ERROR | 40 | DOME_ERROR | ||
40 | } Status; | 41 | } Status; | ||
41 | 42 | | |||
42 | typedef enum | 43 | typedef enum | ||
43 | { | 44 | { | ||
44 | SHUTTER_UNKNOWN, | 45 | SHUTTER_UNKNOWN, | ||
45 | SHUTTER_OPEN, | 46 | SHUTTER_OPEN, | ||
46 | SHUTTER_CLOSED, | 47 | SHUTTER_CLOSED, | ||
47 | SHUTTER_OPENING, | 48 | SHUTTER_OPENING, | ||
48 | SHUTTER_CLOSING, | 49 | SHUTTER_CLOSING, | ||
49 | SHUTTER_ERROR | 50 | SHUTTER_ERROR | ||
50 | } ShutterStatus; | 51 | } ShutterStatus; | ||
51 | 52 | | |||
53 | typedef enum | ||||
54 | { | ||||
55 | DOME_CW, | ||||
56 | DOME_CCW | ||||
57 | } DomeDirection; | ||||
58 | | ||||
59 | typedef enum | ||||
60 | { | ||||
61 | MOTION_START, | ||||
62 | MOTION_STOP | ||||
63 | } DomeMotionCommand; | ||||
64 | | ||||
65 | | ||||
52 | void processSwitch(ISwitchVectorProperty *svp) override; | 66 | void processSwitch(ISwitchVectorProperty *svp) override; | ||
53 | void processText(ITextVectorProperty *tvp) override; | 67 | void processText(ITextVectorProperty *tvp) override; | ||
54 | void processNumber(INumberVectorProperty *nvp) override; | 68 | void processNumber(INumberVectorProperty *nvp) override; | ||
55 | void processLight(ILightVectorProperty *lvp) override; | 69 | void processLight(ILightVectorProperty *lvp) override; | ||
56 | void registerProperty(INDI::Property *prop) override; | 70 | void registerProperty(INDI::Property *prop) override; | ||
57 | 71 | | |||
58 | DeviceFamily getType() override | 72 | DeviceFamily getType() override | ||
59 | { | 73 | { | ||
Show All 21 Lines | 94 | { | |||
81 | return m_ParkStatus == PARK_PARKED; | 95 | return m_ParkStatus == PARK_PARKED; | ||
82 | } | 96 | } | ||
83 | bool isMoving() const; | 97 | bool isMoving() const; | ||
84 | 98 | | |||
85 | double azimuthPosition() const; | 99 | double azimuthPosition() const; | ||
86 | bool setAzimuthPosition(double position); | 100 | bool setAzimuthPosition(double position); | ||
87 | bool setRelativePosition(double position); | 101 | bool setRelativePosition(double position); | ||
88 | 102 | | |||
103 | bool moveDome(DomeDirection dir, DomeMotionCommand operation); | ||||
89 | 104 | | |||
90 | bool hasShutter() const | 105 | bool hasShutter() const | ||
91 | { | 106 | { | ||
92 | return m_HasShutter; | 107 | return m_HasShutter; | ||
93 | } | 108 | } | ||
94 | 109 | | |||
95 | // slaving | 110 | // slaving | ||
96 | bool isAutoSync(); | 111 | bool isAutoSync(); | ||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |