Ekos::Scheduler

Search for usage in LXR

#include <scheduler.h>

Inheritance diagram for Ekos::Scheduler:

Public Types

enum  EkosState { EKOS_IDLE, EKOS_STARTING, EKOS_STOPPING, EKOS_READY }
 
enum  ErrorHandlingStrategy { ERROR_DONT_RESTART, ERROR_RESTART_AFTER_TERMINATION, ERROR_RESTART_IMMEDIATELY }
 
enum  INDIState {
  INDI_IDLE, INDI_CONNECTING, INDI_DISCONNECTING, INDI_PROPERTY_CHECK,
  INDI_READY
}
 
enum  ParkWaitStatus {
  PARKWAIT_IDLE, PARKWAIT_PARK, PARKWAIT_PARKING, PARKWAIT_PARKED,
  PARKWAIT_UNPARK, PARKWAIT_UNPARKING, PARKWAIT_UNPARKED, PARKWAIT_ERROR
}
 
enum  SchedulerAlgorithm { ALGORITHM_CLASSIC, ALGORITHM_GREEDY }
 
enum  SchedulerColumns {
  SCHEDCOL_NAME = 0, SCHEDCOL_STATUS, SCHEDCOL_CAPTURES, SCHEDCOL_ALTITUDE,
  SCHEDCOL_SCORE, SCHEDCOL_STARTTIME, SCHEDCOL_ENDTIME, SCHEDCOL_DURATION,
  SCHEDCOL_LEADTIME, SCHEDCOL_COUNT
}
 
enum  SchedulerTimerState {
  RUN_WAKEUP = 0, RUN_SCHEDULER, RUN_JOBCHECK, RUN_SHUTDOWN,
  RUN_NOTHING
}
 
enum  ShutdownState {
  SHUTDOWN_IDLE, SHUTDOWN_PARK_CAP, SHUTDOWN_PARKING_CAP, SHUTDOWN_PARK_MOUNT,
  SHUTDOWN_PARKING_MOUNT, SHUTDOWN_PARK_DOME, SHUTDOWN_PARKING_DOME, SHUTDOWN_SCRIPT,
  SHUTDOWN_SCRIPT_RUNNING, SHUTDOWN_ERROR, SHUTDOWN_COMPLETE
}
 
enum  StartupState {
  STARTUP_IDLE, STARTUP_SCRIPT, STARTUP_UNPARK_DOME, STARTUP_UNPARKING_DOME,
  STARTUP_UNPARK_MOUNT, STARTUP_UNPARKING_MOUNT, STARTUP_UNPARK_CAP, STARTUP_UNPARKING_CAP,
  STARTUP_ERROR, STARTUP_COMPLETE
}
 
- Public Types inherited from QWidget
enum  RenderFlag
 
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric
 

Properties

QStringList logText
 
QString profile
 
Ekos::SchedulerState status
 
- Properties inherited from QWidget
 acceptDrops
 
 accessibleDescription
 
 accessibleName
 
 autoFillBackground
 
 baseSize
 
 childrenRect
 
 childrenRegion
 
 contextMenuPolicy
 
 cursor
 
 enabled
 
 focus
 
 focusPolicy
 
 font
 
 frameGeometry
 
 frameSize
 
 fullScreen
 
 geometry
 
 height
 
 inputMethodHints
 
 isActiveWindow
 
 layoutDirection
 
 locale
 
 maximized
 
 maximumHeight
 
 maximumSize
 
 maximumWidth
 
 minimized
 
 minimumHeight
 
 minimumSize
 
 minimumSizeHint
 
 minimumWidth
 
 modal
 
 mouseTracking
 
 normalGeometry
 
 palette
 
 pos
 
 rect
 
 size
 
 sizeHint
 
 sizeIncrement
 
 sizePolicy
 
 statusTip
 
 styleSheet
 
 tabletTracking
 
 toolTip
 
 toolTipDuration
 
 updatesEnabled
 
 visible
 
 whatsThis
 
 width
 
 windowFilePath
 
 windowFlags
 
 windowIcon
 
 windowIconText
 
 windowModality
 
 windowModified
 
 windowOpacity
 
 windowTitle
 
 x
 
 y
 
- Properties inherited from QObject
 objectName
 

Signals

void jobEnded (const QString &jobName, const QString &endReason)
 
void jobStarted (const QString &jobName)
 
void jobsUpdated (QJsonArray jobsList)
 
void newLog (const QString &text)
 
void newStatus (Ekos::SchedulerState state)
 
void newTarget (const QString &)
 
void targetDistance (double distance)
 
void weatherChanged (ISD::Weather::Status state)
 

Public Member Functions

 Scheduler ()
 
 Scheduler (const QString path, const QString interface, const QString &ekosPathStr, const QString &ekosInterfaceStr)
 
void addJob ()
 
void addObject (SkyObject *object)
 
void appendLogText (const QString &)
 
void applyConfig ()
 
void clearLog ()
 
bool createJobSequence (XMLEle *root, const QString &prefix, const QString &outputDir)
 
void disconnectINDI ()
 
SchedulerJob * getCurrentJob ()
 
QString getCurrentJobName ()
 
ErrorHandlingStrategy getErrorHandlingStrategy ()
 
const QList< SchedulerJob * > & getJobs () const
 
QJsonArray getJSONJobs ()
 
QString getLogText ()
 
void getNextAction ()
 
QJsonObject getSchedulerSettings ()
 
XMLEle * getSequenceJobRoot (const QString &filename) const
 
int getUpdateInterval ()
 
bool importMosaic (const QJsonObject &payload)
 
Q_SCRIPTABLE bool loadScheduler (const QString &fileURL)
 
QStringList logText ()
 
QString profile ()
 
Q_SCRIPTABLE Q_NOREPLY void removeAllJobs ()
 
void removeJob ()
 
void removeOneJob (int index)
 
Q_SCRIPTABLE void resetAllJobs ()
 
void saveJob ()
 
bool saveScheduler (const QUrl &fileURL)
 
void setAbortedJobManagementSettings (const QJsonObject &settings)
 
void setErrorHandlingStrategy (ErrorHandlingStrategy strategy)
 
void setJobCompletionConditions (const QJsonObject &settings)
 
void setJobConstraints (const QJsonObject &settings)
 
void setJobStartupConditions (const QJsonObject &settings)
 
