ISD::Mount

Search for usage in LXR

#include <indimount.h>

Inheritance diagram for ISD::Mount:

Public Types

enum  HorizontalMotion { MOTION_WEST, MOTION_EAST }
 
enum  MotionCommand { MOTION_START, MOTION_STOP }
 
enum  ParkOptionCommand { PARK_OPTION_CURRENT, PARK_OPTION_DEFAULT, PARK_OPTION_WRITE_DATA }
 
enum  PierSide { PIER_UNKNOWN = -1, PIER_WEST = 0, PIER_EAST = 1 }
 
enum  Status {
  MOUNT_IDLE, MOUNT_MOVING, MOUNT_SLEWING, MOUNT_TRACKING,
  MOUNT_PARKING, MOUNT_PARKED, MOUNT_ERROR
}
 
enum  TrackModes { TRACK_SIDEREAL, TRACK_SOLAR, TRACK_LUNAR, TRACK_CUSTOM }
 
enum  VerticalMotion { MOTION_NORTH, MOTION_SOUTH }
 

Signals

void axisReversed (INDI_EQ_AXIS axis, bool reversed)
 
void newCoords (const SkyPoint &position, const PierSide pierside, const dms &ha)
 
void newParkStatus (ISD::ParkStatus status)
 
void newStatus (ISD::Mount::Status status)
 
void newTarget (SkyPoint &currentCoords)
 
void newTargetName (const QString &name)
 
void pierSideChanged (PierSide side)
 
void slewRateChanged (int rate)
 
- Signals inherited from ISD::ConcreteDevice
void BLOBUpdated (IBLOB *bp)
 
void Connected ()
 
void Disconnected ()
 
void lightUpdated (ILightVectorProperty *lvp)
 
void numberUpdated (INumberVectorProperty *nvp)
 
void propertyDefined (INDI::Property prop)
 
void propertyDeleted (const QString &name)
 
void ready ()
 
void switchUpdated (ISwitchVectorProperty *svp)
 
void textUpdated (ITextVectorProperty *tvp)
 

Public Slots

bool abort ()
 
bool park ()
 
bool setCustomTrackRate (double raRate, double deRate)
 
bool setSlewRate (int index)
 
bool setTrackEnabled (bool enable)
 
bool setTrackMode (uint8_t index)
 
bool unpark ()
 

Public Member Functions

 Mount (GenericDevice *parent)
 
bool canAbort ()
 
bool canControlTrack () const
 
bool canCustomPark ()
 
bool canGoto ()
 
bool canGuide ()
 
bool canPark ()
 
bool canSync ()
 
bool canTrackSatellite ()
 
void centerLock ()
 
void centerUnlock ()
 
bool clearAlignmentModel ()
 
bool clearParking ()
 
const SkyPointcurrentCoordinates () const
 
bool doPulse (GuideDirection dir, int msecs)
 
bool doPulse (GuideDirection ra_dir, int ra_msecs, GuideDirection dec_dir, int dec_msecs)
 
void find ()
 
bool getCustomTrackRate (double &raRate, double &deRate)
 
bool getEqCoords (double *ra, double *dec)
 
QString getManualMotionString () const
 
int getSlewRate () const
 
bool getTrackMode (uint8_t &index)
 
bool hasAlignmentModel ()
 
bool hasCustomTrackRate () const
 
bool hasSlewRates ()
 
bool hasTrackModes () const
 
const dms hourAngle () const
 
bool isInMotion ()
 
bool isJ2000 ()
 
bool isParked ()
 
bool isReversed (INDI_EQ_AXIS axis)
 
bool isSlewing ()
 
bool isTracking ()
 
bool MoveNS (VerticalMotion dir, MotionCommand cmd)
 
bool MoveWE (HorizontalMotion dir, MotionCommand cmd)
 
ParkStatus parkStatus ()
 
PierSide pierSide () const
 
void processNumber (INumberVectorProperty *nvp) override
 
void processSwitch (ISwitchVectorProperty *svp) override
 
