Search for usage in LXR

#include <scheduler.h>

Inheritance diagram for Ekos::Scheduler:

Public Types

enum  SchedulerColumns {
- Public Types inherited from QWidget
enum  RenderFlag
- Public Types inherited from QPaintDevice
enum  PaintDeviceMetric


QStringList logText
QString profile
Ekos::SchedulerState status
- Properties inherited from QWidget
- Properties inherited from QObject


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)
SchedulerJob * activeJob ()
void addJob ()
void addObject (SkyObject *object)
void appendLogText (const QString &)
void applyConfig ()
void clearLog ()
bool createJobSequence (XMLEle *root, const QString &prefix, const QString &outputDir)
QString getCurrentJobName ()
ErrorHandlingStrategy getErrorHandlingStrategy ()
QJsonArray getJSONJobs ()
QString getLogText ()
void getNextAction ()
QJsonObject getSchedulerSettings ()
XMLEle * getSequenceJobRoot (const QString &filename) const
bool importMosaic (const QJsonObject &payload)
Q_SCRIPTABLE bool loadScheduler (const QString &fileURL)
QStringList logText ()
QSharedPointer< SchedulerModuleState > moduleState () const
QString profile ()
Q_SCRIPTABLE Q_NOREPLY void removeAllJobs ()
void removeJob ()
void removeOneJob (int index)
Q_SCRIPTABLE void resetAllJobs ()
void saveJob ()
Q_SCRIPTABLE 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)
Q_SCRIPTABLE void sortJobsPerAltitude ()
void startCapture (bool restart=false)
Ekos::SchedulerState status ()
void toggleScheduler ()
void updateTable ()
- 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
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_ENUM (...)
 Q_ENUM_NS (...)
 Q_ENUMS (...)
 Q_FLAG (...)
 Q_FLAG_NS (...)
 Q_FLAGS (...)
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)
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 bool estimateJobTime (SchedulerJob *schedJob, const QMap< QString, uint16_t > &capturedFramesCount, Scheduler *scheduler)
static bool loadSequenceQueue (const QString &fileURL, SchedulerJob *schedJob, QList< SequenceJob * > &jobs, bool &hasAutoFocus, Scheduler *scheduler)
- 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 ()
void checkJobStageEplogue ()
bool checkStatus ()
void checkTwilightWarning (bool enabled)
void clickQueueTable (QModelIndex index)
void findNextJob ()
void load (bool clearQueue, const QString &filename="")
void loadJob (QModelIndex i)
void moveJobDown ()
void moveJobUp ()
void pause ()
void queueTableSelectionChanged (QModelIndex current, QModelIndex previous)
void registerNewDevice (const QString &name, int interface)
void registerNewModule (const QString &name)
bool reorderJobs (QList< SchedulerJob * > reordered_sublist)
void resetJobEdit ()
void resumeCheckStatus ()
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 stopCurrentJobAction ()
bool syncControl (const QJsonObject &settings, const QString &key, QWidget *widget)
void syncGUIToGeneralSettings ()
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
typedef RenderFlags
- Public Attributes inherited from QObject
typedef QObjectList
- Public Attributes inherited from QPaintDevice

Detailed Description

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

Jasem Mutlaq

Definition at line 49 of file scheduler.h.

Member Enumeration Documentation

◆ SchedulerColumns

Columns, in the same order as UI.

Definition at line 60 of file scheduler.h.

Constructor & Destructor Documentation

◆ Scheduler() [1/2]

Ekos::Scheduler::Scheduler ( )

Constructor, the starndard scheduler constructor.

Definition at line 231 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 237 of file scheduler.cpp.

Member Function Documentation

◆ addJob()

void Ekos::Scheduler::addJob ( )

addJob Add a new job from form values

Definition at line 971 of file scheduler.cpp.

◆ appendEkosScheduleList

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

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

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

Definition at line 2625 of file scheduler.cpp.

◆ checkInterfaceReady

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

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.

ifaceinterface to test for readiness.

Definition at line 4408 of file scheduler.cpp.

◆ checkJobStage

void Ekos::Scheduler::checkJobStage ( )

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 2221 of file scheduler.cpp.

◆ checkStatus

bool Ekos::Scheduler::checkStatus ( )

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.

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

Definition at line 2095 of file scheduler.cpp.

◆ checkTwilightWarning

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

displayTwilightWarning Display twilight warning to user if it is unchecked.

Definition at line 4027 of file scheduler.cpp.

◆ clickQueueTable

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

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

Definition at line 1397 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

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

Definition at line 3967 of file scheduler.cpp.

◆ estimateJobTime()

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

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

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

Definition at line 3517 of file scheduler.cpp.

◆ findNextJob

void Ekos::Scheduler::findNextJob ( )

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 2984 of file scheduler.cpp.

◆ getErrorHandlingStrategy()

ErrorHandlingStrategy Ekos::Scheduler::getErrorHandlingStrategy ( )

retrieve the error handling strategy from the UI

Definition at line 3889 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 2433 of file scheduler.cpp.

◆ importMosaic()

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

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

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

Definition at line 5134 of file scheduler.cpp.

◆ load

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

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

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 2577 of file scheduler.cpp.

◆ loadJob

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

editJob Edit an observation job

iindex model in queue table

Definition at line 1337 of file scheduler.cpp.

◆ loadScheduler()

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

DBUS interface function.

Loads the Ekos Scheduler List (.esl) file.

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

Definition at line 2619 of file scheduler.cpp.