void setObservatoryShutdownProcedure (const QJsonObject &settings)
 
void setObservatoryStartupProcedure (const QJsonObject &settings)
 
void setPrimarySettings (const QJsonObject &settings)
 
void setProfile (const QString &profile)
 
Q_SCRIPTABLE void setSequence (const QString &sequenceFileURL)
 
void setSettings (const QJsonObject &settings)
 
void setSolverAction (Align::GotoMode mode)
 
void setUpdateInterval (int ms)
 
Q_SCRIPTABLE void sortJobsPerAltitude ()
 
Q_SCRIPTABLE Q_NOREPLY void start ()
 
void startAstrometry ()
 
void startCapture (bool restart=false)
 
void startFocusing ()
 
void startGuiding (bool resetCalibration=false)
 
void startSlew ()
 
Ekos::SchedulerState status ()
 
Q_SCRIPTABLE Q_NOREPLY void stop ()
 
void stopEkos ()
 
void stopGuiding ()
 
void toggleScheduler ()
 
- Public Member Functions inherited from QWidget
 QWidget (QWidget *parent, Qt::WindowFlags f)
 
bool acceptDrops () const const
 
QString accessibleDescription () const const
 
QString accessibleName () const const
 
QList< QAction * > actions () const const
 
void activateWindow ()
 
void addAction (QAction *action)
 
void addActions (QList< QAction * > actions)
 
void adjustSize ()
 
bool autoFillBackground () const const
 
QPalette::ColorRole backgroundRole () const const
 
QBackingStorebackingStore () const const
 
QSize baseSize () const const
 
QWidgetchildAt (const QPoint &p) const const
 
QWidgetchildAt (int x, int y) const const
 
QRect childrenRect () const const
 
QRegion childrenRegion () const const
 
void clearFocus ()
 
void clearMask ()
 
bool close ()
 
QMargins contentsMargins () const const
 
QRect contentsRect () const const
 
Qt::ContextMenuPolicy contextMenuPolicy () const const
 
QCursor cursor () const const
 
void customContextMenuRequested (const QPoint &pos)
 
WId effectiveWinId () const const
 
void ensurePolished () const const
 
Qt::FocusPolicy focusPolicy () const const
 
QWidgetfocusProxy () const const
 
QWidgetfocusWidget () const const
 
const QFontfont () const const
 
QFontInfo fontInfo () const const
 
QFontMetrics fontMetrics () const const
 
QPalette::ColorRole foregroundRole () const const
 
QRect frameGeometry () const const
 
QSize frameSize () const const
 
const QRectgeometry () const const
 
void getContentsMargins (int *left, int *top, int *right, int *bottom) const const
 
QPixmap grab (const QRect &rectangle)
 
void grabGesture (Qt::GestureType gesture, Qt::GestureFlags flags)
 
void grabKeyboard ()
 
void grabMouse ()
 
void grabMouse (const QCursor &cursor)
 
int grabShortcut (const QKeySequence &key, Qt::ShortcutContext context)
 
QGraphicsEffectgraphicsEffect () const const
 
QGraphicsProxyWidgetgraphicsProxyWidget () const const
 
bool hasEditFocus () const const
 
bool hasFocus () const const
 
virtual bool hasHeightForWidth () const const
 
bool hasMouseTracking () const const
 
bool hasTabletTracking () const const
 
int height () const const
 
virtual int heightForWidth (int w) const const
 
void hide ()
 
Qt::InputMethodHints inputMethodHints () const const
 
virtual QVariant inputMethodQuery (Qt::InputMethodQuery query) const const
 
void insertAction (QAction *before, QAction *action)
 
void insertActions (QAction *before, QList< QAction * > actions)
 
bool isActiveWindow () const const
 
bool isAncestorOf (const QWidget *child) const const
 
bool isEnabled () const const
 
bool isEnabledTo (const QWidget *ancestor) const const
 
bool isEnabledToTLW () const const
 
bool isFullScreen () const const
 
bool isHidden () const const
 
bool isMaximized () const const
 
bool isMinimized () const const
 
bool isModal () const const
 
bool isTopLevel () const const
 
bool isVisible () const const
 
bool isVisibleTo (const QWidget *ancestor) const const
 
bool isWindow () const const
 
bool isWindowModified () const const
 
QLayoutlayout () const const
 
Qt::LayoutDirection layoutDirection () const const
 
QLocale locale () const const
 
void lower ()
 
QPoint mapFrom (const QWidget *parent, const QPoint &pos) const const
 
QPoint mapFromGlobal (const QPoint &pos) const const
 
QPoint mapFromParent (const QPoint &pos) const const
 
QPoint mapTo (const QWidget *parent, const QPoint &pos) const const
 
QPoint mapToGlobal (const QPoint &pos) const const
 
QPoint mapToParent (const QPoint &pos) const const
 
QRegion mask () const const
 
int maximumHeight () const const
 
QSize maximumSize () const const
 
int maximumWidth () const const
 
int minimumHeight () const const
 
QSize minimumSize () const const
 
virtual QSize minimumSizeHint () const const
 
int minimumWidth () const const
 
void move (const QPoint &)
 
void move (int x, int y)
 
QWidgetnativeParentWidget () const const
 
QWidgetnextInFocusChain () const const
 
QRect normalGeometry () const const
 
void overrideWindowFlags (Qt::WindowFlags flags)
 
virtual QPaintEnginepaintEngine () const const override
 
const QPalettepalette () const const
 
QWidgetparentWidget () const const
 
QPoint pos () const const
 
QWidgetpreviousInFocusChain () const const
 
 QWIDGETSIZE_MAX QWIDGETSIZE_MAX
 
void raise ()
 
QRect rect () const const
 
void releaseKeyboard ()
 
void releaseMouse ()
 
void releaseShortcut (int id)
 
void removeAction (QAction *action)
 
void render (QPaintDevice *target, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags)
 
void render (QPainter *painter, const QPoint &targetOffset, const QRegion &sourceRegion, QWidget::RenderFlags renderFlags)
 
void repaint ()
 
void repaint (const QRect &rect)
 
void repaint (const QRegion &rgn)
 
void repaint (int x, int y, int w, int h)
 
void resize (const QSize &)
 
void resize (int w, int h)
 
bool restoreGeometry (const QByteArray &geometry)
 