void processText (ITextVectorProperty *tvp) override
 
void registerProperty (INDI::Property prop) override
 
bool sendParkingOptionCommand (ParkOptionCommand command)
 
bool setAlignmentModelEnabled (bool enable)
 
void setAltLimits (double minAltitude, double maxAltitude)
 
void setCustomParking (SkyPoint *coords=nullptr)
 
bool setReversedEnabled (INDI_EQ_AXIS axis, bool enabled)
 
bool setSatelliteTLEandTrack (QString tle, const KStarsDateTime satPassStart, const KStarsDateTime satPassEnd)
 
bool Slew (double ra, double dec)
 
bool Slew (SkyPoint *ScopeTarget)
 
QStringList slewRates ()
 
Status status ()
 
Status status (INumberVectorProperty *nvp)
 
const QString statusString (Status status, bool translated=true) const
 
bool StopNS ()
 
void stopTimers ()
 
bool StopWE ()
 
bool Sync (double ra, double dec)
 
bool Sync (SkyPoint *ScopeTarget)
 
- Public Member Functions inherited from ISD::ConcreteDevice
 ConcreteDevice (GenericDevice *parent)
 
void Connect ()
 
void Disconnect ()
 
GenericDevicegenericDevice () const
 
INDI::PropertyView< IBLOB > * getBLOB (const QString &name) const
 
const QStringgetDeviceName () const
 
DriverInfogetDriverInfo () const
 
uint32_t getDriverInterface ()
 
const QStringgetDUBSObjectPath () const
 
INDI::PropertyView< ILight > * getLight (const QString &name) const
 
QString getMessage (int id) const
 
bool getMinMaxStep (const QString &propName, const QString &elementName, double *min, double *max, double *step) const
 
INDI::PropertyView< INumber > * getNumber (const QString &name) const
 
IPerm getPermission (const QString &propName) const
 
Properties getProperties () const
 
INDI::Property getProperty (const QString &name) const
 
IPState getState (const QString &propName) const
 
INDI::PropertyView< ISwitch > * getSwitch (const QString &name) const
 
INDI::PropertyView< IText > * getText (const QString &name) const
 
bool isConnected () const
 
bool isReady () const
 
virtual bool processBLOB (IBLOB *bp) override
 
virtual void processLight (ILightVectorProperty *lvp) override
 
virtual void processMessage (int messageID) override
 
void processProperties ()
 
void registeProperties ()
 
virtual void removeProperty (const QString &name) override
 
void sendNewNumber (const char *deviceName, const char *propertyName, const char *elementName, double value)
 
void sendNewNumber (INumberVectorProperty *pp)
 
void sendNewSwitch (const char *deviceName, const char *propertyName, const char *elementName)
 
void sendNewSwitch (ISwitchVectorProperty *pp)
 
void sendNewText (const char *deviceName, const char *propertyName, const char *elementName, const char *text)
 
void sendNewText (ITextVectorProperty *pp)
 
bool setConfig (INDIConfig tConfig)
 
- Public Member Functions inherited from ISD::GDInterface
 GDInterface (QObject *parent)
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (const QObject *object)
 