◆ loadSequenceQueue()

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

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

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.
Estimated time in seconds.

Definition at line 4053 of file scheduler.cpp.

◆ moveJobDown

void Ekos::Scheduler::moveJobDown ( )

moveJobDown Move the selected job down in the list.

Definition at line 1502 of file scheduler.cpp.

◆ moveJobUp

void Ekos::Scheduler::moveJobUp ( )

moveJobUp Move the selected job up in the job list.

Definition at line 1468 of file scheduler.cpp.

◆ queueTableSelectionChanged

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

Update scheduler parameters to the currently selected scheduler job.

currenttable position
previoustable position

Definition at line 1376 of file scheduler.cpp.

◆ registerNewDevice

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

registerNewDevice register interfaces associated with devices

nameDevice name
interfaceDevice driver interface

Definition at line 4218 of file scheduler.cpp.

◆ registerNewModule

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

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

nameof module

Definition at line 4279 of file scheduler.cpp.

◆ removeAllJobs()

void Ekos::Scheduler::removeAllJobs ( )

DBUS interface function.

Remove all scheduler jobs

Definition at line 2607 of file scheduler.cpp.

◆ removeJob()

void Ekos::Scheduler::removeJob ( )

Remove a job from current table row.


Definition at line 1587 of file scheduler.cpp.

◆ removeOneJob()

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

Remove a job by selecting a table row.


Definition at line 1637 of file scheduler.cpp.

◆ reorderJobs

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

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

Definition at line 1439 of file scheduler.cpp.

◆ resetAllJobs()

void Ekos::Scheduler::resetAllJobs ( )

DBUS interface function.

Resets all jobs to IDLE

Definition at line 4014 of file scheduler.cpp.

◆ resumeCheckStatus

void Ekos::Scheduler::resumeCheckStatus ( )

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

Definition at line 3882 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 989 of file scheduler.cpp.

◆ saveScheduler()

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

saveScheduler Save scheduler jobs to a file

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

Definition at line 5195 of file scheduler.cpp.

◆ selectFITS

void Ekos::Scheduler::selectFITS ( )

Selects FITS file for solving.

Definition at line 809 of file scheduler.cpp.

◆ selectObject

void Ekos::Scheduler::selectObject ( )

select object from KStars's find dialog.

Definition at line 775 of file scheduler.cpp.

◆ selectSequence

void Ekos::Scheduler::selectSequence ( )

Selects sequence queue.

Definition at line 932 of file scheduler.cpp.

◆ selectShutdownScript

void Ekos::Scheduler::selectShutdownScript ( )

Selects sequence queue.

Definition at line 956 of file scheduler.cpp.

◆ selectStartupScript

void Ekos::Scheduler::selectStartupScript ( )

Selects sequence queue.

Definition at line 941 of file scheduler.cpp.

◆ setCaptureComplete

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

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.

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

Definition at line 4741 of file scheduler.cpp.

◆ setDirty()

void Ekos::Scheduler::setDirty ( )

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 3285 of file scheduler.cpp.

◆ setErrorHandlingStrategy()

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

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

Definition at line 3900 of file scheduler.cpp.

◆ setJobAddApply

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

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

Definition at line 1402 of file scheduler.cpp.

◆ setJobManipulation

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

setJobManipulation Enable or disable job manipulation buttons.

Definition at line 1420 of file scheduler.cpp.

◆ setJobStatusCells()

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

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

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

Definition at line 1542 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

sequenceFileURLURL of the capture sequence file

Definition at line 910 of file scheduler.cpp.

◆ shouldSchedulerSleep

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

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

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

Definition at line 4661 of file scheduler.cpp.

◆ solverDone

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

solverDone Process solver solution after it is done.

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 4793 of file scheduler.cpp.

◆ sortJobsPerAltitude()

void Ekos::Scheduler::sortJobsPerAltitude ( )

DBUS interface function.

Resets all jobs to IDLE

Definition at line 3855 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 147 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

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.

◆ startJobEvaluation

void Ekos::Scheduler::startJobEvaluation ( )

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

Display the result to the user.

Definition at line 3826 of file scheduler.cpp.

◆ stop()

void Ekos::Scheduler::stop ( )

DBUS interface function.

Stop the scheduler.

Definition at line 1653 of file scheduler.cpp.

◆ stopCurrentJobAction

void Ekos::Scheduler::stopCurrentJobAction ( )

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

capture, guiding...etc).

Definition at line 2531 of file scheduler.cpp.

◆ syncGUIToGeneralSettings

void Ekos::Scheduler::syncGUIToGeneralSettings ( )

syncGUIToGeneralSettings set all UI fields that are not job specific

Definition at line 1295 of file scheduler.cpp.

◆ syncGUIToJob

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

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

Definition at line 1204 of file scheduler.cpp.

◆ syncProperties

void Ekos::Scheduler::syncProperties ( )

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 4336 of file scheduler.cpp.

◆ updateNightTime

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

updateNightTime update the Twilight restriction with the argument job properties.

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 1321 of file scheduler.cpp.

◆ updateTable()

void Ekos::Scheduler::updateTable ( )

Update table cells for all jobs.

For framing assistant

Definition at line 1536 of file scheduler.cpp.

◆ wakeUpScheduler

void Ekos::Scheduler::wakeUpScheduler ( )

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 1982 of file scheduler.cpp.

◆ watchJobChanges()

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

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

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

Definition at line 601 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 Fri Dec 1 2023 04:06:04 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.