QByteArray saveGeometry () const const
 
QScreenscreen () const const
 
void scroll (int dx, int dy)
 
void scroll (int dx, int dy, const QRect &r)
 
void setAcceptDrops (bool on)
 
void setAccessibleDescription (const QString &description)
 
void setAccessibleName (const QString &name)
 
void setAttribute (Qt::WidgetAttribute attribute, bool on)
 
void setAutoFillBackground (bool enabled)
 
void setBackgroundRole (QPalette::ColorRole role)
 
void setBaseSize (const QSize &)
 
void setBaseSize (int basew, int baseh)
 
void setContentsMargins (const QMargins &margins)
 
void setContentsMargins (int left, int top, int right, int bottom)
 
void setContextMenuPolicy (Qt::ContextMenuPolicy policy)
 
void setCursor (const QCursor &)
 
void setDisabled (bool disable)
 
void setEditFocus (bool enable)
 
void setEnabled (bool)
 
void setFixedHeight (int h)
 
void setFixedSize (const QSize &s)
 
void setFixedSize (int w, int h)
 
void setFixedWidth (int w)
 
void setFocus ()
 
void setFocus (Qt::FocusReason reason)
 
void setFocusPolicy (Qt::FocusPolicy policy)
 
void setFocusProxy (QWidget *w)
 
void setFont (const QFont &)
 
void setForegroundRole (QPalette::ColorRole role)
 
void setGeometry (const QRect &)
 
void setGeometry (int x, int y, int w, int h)
 
void setGraphicsEffect (QGraphicsEffect *effect)
 
void setHidden (bool hidden)
 
void setInputMethodHints (Qt::InputMethodHints hints)
 
void setLayout (QLayout *layout)
 
void setLayoutDirection (Qt::LayoutDirection direction)
 
void setLocale (const QLocale &locale)
 
void setMask (const QBitmap &bitmap)
 
void setMask (const QRegion &region)
 
void setMaximumHeight (int maxh)
 
void setMaximumSize (const QSize &)
 
void setMaximumSize (int maxw, int maxh)
 
void setMaximumWidth (int maxw)
 
void setMinimumHeight (int minh)
 
void setMinimumSize (const QSize &)
 
void setMinimumSize (int minw, int minh)
 
void setMinimumWidth (int minw)
 
void setMouseTracking (bool enable)
 
void setPalette (const QPalette &)
 
void setParent (QWidget *parent)
 
void setParent (QWidget *parent, Qt::WindowFlags f)
 
void setShortcutAutoRepeat (int id, bool enable)
 
void setShortcutEnabled (int id, bool enable)
 
void setSizeIncrement (const QSize &)
 
void setSizeIncrement (int w, int h)
 
void setSizePolicy (QSizePolicy)
 
void setSizePolicy (QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical)
 
void setStatusTip (const QString &)
 
void setStyle (QStyle *style)
 
void setStyleSheet (const QString &styleSheet)
 
void setTabletTracking (bool enable)
 
void setToolTip (const QString &)
 
void setToolTipDuration (int msec)
 
void setUpdatesEnabled (bool enable)
 
void setupUi (QWidget *widget)
 
virtual void setVisible (bool visible)
 
void setWhatsThis (const QString &)
 
void setWindowFilePath (const QString &filePath)
 
void setWindowFlag (Qt::WindowType flag, bool on)
 
void setWindowFlags (Qt::WindowFlags type)
 
void setWindowIcon (const QIcon &icon)
 
void setWindowIconText (const QString &)
 
void setWindowModality (Qt::WindowModality windowModality)
 
void setWindowModified (bool)
 
void setWindowOpacity (qreal level)
 
void setWindowRole (const QString &role)
 
void setWindowState (Qt::WindowStates windowState)
 
void setWindowTitle (const QString &)
 
void show ()
 
void showFullScreen ()
 
void showMaximized ()
 
void showMinimized ()
 
void showNormal ()
 
QSize size () const const
 
virtual QSize sizeHint () const const
 
QSize sizeIncrement () const const
 
QSizePolicy sizePolicy () const const
 
void stackUnder (QWidget *w)
 
QString statusTip () const const
 
QStylestyle () const const
 
QString styleSheet () const const
 
bool testAttribute (Qt::WidgetAttribute attribute) const const
 
QString toolTip () const const
 
int toolTipDuration () const const
 
QWidgettopLevelWidget () const const
 
bool underMouse () const const
 
void ungrabGesture (Qt::GestureType gesture)
 
void unsetCursor ()
 
void unsetLayoutDirection ()
 
void unsetLocale ()
 
void update ()
 
void update (const QRect &rect)
 
void update (const QRegion &rgn)
 
void update (int x, int y, int w, int h)
 
void updateGeometry ()
 
bool updatesEnabled () const const
 
QRegion visibleRegion () const const
 
QString whatsThis () const const
 
int width () const const
 
QWidgetwindow () const const
 
QString windowFilePath () const const
 
Qt::WindowFlags windowFlags () const const
 
QWindowwindowHandle () const const
 
QIcon windowIcon () const const
 
void windowIconChanged (const QIcon &icon)
 
QString windowIconText () const const
 
void windowIconTextChanged (const QString &iconText)
 
Qt::WindowModality windowModality () const const
 
qreal windowOpacity () const const
 
QString windowRole () const const
 
Qt::WindowStates windowState () const const
 
QString windowTitle () const const
 
void windowTitleChanged (const QString &title)
 
Qt::WindowType windowType () const const
 
WId winId () const const
 
int x () const const
 
int y () const const
 
- 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 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
 
- Public Member Functions inherited from QPaintDevice
int colorCount () const const
 
int depth () const const
 
int devicePixelRatio () const const
 
qreal devicePixelRatioF () const const
 
int height () const const
 
int heightMM () const const
 
int logicalDpiX () const const
 
int logicalDpiY () const const
 
bool paintingActive () const const
 
int physicalDpiX () const const
 
int physicalDpiY () const const
 
int width () const const
 
int widthMM () const const
 

Static Public Member Functions

static int16_t calculateJobScore (SchedulerJob const *job, QDateTime const &dawn, QDateTime const &dusk, QDateTime const &when=QDateTime())
 
static bool estimateJobTime (SchedulerJob *schedJob, const QMap< QString, uint16_t > &capturedFramesCount, Scheduler *scheduler)
 