qobject_cast (QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Static Public Attributes

static const QList< const char * > mountStates
 

Protected Member Functions

bool sendCoords (SkyPoint *ScopeTarget)
 
bool slewDefined ()
 
void updateJ2000Coordinates (SkyPoint *coords)
 
void updateParkStatus ()
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Properties inherited from ISD::ConcreteDevice
bool connected
 
QString name
 
- Properties inherited from QObject
 objectName
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Static Protected Member Functions inherited from ISD::ConcreteDevice
static uint8_t getID ()
 
- Protected Attributes inherited from ISD::ConcreteDevice
QString m_DBusObjectPath
 
QString m_Name
 
GenericDevicem_Parent
 
QScopedPointer< QTimerm_ReadyTimer
 
- Static Protected Attributes inherited from ISD::ConcreteDevice
static uint8_t m_ID = 1
 

Detailed Description

device handle controlling Mounts. It can slew and sync to a specific sky point and supports all standard properties with INDI telescope device.

Author
Jasem Mutlaq

Definition at line 26 of file indimount.h.

Member Function Documentation

◆ hourAngle()

const dms ISD::Mount::hourAngle ( ) const

Hour angle of the current coordinates.

Definition at line 1480 of file indimount.cpp.

◆ newCoords

void ISD::Mount::newCoords ( const SkyPoint position,
const PierSide  pierside,
const dms ha 
)
signal

Update event with the current telescope position.

Parameters
positionmount position. Independent from the mount type, the EQ coordinates(both JNow and J2000) as well as the alt/az values are filled.
piersidefor GEMs report the pier side the scope is currently (PierSide::PIER_WEST means the mount is on the western side of the pier pointing east of the meridian).
hacurrent hour angle

◆ newStatus

void ISD::Mount::newStatus ( ISD::Mount::Status  status)
signal

Change in the mount status.

◆ newTarget

void ISD::Mount::newTarget ( SkyPoint currentCoords)
signal

The mount has finished the slew to a new target.

Parameters
currentCoordsexact position where the mount is positioned

◆ newTargetName

void ISD::Mount::newTargetName ( const QString name)
signal

The mount has finished the slew to a new target.

Parameters
NameName of object, if any, the mount is positioned at.

◆ sendCoords()

bool ISD::Mount::sendCoords ( SkyPoint ScopeTarget)
protected

Send the coordinates to the mount's INDI driver.

Due to the INDI implementation, this function is shared for syncing, slewing and other (partly scope specific) functions like the setting parking position. The interpretation of the coordinates depends in the setting of other INDI switches for slewing, synching, tracking etc.

Parameters
ScopeTargettarget coordinates
Returns
true if sending the coordinates succeeded

Definition at line 615 of file indimount.cpp.

◆ setSatelliteTLEandTrack()

bool ISD::Mount::setSatelliteTLEandTrack ( QString  tle,
const KStarsDateTime  satPassStart,
const KStarsDateTime  satPassEnd 
)

Tracks satellite on provided TLE, initial epoch for trajectory calculation and window in minutes.

This function needs a Two-Line-Element and a time window in the form of an initial point and a number of minutes on which the trajectory should start. The function was developed wiht the lx200 in mind. If the trajectory has already started, the current time and a window of 1min are sufficient.

Parameters
tleTwo-line-element.
satPassStartStart time of the trajectory calculation
satPassEndEnd time of the trajectory calculation

Definition at line 1205 of file indimount.cpp.

◆ slewDefined()

bool ISD::Mount::slewDefined ( )
protected

Check whether sending new coordinates will result into a slew.

Definition at line 851 of file indimount.cpp.

◆ stopTimers()

void ISD::Mount::stopTimers ( )

stopTimers Stop timers to prevent timing race condition when device is unavailable and timer is still invoked.

Definition at line 1506 of file indimount.cpp.

◆ updateJ2000Coordinates()

void ISD::Mount::updateJ2000Coordinates ( SkyPoint coords)
protected

Helper function to update the J2000 coordinates of a sky point from its JNow coordinates.

Parameters
coordssky point with correct JNow values in RA and DEC

Definition at line 187 of file indimount.cpp.

◆ updateParkStatus()

void ISD::Mount::updateParkStatus ( )
protected

updateParkStatus Updating parking status by checking the TELESCOPE_PARK property.

Definition at line 415 of file indimount.cpp.

Member Data Documentation

◆ mountStates

const QList< const char * > ISD::Mount::mountStates
static
Initial value:
= { I18N_NOOP("Idle"), I18N_NOOP("Moving"), I18N_NOOP("Slewing"),
I18N_NOOP("Tracking"), I18N_NOOP("Parking"), I18N_NOOP("Parked"),
}

Definition at line 52 of file indimount.h.


The documentation for this class was generated from the following files:
#define I18N_NOOP(text)
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Wed Sep 28 2022 03:58:18 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.