12 #include "indiconcretedevice.h"
25 Q_CLASSINFO(
"D-Bus Interface",
"org.kde.kstars.INDI.Dome")
27 Q_PROPERTY(
bool canAbsoluteMove READ canAbsoluteMove)
28 Q_PROPERTY(
bool canRelativeMove READ canRelativeMove)
31 Q_PROPERTY(ISD::Dome::Status status READ status NOTIFY newStatus)
32 Q_PROPERTY(ISD::Dome::ShutterStatus shutterStatus READ shutterStatus NOTIFY newShutterStatus)
33 Q_PROPERTY(ISD::ParkStatus parkStatus READ parkStatus NOTIFY newParkStatus)
42 return m_Parent->getDeviceName();
47 return m_Parent->isConnected();
85 void processSwitch(INDI::Property prop)
override;
86 void processNumber(INDI::Property prop)
override;
87 void registerProperty(INDI::Property prop)
override;
89 Q_SCRIPTABLE
bool canPark()
const
93 Q_SCRIPTABLE
bool canAbsoluteMove()
const
97 Q_SCRIPTABLE
bool canRelativeMove()
const
101 Q_SCRIPTABLE
bool canAbort()
const
105 Q_SCRIPTABLE
bool isParked()
const
107 return m_ParkStatus == PARK_PARKED;
109 bool isMoving()
const;
114 Q_SCRIPTABLE
double position()
const;
122 bool setRelativePosition(
double position);
124 bool moveDome(DomeDirection dir, DomeMotionCommand operation);
132 return moveDome(DOME_CW, MOTION_START);
141 return moveDome(DOME_CCW, MOTION_START);
144 Q_SCRIPTABLE
bool hasShutter()
const
155 return (canAbsoluteMove() ==
false && canRelativeMove() ==
false);
160 bool setAutoSync(
bool activate);
162 Status status()
const
166 ISD::ParkStatus parkStatus()
const
170 static const QString getStatusString (Status status,
bool translated =
true);
172 ShutterStatus shutterStatus();
173 ShutterStatus parseShutterStatus(INDI::Property prop);
175 Q_SCRIPTABLE
bool abort();
176 Q_SCRIPTABLE
bool park();
177 Q_SCRIPTABLE
bool unpark();
179 Q_SCRIPTABLE
bool controlShutter(
bool open);
182 return controlShutter(
true);
186 return controlShutter(
false);
190 void newStatus(ISD::Dome::Status status);
191 void newParkStatus(ISD::ParkStatus status);
192 void newShutterStatus(ISD::Dome::ShutterStatus status);
193 void newAutoSyncStatus(
bool enabled);
194 void positionChanged(
double degrees);
197 ParkStatus m_ParkStatus { PARK_UNKNOWN };
198 ShutterStatus m_ShutterStatus { SHUTTER_UNKNOWN };
199 Status m_Status { DOME_IDLE };
200 bool m_CanAbsMove {
false };
201 bool m_CanRelMove {
false };
202 bool m_CanPark {
false };
203 bool m_CanAbort {
false };
204 bool m_HasShutter {
false };
209 Q_DECLARE_METATYPE(ISD::Dome::Status)
213 Q_DECLARE_METATYPE(ISD::Dome::ShutterStatus)