static QList< SchedulerJob * > evaluateJobs (QList< SchedulerJob * > &jobs, const QMap< QString, uint16_t > &capturedFramesCount, QDateTime const &dawn, QDateTime const &dusk, Scheduler *scheduler)
 
static int16_t getDarkSkyScore (QDateTime const &dawn, QDateTime const &dusk, QDateTime const &when=QDateTime())
 
static bool loadSequenceQueue (const QString &fileURL, SchedulerJob *schedJob, QList< SequenceJob * > &jobs, bool &hasAutoFocus, Scheduler *scheduler)
 
static QList< SchedulerJob * > prepareJobsForEvaluation (QList< SchedulerJob * > &jobs, SchedulerState state, const QMap< QString, uint16_t > &capturedFramesCount, bool rescheduleErrors, bool restartJobs, bool *possiblyDelay, Scheduler *scheduler)
 
static void setupJob (SchedulerJob &job, const QString &name, int priority, const dms &ra, const dms &dec, double djd, double rotation, const QUrl &sequenceUrl, const QUrl &fitsUrl, SchedulerJob::StartupCondition startup, const QDateTime &startupTime, int16_t startupOffset, SchedulerJob::CompletionCondition completion, const QDateTime &completionTime, int completionRepeats, double minimumAltitude, double minimumMoonSeparation, bool enforceWeather, bool enforceTwilight, bool enforceArtificialHorizon, bool track, bool focus, bool align, bool guide)
 
static KStarsDateTime getLocalTime ()
 
static void setLocalTime (KStarsDateTime *time)
 
static bool hasLocalTime ()
 
- Static Public Member Functions inherited from QWidget
QWidgetcreateWindowContainer (QWindow *window, QWidget *parent, Qt::WindowFlags flags)
 
QWidgetfind (WId id)
 
QWidgetkeyboardGrabber ()
 
QWidgetmouseGrabber ()
 
void setTabOrder (QWidget *first, QWidget *second)
 
- 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)
 

Protected Slots

bool appendEkosScheduleList (const QString &fileURL)
 
void checkInterfaceReady (QDBusInterface *iface)
 
void checkJobStage ()
 
bool checkJobStageClassic ()
 
void checkJobStageEplogue ()
 
void checkProcessExit (int exitCode)
 
void checkShutdownProcedure ()
 
void checkStartupProcedure ()
 
bool checkStatus ()
 
void checkTwilightWarning (bool enabled)
 
void clickQueueTable (QModelIndex index)
 
bool completeShutdown ()
 
void findNextJob ()
 
void load (bool clearQueue, const QString &filename="")
 
void loadJob (QModelIndex i)
 
bool manageConnectionLoss ()
 
void moveJobDown ()
 
void moveJobUp ()
 
void pause ()
 
void queueTableSelectionChanged (QModelIndex current, QModelIndex previous)
 
void readProcessOutput ()
 
void registerNewDevice (const QString &name, int interface)
 
void registerNewModule (const QString &name)
 
bool reorderJobs (QList< SchedulerJob * > reordered_sublist)
 
void resetJobEdit ()
 
void resumeCheckStatus ()
 
void runShutdownProcedure ()
 
void runStartupProcedure ()
 
void save ()
 
void saveAs ()
 
void selectFITS ()
 
void selectObject ()
 
void selectSequence ()
 
void selectShutdownScript ()
 
void selectStartupScript ()
 
void setAlignStatus (Ekos::AlignState status)
 
void setCaptureComplete (const QVariantMap &metadata)
 
void setCaptureStatus (Ekos::CaptureState status)
 
void setEkosCommunicationStatus (Ekos::CommunicationStatus status)
 
void setFocusStatus (Ekos::FocusState status)
 
void setGuideStatus (Ekos::GuideState status)
 
void setINDICommunicationStatus (Ekos::CommunicationStatus status)
 
void setJobAddApply (bool add_mode)
 
void setJobManipulation (bool can_reorder, bool can_delete)
 
void setMountStatus (ISD::Mount::Status status)
 
void setPaused ()
 
void setWeatherStatus (ISD::Weather::Status status)
 
bool shouldSchedulerSleep (SchedulerJob *currentJob)
 
void simClockScaleChanged (float)
 
void simClockTimeChanged ()
 
void solverDone (bool timedOut, bool success, const FITSImage::Solution &solution, double elapsedSeconds)
 
void startJobEvaluation ()
 
void startMosaicTool ()
 
void stopCurrentJobAction ()
 
bool syncControl (const QJsonObject &settings, const QString &key, QWidget *widget)
 
void syncGUIToJob (SchedulerJob *job)
 
void syncProperties ()
 
void updateNightTime (SchedulerJob const *job=nullptr)
 
void wakeUpScheduler ()
 

Protected Member Functions

void setDirty ()
 
void setJobStatusCells (int row)
 
void watchJobChanges (bool enable)
 
- Protected Member Functions inherited from QWidget
virtual void actionEvent (QActionEvent *event)
 
virtual void changeEvent (QEvent *event)
 
virtual void closeEvent (QCloseEvent *event)
 
virtual void contextMenuEvent (QContextMenuEvent *event)
 
void create (WId window, bool initializeWindow, bool destroyOldWindow)
 
void destroy (bool destroyWindow, bool destroySubWindows)
 
virtual void dragEnterEvent (QDragEnterEvent *event)
 
virtual void dragLeaveEvent (QDragLeaveEvent *event)
 
virtual void dragMoveEvent (QDragMoveEvent *event)
 
virtual void dropEvent (QDropEvent *event)
 
virtual void enterEvent (QEvent *event)
 
virtual bool event (QEvent *event) override
 
virtual void focusInEvent (QFocusEvent *event)
 
bool focusNextChild ()
 
virtual bool focusNextPrevChild (bool next)
 
virtual void focusOutEvent (QFocusEvent *event)
 
bool focusPreviousChild ()
 
virtual void hideEvent (QHideEvent *event)
 
virtual void initPainter (QPainter *painter) const const override
 
virtual void inputMethodEvent (QInputMethodEvent *event)
 
virtual void keyPressEvent (QKeyEvent *event)
 
virtual void keyReleaseEvent (QKeyEvent *event)
 
virtual void leaveEvent (QEvent *event)
 
virtual int metric (QPaintDevice::PaintDeviceMetric m) const const override
 
virtual void mouseDoubleClickEvent (QMouseEvent *event)
 
virtual void mouseMoveEvent (QMouseEvent *event)
 
virtual void mousePressEvent (QMouseEvent *event)
 
virtual void mouseReleaseEvent (QMouseEvent *event)
 
virtual void moveEvent (QMoveEvent *event)
 
virtual bool nativeEvent (const QByteArray &eventType, void *message, long *result)
 
virtual void paintEvent (QPaintEvent *event)
 
virtual void resizeEvent (QResizeEvent *event)
 
virtual void showEvent (QShowEvent *event)
 
virtual void tabletEvent (QTabletEvent *event)
 
void updateMicroFocus ()
 
virtual void wheelEvent (QWheelEvent *event)
 
- 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

- Public Attributes inherited from QWidget
 DrawChildren
 
 DrawWindowBackground
 
 IgnoreMask
 
typedef RenderFlags
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Public Attributes inherited from QPaintDevice
 PdmDepth
 
 PdmDevicePixelRatio
 
 PdmDevicePixelRatioScaled
 
 PdmDpiX
 
 PdmDpiY
 
 PdmHeight
 
 PdmHeightMM
 
 PdmNumColors
 
 PdmPhysicalDpiX
 
 PdmPhysicalDpiY
 
 PdmWidth
 
 PdmWidthMM
 

Detailed Description

The Ekos scheduler is a simple scheduler class to orchestrate automated multi object observation jobs.

Author
Jasem Mutlaq
Version
1.2

Definition at line 49 of file scheduler.h.

Member Enumeration Documentation

◆ ErrorHandlingStrategy

options what should happen if an error or abort occurs

Definition at line 100 of file scheduler.h.

◆ SchedulerAlgorithm

Algorithms, in the same order as UI.

Definition at line 108 of file scheduler.h.

◆ SchedulerColumns

Columns, in the same order as UI.

Definition at line 115 of file scheduler.h.

◆ SchedulerTimerState

IterationTypes, the different types of scheduler iterations that are run.

Definition at line 130 of file scheduler.h.

Constructor & Destructor Documentation

◆ Scheduler() [1/2]

Ekos::Scheduler::Scheduler ( )

Constructor, the starndard scheduler constructor.

Definition at line 403 of file scheduler.cpp.

◆ Scheduler() [2/2]

Ekos::Scheduler::Scheduler ( const QString  path,
const QString  interface,
const QString ekosPathStr,
const QString ekosInterfaceStr 
)

DebugConstructor, a constructor used in testing with a mock ekos.

Definition at line 409 of file scheduler.cpp.

Member Function Documentation

◆ addJob()

void Ekos::Scheduler::addJob ( )

addJob Add a new job from form values

Definition at line 1106 of file scheduler.cpp.

◆ appendEkosScheduleList

bool Ekos::Scheduler::appendEkosScheduleList ( const QString fileURL)
protectedslot

appendEkosScheduleList Append the contents of an ESL file to the queue.

Parameters
fileURLFile URL to load contents from.
Returns
True if contents were loaded successfully, else false.

Definition at line 4406 of file scheduler.cpp.

◆ calculateJobScore()

int16_t Ekos::Scheduler::calculateJobScore ( SchedulerJob const *  job,
QDateTime const &  dawn,
QDateTime const &  dusk,
QDateTime const &  when = QDateTime() 
)
static

calculateJobScore Calculate job dark sky score, altitude score, and moon separation scores and returns the sum.

Parameters
jobTarget
dawnnext dawn, as a KStarsDateTime
dusknext dusk, as a KStarsDateTime
whendate and time to evaluate constraints, now if omitted.
Returns
Total score

Definition at line 2981 of file scheduler.cpp.

◆ checkInterfaceReady

void Ekos::Scheduler::checkInterfaceReady ( QDBusInterface iface)
protectedslot

checkInterfaceReady Sometimes syncProperties() is not sufficient since the ready signal could have fired already and cannot be relied on to know once a module interface is ready.

Therefore, we explicitly check if the module interface is ready.

Parameters
ifaceinterface to test for readiness.

Definition at line 7730 of file scheduler.cpp.

◆ checkJobStage

void Ekos::Scheduler::checkJobStage ( )
protectedslot

checkJobStage Check the progress of the job states and make DBUS call to start the next stage until the job is complete.

Definition at line 3851 of file scheduler.cpp.

◆ checkProcessExit

void Ekos::Scheduler::checkProcessExit ( int  exitCode)
protectedslot

checkProcessExit Check script process exist status.

This is called when the process exists either normally or abnormally.

Parameters
exitCodeexit code from the script process. Depending on the exist code, the status of startup/shutdown procedure is set accordingly.

Definition at line 3685 of file scheduler.cpp.

◆ checkStatus

bool Ekos::Scheduler::checkStatus ( )
protectedslot

checkJobStatus Check the overall state of the scheduler, Ekos, and INDI.

When all is OK, it calls evaluateJobs() when no job is current or executeJob() if a job is selected.

Returns
False if this function needs to be called again later, true if situation is stable and operations may continue.

Definition at line 3746 of file scheduler.cpp.

◆ checkTwilightWarning

void Ekos::Scheduler::checkTwilightWarning ( bool  enabled)
protectedslot

displayTwilightWarning Display twilight warning to user if it is unchecked.

Definition at line 7207 of file scheduler.cpp.

◆ clickQueueTable

void Ekos::Scheduler::clickQueueTable ( QModelIndex  index)
protectedslot

jobSelectionChanged Update UI state when the job list is clicked once.

Definition at line 1612 of file scheduler.cpp.

◆ createJobSequence()

bool Ekos::Scheduler::createJobSequence ( XMLEle *  root,
const QString prefix,
const QString outputDir 
)

createJobSequence Creates a job sequence for the mosaic tool given the prefix and output dir.

The currently selected sequence file is modified and a new version given the supplied parameters are saved to the output directory

Parameters
prefixPrefix to set for the job sequence
outputDirOutput dir to set for the job sequence
Returns
True if new file is saved, false otherwise

Definition at line 7147 of file scheduler.cpp.

◆ disconnectINDI()

void Ekos::Scheduler::disconnectINDI ( )

disconnectINDI disconnect all INDI devices from server.

Definition at line 5664 of file scheduler.cpp.

◆ estimateJobTime()

bool Ekos::Scheduler::estimateJobTime ( SchedulerJob *  schedJob,
const QMap< QString, uint16_t > &  capturedFramesCount,
Scheduler scheduler 
)
static

estimateJobTime Estimates the time the job takes to complete based on the sequence file and what modules to utilize during the observation run.

Parameters
jobtarget job
capturedFramesCounta map of what's been captured already
schedulerinstance of the scheduler used for logging. Can be nullptr.
Returns
Estimated time in seconds.

Definition at line 5887 of file scheduler.cpp.

◆ evaluateJobs()

QList< SchedulerJob * > Ekos::Scheduler::evaluateJobs ( QList< SchedulerJob * > &  jobs,
const QMap< QString, uint16_t > &  capturedFramesCount,
QDateTime const &  dawn,
QDateTime const &  dusk,
Scheduler scheduler 
)
static

evaluateJobs Computes estimated start and end times for the SchedulerJobs passed in.

Returns a proposed schedule.

Parameters
jobsThe input list of SchedulerJobs to evaluate.
capturedFramesCountwhich parts of the schedulerJobs have already been completed.
dawnnext dawn, as a KStarsDateTime
dusknext dusk, as a KStarsDateTime
schedulerinstance of the scheduler used for logging. Can be nullptr.
Returns
list of sorted jobs

Definition at line 2342 of file scheduler.cpp.

◆ findNextJob

void Ekos::Scheduler::findNextJob ( )
protectedslot

findNextJob Check if the job met the completion criteria, and if it did, then it search for next job candidate.

If no jobs are found, it starts the shutdown stage.

Definition at line 5114 of file scheduler.cpp.

◆ getDarkSkyScore()

int16_t Ekos::Scheduler::getDarkSkyScore ( QDateTime const &  dawn,
QDateTime const &  dusk,
QDateTime const &  when = QDateTime() 
)
static

getDarkSkyScore Get the dark sky score of a date and time.

The further from dawn the better.

Parameters
whendate and time to check the dark sky score, now if omitted
Returns
Dark sky score. Daylight get bad score, as well as pre-dawn to dawn.

Definition at line 2935 of file scheduler.cpp.

◆ getErrorHandlingStrategy()

Scheduler::ErrorHandlingStrategy Ekos::Scheduler::getErrorHandlingStrategy ( )

retrieve the error handling strategy from the UI

Definition at line 6939 of file scheduler.cpp.

◆ getLocalTime()

KStarsDateTime Ekos::Scheduler::getLocalTime ( )
static

Setter used in testing to fix the local time.

Otherwise getter gets from KStars instance.

Definition at line 273 of file scheduler.cpp.

◆ getNextAction()

void Ekos::Scheduler::getNextAction ( )

getNextAction Checking for the next appropriate action regarding the current state of the scheduler and execute it

Definition at line 4161 of file scheduler.cpp.

◆ importMosaic()

bool Ekos::Scheduler::importMosaic ( const QJsonObject payload)

importMosaic Import mosaic into planner and generate jobs for the scheduler.

Parameters
payloadmetadata for the mosaic information.
Note
Only Telescopius.com mosaic format is now supported.

Definition at line 8778 of file scheduler.cpp.

◆ load

void Ekos::Scheduler::load ( bool  clearQueue,
const QString filename = "" 
)
protectedslot

load Open a file dialog to select an ESL file, and load its contents.

Parameters
clearQueueClear the queue before loading, or append ESL contents to queue.
filenameIf not empty, this file will be used instead of poping up a dialog.

Definition at line 4358 of file scheduler.cpp.

◆ loadJob

void Ekos::Scheduler::loadJob ( QModelIndex  i)
protectedslot

editJob Edit an observation job

Parameters
iindex model in queue table

Definition at line 1552 of file scheduler.cpp.

◆ loadScheduler()

bool Ekos::Scheduler::loadScheduler ( const QString fileURL)

DBUS interface function.

Loads the Ekos Scheduler List (.esl) file.

Parameters
fileURLpath to a file
Returns
true if loading file is successful, false otherwise.

Definition at line 4400 of file scheduler.cpp.

◆ loadSequenceQueue()

bool Ekos::Scheduler::loadSequenceQueue ( const QString fileURL,
SchedulerJob *  schedJob,
QList< SequenceJob * > &  jobs,
bool &  hasAutoFocus,
Scheduler scheduler 
)
static

loadSequenceQueue Loads what's necessary to estimate job completion time from a capture sequence queue file

Parameters
fileURLthe filename
schedJobthe SchedulerJob is modified according to the contents of the sequence queue
jobsthe returned values read from the file
hasAutoFocusa return value indicating whether autofocus can be triggered by the sequence.
schedulerinstance of the scheduler used for logging. Can be nullptr.
Returns
Estimated time in seconds.

Definition at line 7411 of file scheduler.cpp.

◆ manageConnectionLoss

bool Ekos::Scheduler::manageConnectionLoss ( )
protectedslot

manageConnectionLoss Mitigate loss of connection with the INDI server.

Returns
true if connection to Ekos/INDI should be attempted again, false if not mitigation is available or needed.

Definition at line 4305 of file scheduler.cpp.

◆ moveJobDown

void Ekos::Scheduler::moveJobDown ( )
protectedslot

moveJobDown Move the selected job down in the list.

Definition at line 1717 of file scheduler.cpp.

◆ moveJobUp

void Ekos::Scheduler::moveJobUp ( )
protectedslot

moveJobUp Move the selected job up in the job list.

Definition at line 1683 of file scheduler.cpp.

◆ prepareJobsForEvaluation()

QList< SchedulerJob * > Ekos::Scheduler::prepareJobsForEvaluation ( QList< SchedulerJob * > &  jobs,
SchedulerState  state,
const QMap< QString, uint16_t > &  capturedFramesCount,
bool  rescheduleErrors,
bool  restartJobs,
bool *  possiblyDelay,
Scheduler scheduler 
)
static

prepareJobsForEvaluation Start of job evaluation

Parameters
jobsThe input list of SchedulerJobs to evaluate.
stateThe current scheduler state.
capturedFramesCountwhich parts of the schedulerJobs have already been completed.
rescheduleErrorswhether jobs that failed with errors should be rescheduled.
restartJobswhether jobs that failed for one reason or another shoulc be rescheduled.
possiblyDelaya return value indicating whether the timer should try scheduling again after a delay.
schedulerinstance of the scheduler used for logging. Can be nullptr.
Returns
Total score

Definition at line 2180 of file scheduler.cpp.

◆ queueTableSelectionChanged

void Ekos::Scheduler::queueTableSelectionChanged ( QModelIndex  current,
QModelIndex  previous 
)
protectedslot

Update scheduler parameters to the currently selected scheduler job.

Parameters
currenttable position
previoustable position

Definition at line 1591 of file scheduler.cpp.

◆ readProcessOutput

void Ekos::Scheduler::readProcessOutput ( )
protectedslot

readProcessOutput read running script process output and display it in Ekos

Definition at line 3680 of file scheduler.cpp.

◆ registerNewDevice

void Ekos::Scheduler::registerNewDevice ( const QString name,
int  interface 
)
protectedslot

registerNewDevice register interfaces associated with devices

Parameters
nameDevice name
interfaceDevice driver interface

Definition at line 7546 of file scheduler.cpp.

◆ registerNewModule

void Ekos::Scheduler::registerNewModule ( const QString name)
protectedslot

registerNewModule Register an Ekos module as it arrives via DBus and create the appropriate DBus interface to communicate with it.

Parameters
nameof module

Definition at line 7603 of file scheduler.cpp.

◆ removeAllJobs()

void Ekos::Scheduler::removeAllJobs ( )

DBUS interface function.

Remove all scheduler jobs

Definition at line 4388 of file scheduler.cpp.

◆ removeJob()

void Ekos::Scheduler::removeJob ( )

Remove a job from current table row.

Parameters
index

Definition at line 1799 of file scheduler.cpp.

◆ removeOneJob()

void Ekos::Scheduler::removeOneJob ( int  index)

Remove a job by selecting a table row.

Parameters
index

Definition at line 1848 of file scheduler.cpp.

◆ reorderJobs

bool Ekos::Scheduler::reorderJobs ( QList< SchedulerJob * >  reordered_sublist)
protectedslot

reorderJobs Change the order of jobs in the UI based on a subset of its jobs.

Definition at line 1654 of file scheduler.cpp.

◆ resetAllJobs()

void Ekos::Scheduler::resetAllJobs ( )

DBUS interface function.

Resets all jobs to IDLE

Definition at line 7194 of file scheduler.cpp.

◆ resumeCheckStatus

void Ekos::Scheduler::resumeCheckStatus ( )
protectedslot

resumeCheckStatus If the scheduler primary loop was suspended due to weather or sleep event, resume it again.

Definition at line 6932 of file scheduler.cpp.

◆ saveJob()

void Ekos::Scheduler::saveJob ( )

addToQueue Construct a SchedulerJob and add it to the queue or save job settings from current form values.

jobUnderEdit determines whether to add or edit

Definition at line 1200 of file scheduler.cpp.

◆ saveScheduler()

bool Ekos::Scheduler::saveScheduler ( const QUrl fileURL)

saveScheduler Save scheduler jobs to a file

Parameters
pathpath of a file
Returns
true on success, false on failure.

Definition at line 4752 of file scheduler.cpp.

◆ selectFITS

void Ekos::Scheduler::selectFITS ( )
protectedslot

Selects FITS file for solving.

Definition at line 946 of file scheduler.cpp.

◆ selectObject

void Ekos::Scheduler::selectObject ( )
protectedslot

select object from KStars's find dialog.

Definition at line 912 of file scheduler.cpp.

◆ selectSequence

void Ekos::Scheduler::selectSequence ( )
protectedslot

Selects sequence queue.

Definition at line 1069 of file scheduler.cpp.

◆ selectShutdownScript

void Ekos::Scheduler::selectShutdownScript ( )
protectedslot

Selects sequence queue.

Definition at line 1092 of file scheduler.cpp.

◆ selectStartupScript

void Ekos::Scheduler::selectStartupScript ( )
protectedslot

Selects sequence queue.

Definition at line 1078 of file scheduler.cpp.

◆ setCaptureComplete

void Ekos::Scheduler::setCaptureComplete ( const QVariantMap &  metadata)
protectedslot

setCaptureComplete Handle one sequence image completion.

This is used now only to run alignment check to ensure it does not deviation from current scheduler job target.

Parameters
metadataMetadata for image including filename, exposure, filter, hfr..etc.

Definition at line 8382 of file scheduler.cpp.

◆ setDirty()

void Ekos::Scheduler::setDirty ( )
protected

Marks the currently selected SchedulerJob as modified change.

This triggers job re-evaluation. Next time save button is invoked, the complete content is written to disk.

Definition at line 5682 of file scheduler.cpp.

◆ setErrorHandlingStrategy()

void Ekos::Scheduler::setErrorHandlingStrategy ( Scheduler::ErrorHandlingStrategy  strategy)

select the error handling strategy (no restart, restart after all terminated, restart immediately)

Definition at line 6951 of file scheduler.cpp.

◆ setJobAddApply

void Ekos::Scheduler::setJobAddApply ( bool  add_mode)
protectedslot

setJobAddApply Set first button state to add new job or apply changes.

Definition at line 1617 of file scheduler.cpp.

◆ setJobManipulation

void Ekos::Scheduler::setJobManipulation ( bool  can_reorder,
bool  can_delete 
)
protectedslot

setJobManipulation Enable or disable job manipulation buttons.

Definition at line 1635 of file scheduler.cpp.

◆ setJobStatusCells()

void Ekos::Scheduler::setJobStatusCells ( int  row)
protected

Associate job table cells on a row to the corresponding SchedulerJob.

Parameters
rowis an integer indexing the row to associate cells from, and also the index of the job in the job list..

Definition at line 1751 of file scheduler.cpp.

◆ setSequence()

void Ekos::Scheduler::setSequence ( const QString sequenceFileURL)

DBUS interface function.

Set the file URL pointing to the capture sequence file

Parameters
sequenceFileURLURL of the capture sequence file

Definition at line 1047 of file scheduler.cpp.

◆ setSolverAction()

void Ekos::Scheduler::setSolverAction ( Align::GotoMode  mode)

setSolverAction set the GOTO mode for the solver

Parameters
mode0 For Sync, 1 for SlewToTarget, 2 for Nothing

Definition at line 5657 of file scheduler.cpp.

◆ setupJob()

void Ekos::Scheduler::setupJob ( SchedulerJob &  job,
const QString name,
int  priority,
const dms ra,
const dms dec,
double  djd,
double  rotation,
const QUrl sequenceUrl,
const QUrl fitsUrl,
SchedulerJob::StartupCondition  startup,
const QDateTime startupTime,
int16_t  startupOffset,
SchedulerJob::CompletionCondition  completion,
const QDateTime completionTime,
int  completionRepeats,
double  minimumAltitude,
double  minimumMoonSeparation,
bool  enforceWeather,
bool  enforceTwilight,
bool  enforceArtificialHorizon,
bool  track,
bool  focus,
bool  align,
bool  guide 
)
static

setupJob Massive initialization of a SchedulerJob for testing and exectution

Parameters
jobTarget

Definition at line 1124 of file scheduler.cpp.

◆ shouldSchedulerSleep

bool Ekos::Scheduler::shouldSchedulerSleep ( SchedulerJob *  currentJob)
protectedslot

shouldSchedulerSleep Check if the scheduler needs to sleep until the job is ready

Parameters
currentJobJob to check
Returns
True if we set the scheduler to sleep mode. False, if not required and we need to execute now

Definition at line 8237 of file scheduler.cpp.

◆ solverDone

void Ekos::Scheduler::solverDone ( bool  timedOut,
bool  success,
const FITSImage::Solution &  solution,
double  elapsedSeconds 
)
protectedslot

solverDone Process solver solution after it is done.

Parameters
timedOutTrue if the process timed out.
successTrue if successful, false otherwise.
solutionThe solver solution if successful.
elapsedSecondsHow many seconds elapsed to solve the image.

Definition at line 8434 of file scheduler.cpp.

◆ sortJobsPerAltitude()

void Ekos::Scheduler::sortJobsPerAltitude ( )

DBUS interface function.

Resets all jobs to IDLE

Definition at line 6905 of file scheduler.cpp.

◆ start()

void Ekos::Scheduler::start ( )

DBUS interface function.

Start the scheduler main loop and evaluate jobs and execute them accordingly.

Definition at line 293 of file scheduler.cpp.

◆ startAstrometry()

void Ekos::Scheduler::startAstrometry ( )

startAstrometry initiation of the capture and solve operation.

We change the job state after solver is started

Definition at line 5384 of file scheduler.cpp.

◆ startCapture()

void Ekos::Scheduler::startCapture ( bool  restart = false)

startCapture The current job file name is solved to an url which is fed to ekos.

We then start the capture process

Parameters
restartSet to true if the goal to restart an existing sequence. The only difference is that when a sequence is restarted, sequence file is not loaded from disk again since that results in erasing all the history of the capture process.

Definition at line 5549 of file scheduler.cpp.

◆ startFocusing()

void Ekos::Scheduler::startFocusing ( )

startFocusing DBus call for feeding ekos the specified settings and initiating focus operation

Definition at line 4968 of file scheduler.cpp.

◆ startGuiding()

void Ekos::Scheduler::startGuiding ( bool  resetCalibration = false)

startGuiding After ekos is fed the calibration options, we start the guiding process

Parameters
resetCalibrationBy default calibration is not reset until it is explicitly requested

Definition at line 5509 of file scheduler.cpp.

◆ startJobEvaluation

void Ekos::Scheduler::startJobEvaluation ( )
protectedslot

startJobEvaluation Start job evaluation only without starting the scheduler process itself.

Display the result to the user.

Definition at line 6886 of file scheduler.cpp.

◆ startMosaicTool

void Ekos::Scheduler::startMosaicTool ( )
protectedslot

startMosaicTool Start Mosaic tool and create jobs if necessary.

Definition at line 7005 of file scheduler.cpp.

◆ startSlew()

void Ekos::Scheduler::startSlew ( )

startSlew DBus call for initiating slew

Definition at line 4927 of file scheduler.cpp.

◆ stop()

void Ekos::Scheduler::stop ( )

DBUS interface function.

Stop the scheduler.

Definition at line 1864 of file scheduler.cpp.

◆ stopCurrentJobAction

void Ekos::Scheduler::stopCurrentJobAction ( )
protectedslot

stopCurrentJobAction Stop whatever action taking place in the current job (eg.

capture, guiding...etc).

Definition at line 4259 of file scheduler.cpp.

◆ stopEkos()

void Ekos::Scheduler::stopEkos ( )

stopEkos shutdown Ekos completely

Definition at line 5672 of file scheduler.cpp.

◆ stopGuiding()

void Ekos::Scheduler::stopGuiding ( )

stopGuiding After guiding is done we need to stop the process

Definition at line 5638 of file scheduler.cpp.

◆ syncGUIToJob

void Ekos::Scheduler::syncGUIToJob ( SchedulerJob *  job)
protectedslot

set all GUI fields to the values of the given scheduler job

Definition at line 1437 of file scheduler.cpp.

◆ syncProperties

void Ekos::Scheduler::syncProperties ( )
protectedslot

syncProperties Sync startup properties from the various device to enable/disable features in the scheduler like the ability to park/unpark..etc

Definition at line 7658 of file scheduler.cpp.

◆ updateNightTime

void Ekos::Scheduler::updateNightTime ( SchedulerJob const *  job = nullptr)
protectedslot

updateNightTime update the Twilight restriction with the argument job properties.

Parameters
jobSchedulerJob for which to display the next dawn and dusk, or the job currently selected if null, or today's next dawn and dusk if no job is selected.

Definition at line 1536 of file scheduler.cpp.

◆ wakeUpScheduler

void Ekos::Scheduler::wakeUpScheduler ( )
protectedslot

checkWeather Check weather status and act accordingly depending on the current status of the scheduler and running jobs.

wakeUpScheduler Wake up scheduler from sleep state

Definition at line 2900 of file scheduler.cpp.

◆ watchJobChanges()

void Ekos::Scheduler::watchJobChanges ( bool  enable)
protected

Enables signal watch on SchedulerJob form values in order to apply changes to current job.

Parameters
enableis the toggle flag, true to watch for changes, false to ignore them.

Definition at line 738 of file scheduler.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon May 8 2023 03:57:40 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.