Ekos::SchedulerProcess

Search for usage in LXR

Ekos::SchedulerProcess Class Reference

#include <schedulerprocess.h>

Inheritance diagram for Ekos::SchedulerProcess:

Properties

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

Signals

void addJob (SchedulerJob *job)
 
void changeCurrentSequence (const QString &sequenceFileURL)
 
void changeSleepLabel (QString text, bool show=true)
 
void clearJobTable ()
 
void interfaceReady (QDBusInterface *iface)
 
void jobEnded (const QString &jobName, const QString &endReason)
 
void jobStarted (const QString &jobName)
 
void jobsUpdated (QJsonArray jobsList)
 
void newLog (const QString &text)
 
void newStatus (SchedulerState state)
 
void newWeatherStatus (ISD::Weather::Status state)
 
void schedulerPaused ()
 
void schedulerSleeping (bool shutdown, bool sleep)
 
void schedulerStopped ()
 
void shutdownStarted ()
 
void syncGreedyParams ()
 
void syncGUIToGeneralSettings ()
 
void targetDistance (double distance)
 
void updateJobTable (SchedulerJob *job=nullptr)
 
void updateSchedulerURL (const QString &fileURL)
 

Public Member Functions

 SchedulerProcess (QSharedPointer< SchedulerModuleState > state, const QString &ekosPathStr, const QString &ekosInterfaceStr)
 
QPointer< QDBusInterfacealignInterface () const
 
Q_SCRIPTABLE bool appendEkosScheduleList (const QString &fileURL)
 
Q_SCRIPTABLE Q_NOREPLY void appendLogText (const QString &logentry) override
 
void applyConfig ()
 
QPointer< QDBusInterfacecapInterface () const
 
QPointer< QDBusInterfacecaptureInterface () const
 
void checkCapParkingStatus ()
 
bool checkEkosState ()
 
bool checkINDIState ()
 
void checkJobStage ()
 
void checkJobStageEpilogue ()
 
Q_SCRIPTABLE bool checkParkWaitState ()
 
bool checkShutdownState ()
 
bool checkStartupState ()
 
bool checkStatus ()
 
Q_SCRIPTABLE void clearLog ()
 
Q_SCRIPTABLE bool completeShutdown ()
 
bool createJobSequence (XMLEle *root, const QString &prefix, const QString &outputDir)
 
Q_SCRIPTABLE Q_NOREPLY void disconnectINDI ()
 
QPointer< QDBusInterfacedomeInterface () const
 
QPointer< QDBusInterfaceekosInterface () const
 
Q_SCRIPTABLE Q_NOREPLY void evaluateJobs (bool evaluateOnly)
 
Q_SCRIPTABLE void execute ()
 
bool executeJob (SchedulerJob *job)
 
void findNextJob ()
 
QPointer< QDBusInterfacefocusInterface () const
 
QPointer< GreedyScheduler > & getGreedyScheduler ()
 
GuideState getGuidingStatus ()
 
void getNextAction ()
 
XMLElegetSequenceJobRoot (const QString &filename) const
 
QPointer< QDBusInterfaceguideInterface () const
 
QPointer< QDBusInterfaceindiInterface () const
 
Q_SCRIPTABLE bool isDomeParked ()
 
Q_SCRIPTABLE bool isMountParked ()
 
void iterate ()
 
void loadProfiles ()
 
Q_SCRIPTABLE bool loadScheduler (const QString &fileURL)
 
QStringList logText ()
 
bool manageConnectionLoss ()
 
QSharedPointer< SchedulerModuleState > moduleState () const
 
QPointer< QDBusInterfacemountInterface () const
 
void processGuidingTimer ()
 
const QStringprofile () const
 
Q_SCRIPTABLE Q_NOREPLY void removeAllJobs ()
 
Q_SCRIPTABLE Q_NOREPLY void resetAllJobs ()
 
Q_SCRIPTABLE Q_NOREPLY void resetJobs ()
 
int runSchedulerIteration ()
 
Q_SCRIPTABLE Q_NOREPLY void runShutdownProcedure ()
 
Q_SCRIPTABLE Q_NOREPLY void runStartupProcedure ()
 
Q_SCRIPTABLE bool saveScheduler (const QUrl &fileURL)
 
QProcessscriptProcess ()
 
void selectActiveJob (const QList< SchedulerJob * > &jobs)
 
void setAlignInterface (QPointer< QDBusInterface > newInterface)
 
void setAlignInterfaceString (const QString &interface)
 
void setAlignPathString (const QString &interface)
 
void setCapInterface (QPointer< QDBusInterface > newInterface)
 
void setCaptureInterface (QPointer< QDBusInterface > newInterface)
 
void setCaptureInterfaceString (const QString &interface)
 
void setCapturePathString (const QString &interface)
 
void setDomeInterface (QPointer< QDBusInterface > newInterface)
 
void setDomeInterfaceString (const QString &interface)
 
void setDomePathString (const QString &interface)
 
void setDustCapInterfaceString (const QString &interface)
 
void setDustCapPathString (const QString &interface)
 
void setEkosInterface (QPointer< QDBusInterface > newInterface)
 
void setFocusInterface (QPointer< QDBusInterface > newInterface)
 
void setFocusInterfaceString (const QString &interface)
 
void setFocusPathString (const QString &interface)
 
void setGuideInterface (QPointer< QDBusInterface > newInterface)
 
void setGuideInterfaceString (const QString &interface)
 
void setGuidePathString (const QString &interface)
 
void setIndiInterface (QPointer< QDBusInterface > newInterface)
 
void setMountInterface (QPointer< QDBusInterface > newInterface)
 
void setMountInterfaceString (const QString &interface)
 
void setMountPathString (const QString &interface)
 
Q_SCRIPTABLE Q_NOREPLY void setPaused ()
 
void setProfile (const QString &newProfile)
 
Q_SCRIPTABLE Q_NOREPLY void setSequence (const QString &sequenceFileURL)
 
void setSolverAction (Align::GotoMode mode)
 
void setWeatherInterface (QPointer< QDBusInterface > newInterface)
 
void setWeatherInterfaceString (const QString &interface)
 
void setWeatherPathString (const QString &interface)
 
bool shouldSchedulerSleep (SchedulerJob *job)
 
void simClockScaleChanged (float)
 
void simClockTimeChanged ()
 
Q_SCRIPTABLE Q_NOREPLY void start ()
 
Q_SCRIPTABLE Q_NOREPLY void startAstrometry ()
 
Q_SCRIPTABLE Q_NOREPLY void startCapture (bool restart=false)
 
Q_SCRIPTABLE Q_NOREPLY void startFocusing ()
 
Q_SCRIPTABLE Q_NOREPLY void startGuiding (bool resetCalibration=false)
 
Q_SCRIPTABLE Q_NOREPLY void startJobEvaluation ()
 
Q_SCRIPTABLE Q_NOREPLY void startSlew ()
 
SchedulerState status ()
 
Q_SCRIPTABLE Q_NOREPLY void stop ()
 
Q_SCRIPTABLE void stopCurrentJobAction ()
 
Q_SCRIPTABLE Q_NOREPLY void stopGuiding ()
 
void updateCompletedJobsCount (bool forced=false)
 
Q_SCRIPTABLE void wakeUpScheduler ()
 
QPointer< QDBusInterfaceweatherInterface () const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
QBindable< QStringbindableObjectName ()
 
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 () const const
 
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 QRegularExpression &re, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isQuickItemType () const const
 
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_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_GADGET_EXPORT (EXPORT_MACRO)
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_MOC_INCLUDE Q_MOC_INCLUDE
 
 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
 
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 setObjectName (QAnyStringView name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool setProperty (const char *name, QVariant &&value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType)
 
QThreadthread () const const
 

Public Attributes

QString alignInterfaceString { "org.kde.kstars.Ekos.Align" }
 
QString alignPathString { "/KStars/Ekos/Align" }
 
QString captureInterfaceString { "org.kde.kstars.Ekos.Capture" }
 
QString capturePathString { "/KStars/Ekos/Capture" }
 
QString domeInterfaceString { "org.kde.kstars.INDI.Dome" }
 
QString domePathString
 
QString dustCapInterfaceString { "org.kde.kstars.INDI.DustCap" }
 
QString dustCapPathString
 
QString focusInterfaceString { "org.kde.kstars.Ekos.Focus" }
 
QString focusPathString { "/KStars/Ekos/Focus" }
 
QString guideInterfaceString { "org.kde.kstars.Ekos.Guide" }
 
QString guidePathString { "/KStars/Ekos/Guide" }
 
QPointer< Ekos::GreedyScheduler > m_GreedyScheduler
 
QSharedPointer< SchedulerModuleState > m_moduleState
 
QString mountInterfaceString { "org.kde.kstars.Ekos.Mount" }
 
QString mountPathString { "/KStars/Ekos/Mount" }
 
QString weatherInterfaceString { "org.kde.kstars.INDI.Weather" }
 
QString weatherPathString
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Additional Inherited Members

- 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)
 
- 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)
 

Detailed Description

The SchedulerProcess class holds the entire business logic for controlling the execution of the EKOS scheduler.

Definition at line 33 of file schedulerprocess.h.

Property Documentation

◆ logText

QStringList Ekos::SchedulerProcess::logText
read

Definition at line 39 of file schedulerprocess.h.

◆ profile

QString Ekos::SchedulerProcess::profile
readwrite

Definition at line 38 of file schedulerprocess.h.

◆ status

SchedulerState Ekos::SchedulerProcess::status
read

Definition at line 37 of file schedulerprocess.h.

Constructor & Destructor Documentation

◆ SchedulerProcess()

Ekos::SchedulerProcess::SchedulerProcess ( QSharedPointer< SchedulerModuleState > state,
const QString & ekosPathStr,
const QString & ekosInterfaceStr )

Definition at line 37 of file schedulerprocess.cpp.

Member Function Documentation

◆ alignInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::alignInterface ( ) const
inline

Definition at line 485 of file schedulerprocess.h.

◆ appendEkosScheduleList()

bool Ekos::SchedulerProcess::appendEkosScheduleList ( const QString & fileURL)

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 3196 of file schedulerprocess.cpp.

◆ appendLogText()

void Ekos::SchedulerProcess::appendLogText ( const QString & logentry)
override

appendLogText Append a new line to the logging.

Definition at line 3335 of file schedulerprocess.cpp.

◆ applyConfig()

void Ekos::SchedulerProcess::applyConfig ( )

applyConfig Apply configuration changes from the global configuration dialog.

Definition at line 2828 of file schedulerprocess.cpp.

◆ capInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::capInterface ( ) const
inline

Definition at line 517 of file schedulerprocess.h.

◆ captureInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::captureInterface ( ) const
inline

Definition at line 469 of file schedulerprocess.h.

◆ checkCapParkingStatus()

void Ekos::SchedulerProcess::checkCapParkingStatus ( )

checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.

Definition at line 1491 of file schedulerprocess.cpp.

◆ checkEkosState()

bool Ekos::SchedulerProcess::checkEkosState ( )

checkEkosState Check ekos startup stages and take whatever action necessary to get Ekos up and running

Returns
True if Ekos is running, false if Ekos start up is in progress.

Definition at line 1142 of file schedulerprocess.cpp.

◆ checkINDIState()

bool Ekos::SchedulerProcess::checkINDIState ( )

checkINDIState Check INDI startup stages and take whatever action necessary to get INDI devices connected.

Returns
True if INDI devices are connected, false if it is under progress.

Definition at line 1232 of file schedulerprocess.cpp.

◆ checkJobStage()

void Ekos::SchedulerProcess::checkJobStage ( )

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

Definition at line 2630 of file schedulerprocess.cpp.

◆ checkJobStageEpilogue()

void Ekos::SchedulerProcess::checkJobStageEpilogue ( )

Definition at line 2655 of file schedulerprocess.cpp.

◆ checkParkWaitState()

bool Ekos::SchedulerProcess::checkParkWaitState ( )

checkParkWaitState Check park wait state.

Returns
If parking/unparking in progress, return false. If parking/unparking complete, return true.

Definition at line 2063 of file schedulerprocess.cpp.

◆ checkShutdownState()

bool Ekos::SchedulerProcess::checkShutdownState ( )

checkShutdownState Check shutdown procedure stages and make sure all stages are complete.

Returns

Definition at line 1921 of file schedulerprocess.cpp.

◆ checkStartupState()

bool Ekos::SchedulerProcess::checkStartupState ( )

checkStartupState Check startup procedure stages and make sure all stages are complete.

Returns
True if startup is complete, false otherwise.

Definition at line 1811 of file schedulerprocess.cpp.

◆ checkStatus()

bool Ekos::SchedulerProcess::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.

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

Definition at line 2347 of file schedulerprocess.cpp.

◆ clearLog()

void Ekos::SchedulerProcess::clearLog ( )

clearLog Clear log entry

Definition at line 3350 of file schedulerprocess.cpp.

◆ completeShutdown()

bool Ekos::SchedulerProcess::completeShutdown ( )

completeShutdown Try to complete the scheduler shutdown

Returns
false iff some further action is required

Definition at line 1382 of file schedulerprocess.cpp.

◆ createJobSequence()

bool Ekos::SchedulerProcess::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 4362 of file schedulerprocess.cpp.

◆ disconnectINDI()

void Ekos::SchedulerProcess::disconnectINDI ( )

disconnectINDI disconnect all INDI devices from server.

Definition at line 1418 of file schedulerprocess.cpp.

◆ domeInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::domeInterface ( ) const
inline

Definition at line 501 of file schedulerprocess.h.

◆ ekosInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::ekosInterface ( ) const
inline

Definition at line 445 of file schedulerprocess.h.

◆ evaluateJobs()

void Ekos::SchedulerProcess::evaluateJobs ( bool evaluateOnly)

evaluateJobs evaluates the current state of each objects and gives each one a score based on the constraints.

Given that score, the scheduler will decide which is the best job that needs to be executed.

Definition at line 2319 of file schedulerprocess.cpp.

◆ execute()

void Ekos::SchedulerProcess::execute ( )

execute Execute the schedule, start if idle or paused.

Definition at line 78 of file schedulerprocess.cpp.

◆ executeJob()

bool Ekos::SchedulerProcess::executeJob ( SchedulerJob * job)

executeJob After the best job is selected, we call this in order to start the process that will execute the job.

checkJobStatus slot will be connected in order to figure the exact state of the current job each second

Returns
True if job is accepted and can be executed, false otherwise.

Definition at line 2838 of file schedulerprocess.cpp.

◆ findNextJob()

void Ekos::SchedulerProcess::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 127 of file schedulerprocess.cpp.

◆ focusInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::focusInterface ( ) const
inline

Definition at line 461 of file schedulerprocess.h.

◆ getGreedyScheduler()

QPointer< GreedyScheduler > & Ekos::SchedulerProcess::getGreedyScheduler ( )
inline

Definition at line 347 of file schedulerprocess.h.

◆ getGuidingStatus()

GuideState Ekos::SchedulerProcess::getGuidingStatus ( )

getGuidingStatus Retrieve the guiding status.

Definition at line 4126 of file schedulerprocess.cpp.

◆ getNextAction()

void Ekos::SchedulerProcess::getNextAction ( )

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

Definition at line 2471 of file schedulerprocess.cpp.

◆ getSequenceJobRoot()

XMLEle * Ekos::SchedulerProcess::getSequenceJobRoot ( const QString & filename) const

getSequenceJobRoot Read XML data from capture sequence job

Parameters
filename
Returns

Definition at line 4409 of file schedulerprocess.cpp.

◆ guideInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::guideInterface ( ) const
inline

Definition at line 493 of file schedulerprocess.h.

◆ indiInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::indiInterface ( ) const
inline

Definition at line 453 of file schedulerprocess.h.

◆ isDomeParked()

bool Ekos::SchedulerProcess::isDomeParked ( )
Returns
True if dome is parked

Definition at line 4149 of file schedulerprocess.cpp.

◆ isMountParked()

bool Ekos::SchedulerProcess::isMountParked ( )
Returns
True if mount is parked

Definition at line 4000 of file schedulerprocess.cpp.

◆ iterate()

void Ekos::SchedulerProcess::iterate ( )

Repeatedly runs a scheduler iteration and then sleeps timerInterval millisconds and run the next iteration.

This continues until the sleep time is negative.

Definition at line 2569 of file schedulerprocess.cpp.

◆ loadProfiles()

void Ekos::SchedulerProcess::loadProfiles ( )

loadProfiles Load the existing EKOS profiles

Definition at line 1117 of file schedulerprocess.cpp.

◆ loadScheduler()

bool Ekos::SchedulerProcess::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 589 of file schedulerprocess.cpp.

◆ manageConnectionLoss()

bool Ekos::SchedulerProcess::manageConnectionLoss ( )

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 1437 of file schedulerprocess.cpp.

◆ moduleState()

QSharedPointer< SchedulerModuleState > Ekos::SchedulerProcess::moduleState ( ) const
inline

Definition at line 341 of file schedulerprocess.h.

◆ mountInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::mountInterface ( ) const
inline

Definition at line 477 of file schedulerprocess.h.

◆ processGuidingTimer()

void Ekos::SchedulerProcess::processGuidingTimer ( )

processGuidingTimer Check the guiding timer, and possibly restart guiding.

Definition at line 1014 of file schedulerprocess.cpp.

◆ profile()

const QString & Ekos::SchedulerProcess::profile ( ) const

Definition at line 4134 of file schedulerprocess.cpp.

◆ removeAllJobs()

void Ekos::SchedulerProcess::removeAllJobs ( )

DBUS interface function.

Remove all scheduler jobs

Definition at line 579 of file schedulerprocess.cpp.

◆ resetAllJobs()

void Ekos::SchedulerProcess::resetAllJobs ( )

DBUS interface function.

Resets all jobs to IDLE

Definition at line 600 of file schedulerprocess.cpp.

◆ resetJobs()

void Ekos::SchedulerProcess::resetJobs ( )

resetJobs Reset all jobs counters

Definition at line 2243 of file schedulerprocess.cpp.

◆ runSchedulerIteration()

int Ekos::SchedulerProcess::runSchedulerIteration ( )

Run a single scheduler iteration.

Definition at line 2581 of file schedulerprocess.cpp.

◆ runShutdownProcedure()

void Ekos::SchedulerProcess::runShutdownProcedure ( )

runShutdownProcedure Shutdown the scheduler itself and EKOS (if configured to do so).

Definition at line 2172 of file schedulerprocess.cpp.

◆ runStartupProcedure()

void Ekos::SchedulerProcess::runStartupProcedure ( )

runStartupProcedure Execute the startup of the scheduler itself to be prepared for running scheduler jobs.

Definition at line 2106 of file schedulerprocess.cpp.

◆ saveScheduler()

bool Ekos::SchedulerProcess::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 2886 of file schedulerprocess.cpp.

◆ scriptProcess()

QProcess & Ekos::SchedulerProcess::scriptProcess ( )
inline

Definition at line 547 of file schedulerprocess.h.

◆ selectActiveJob()

void Ekos::SchedulerProcess::selectActiveJob ( const QList< SchedulerJob * > & jobs)

selectActiveJob Select the job that should be executed

Definition at line 2256 of file schedulerprocess.cpp.

◆ setAlignInterface()

void Ekos::SchedulerProcess::setAlignInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 489 of file schedulerprocess.h.

◆ setAlignInterfaceString()

void Ekos::SchedulerProcess::setAlignInterfaceString ( const QString & interface)
inline

Definition at line 390 of file schedulerprocess.h.

◆ setAlignPathString()

void Ekos::SchedulerProcess::setAlignPathString ( const QString & interface)
inline

Definition at line 395 of file schedulerprocess.h.

◆ setCapInterface()

void Ekos::SchedulerProcess::setCapInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 521 of file schedulerprocess.h.

◆ setCaptureInterface()

void Ekos::SchedulerProcess::setCaptureInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 473 of file schedulerprocess.h.

◆ setCaptureInterfaceString()

void Ekos::SchedulerProcess::setCaptureInterfaceString ( const QString & interface)
inline

Definition at line 379 of file schedulerprocess.h.

◆ setCapturePathString()

void Ekos::SchedulerProcess::setCapturePathString ( const QString & interface)
inline

Definition at line 384 of file schedulerprocess.h.

◆ setDomeInterface()

void Ekos::SchedulerProcess::setDomeInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 505 of file schedulerprocess.h.

◆ setDomeInterfaceString()

void Ekos::SchedulerProcess::setDomeInterfaceString ( const QString & interface)
inline

Definition at line 412 of file schedulerprocess.h.

◆ setDomePathString()

void Ekos::SchedulerProcess::setDomePathString ( const QString & interface)
inline

Definition at line 418 of file schedulerprocess.h.

◆ setDustCapInterfaceString()

void Ekos::SchedulerProcess::setDustCapInterfaceString ( const QString & interface)
inline

Definition at line 435 of file schedulerprocess.h.

◆ setDustCapPathString()

void Ekos::SchedulerProcess::setDustCapPathString ( const QString & interface)
inline

Definition at line 440 of file schedulerprocess.h.

◆ setEkosInterface()

void Ekos::SchedulerProcess::setEkosInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 449 of file schedulerprocess.h.

◆ setFocusInterface()

void Ekos::SchedulerProcess::setFocusInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 465 of file schedulerprocess.h.

◆ setFocusInterfaceString()

void Ekos::SchedulerProcess::setFocusInterfaceString ( const QString & interface)
inline

Definition at line 357 of file schedulerprocess.h.

◆ setFocusPathString()

void Ekos::SchedulerProcess::setFocusPathString ( const QString & interface)
inline

Definition at line 362 of file schedulerprocess.h.

◆ setGuideInterface()

void Ekos::SchedulerProcess::setGuideInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 497 of file schedulerprocess.h.

◆ setGuideInterfaceString()

void Ekos::SchedulerProcess::setGuideInterfaceString ( const QString & interface)
inline

Definition at line 401 of file schedulerprocess.h.

◆ setGuidePathString()

void Ekos::SchedulerProcess::setGuidePathString ( const QString & interface)
inline

Definition at line 406 of file schedulerprocess.h.

◆ setIndiInterface()

void Ekos::SchedulerProcess::setIndiInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 457 of file schedulerprocess.h.

◆ setMountInterface()

void Ekos::SchedulerProcess::setMountInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 481 of file schedulerprocess.h.

◆ setMountInterfaceString()

void Ekos::SchedulerProcess::setMountInterfaceString ( const QString & interface)
inline

Definition at line 368 of file schedulerprocess.h.

◆ setMountPathString()

void Ekos::SchedulerProcess::setMountPathString ( const QString & interface)
inline

Definition at line 373 of file schedulerprocess.h.

◆ setPaused()

void Ekos::SchedulerProcess::setPaused ( )

setPaused pausing the scheduler

Definition at line 2236 of file schedulerprocess.cpp.

◆ setProfile()

void Ekos::SchedulerProcess::setProfile ( const QString & newProfile)

Definition at line 4139 of file schedulerprocess.cpp.

◆ setSequence()

void Ekos::SchedulerProcess::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 595 of file schedulerprocess.cpp.

◆ setSolverAction()

void Ekos::SchedulerProcess::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 1111 of file schedulerprocess.cpp.

◆ setWeatherInterface()

void Ekos::SchedulerProcess::setWeatherInterface ( QPointer< QDBusInterface > newInterface)
inline

Definition at line 513 of file schedulerprocess.h.

◆ setWeatherInterfaceString()

void Ekos::SchedulerProcess::setWeatherInterfaceString ( const QString & interface)
inline

Definition at line 424 of file schedulerprocess.h.

◆ setWeatherPathString()

void Ekos::SchedulerProcess::setWeatherPathString ( const QString & interface)
inline

Definition at line 429 of file schedulerprocess.h.

◆ shouldSchedulerSleep()

bool Ekos::SchedulerProcess::shouldSchedulerSleep ( SchedulerJob * job)

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

Parameters
jobJob 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 613 of file schedulerprocess.cpp.

◆ simClockScaleChanged()

void Ekos::SchedulerProcess::simClockScaleChanged ( float newScale)

Definition at line 4170 of file schedulerprocess.cpp.

◆ simClockTimeChanged()

void Ekos::SchedulerProcess::simClockTimeChanged ( )

Definition at line 4185 of file schedulerprocess.cpp.

◆ start()

void Ekos::SchedulerProcess::start ( )

DBUS interface function.

Setup the main loop and start.

Definition at line 479 of file schedulerprocess.cpp.

◆ startAstrometry()

void Ekos::SchedulerProcess::startAstrometry ( )

startAstrometry initiation of the capture and solve operation.

We change the job state after solver is started

Definition at line 839 of file schedulerprocess.cpp.

◆ startCapture()

void Ekos::SchedulerProcess::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 1024 of file schedulerprocess.cpp.

◆ startFocusing()

void Ekos::SchedulerProcess::startFocusing ( )

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

Definition at line 733 of file schedulerprocess.cpp.

◆ startGuiding()

void Ekos::SchedulerProcess::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 959 of file schedulerprocess.cpp.

◆ startJobEvaluation()

void Ekos::SchedulerProcess::startJobEvaluation ( )

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

Display the result to the user.

Definition at line 2305 of file schedulerprocess.cpp.

◆ startSlew()

void Ekos::SchedulerProcess::startSlew ( )

startSlew DBus call for initiating slew

Definition at line 695 of file schedulerprocess.cpp.

◆ stop()

void Ekos::SchedulerProcess::stop ( )

DBUS interface function.

stop Stop the scheduler execution. If stopping succeeded, a {

See also
schedulerStopped()} signal is emitted

Definition at line 491 of file schedulerprocess.cpp.

◆ stopCurrentJobAction()

void Ekos::SchedulerProcess::stopCurrentJobAction ( )

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

capture, guiding...etc).

Definition at line 418 of file schedulerprocess.cpp.

◆ stopGuiding()

void Ekos::SchedulerProcess::stopGuiding ( )

stopGuiding After guiding is done we need to stop the process

Definition at line 996 of file schedulerprocess.cpp.

◆ updateCompletedJobsCount()

void Ekos::SchedulerProcess::updateCompletedJobsCount ( bool forced = false)

updateCompletedJobsCount For each scheduler job, examine sequence job storage and count captures.

Parameters
forcedforces recounting captures unconditionally if true, else only IDLE, EVALUATION or new jobs are examined.

Definition at line 4488 of file schedulerprocess.cpp.

◆ wakeUpScheduler()

void Ekos::SchedulerProcess::wakeUpScheduler ( )

wakeUpScheduler Wake up scheduler from sleep state

Definition at line 460 of file schedulerprocess.cpp.

◆ weatherInterface()

QPointer< QDBusInterface > Ekos::SchedulerProcess::weatherInterface ( ) const
inline

Definition at line 509 of file schedulerprocess.h.

Member Data Documentation

◆ alignInterfaceString

QString Ekos::SchedulerProcess::alignInterfaceString { "org.kde.kstars.Ekos.Align" }

Definition at line 389 of file schedulerprocess.h.

◆ alignPathString

QString Ekos::SchedulerProcess::alignPathString { "/KStars/Ekos/Align" }

Definition at line 394 of file schedulerprocess.h.

◆ captureInterfaceString

QString Ekos::SchedulerProcess::captureInterfaceString { "org.kde.kstars.Ekos.Capture" }

Definition at line 378 of file schedulerprocess.h.

◆ capturePathString

QString Ekos::SchedulerProcess::capturePathString { "/KStars/Ekos/Capture" }

Definition at line 383 of file schedulerprocess.h.

◆ domeInterfaceString

QString Ekos::SchedulerProcess::domeInterfaceString { "org.kde.kstars.INDI.Dome" }

Definition at line 411 of file schedulerprocess.h.

◆ domePathString

QString Ekos::SchedulerProcess::domePathString

Definition at line 417 of file schedulerprocess.h.

◆ dustCapInterfaceString

QString Ekos::SchedulerProcess::dustCapInterfaceString { "org.kde.kstars.INDI.DustCap" }

Definition at line 434 of file schedulerprocess.h.

◆ dustCapPathString

QString Ekos::SchedulerProcess::dustCapPathString

Definition at line 439 of file schedulerprocess.h.

◆ focusInterfaceString

QString Ekos::SchedulerProcess::focusInterfaceString { "org.kde.kstars.Ekos.Focus" }

Definition at line 356 of file schedulerprocess.h.

◆ focusPathString

QString Ekos::SchedulerProcess::focusPathString { "/KStars/Ekos/Focus" }

Definition at line 361 of file schedulerprocess.h.

◆ guideInterfaceString

QString Ekos::SchedulerProcess::guideInterfaceString { "org.kde.kstars.Ekos.Guide" }

Definition at line 400 of file schedulerprocess.h.

◆ guidePathString

QString Ekos::SchedulerProcess::guidePathString { "/KStars/Ekos/Guide" }

Definition at line 405 of file schedulerprocess.h.

◆ m_GreedyScheduler

QPointer<Ekos::GreedyScheduler> Ekos::SchedulerProcess::m_GreedyScheduler

Definition at line 346 of file schedulerprocess.h.

◆ m_moduleState

QSharedPointer<SchedulerModuleState> Ekos::SchedulerProcess::m_moduleState

Definition at line 340 of file schedulerprocess.h.

◆ mountInterfaceString

QString Ekos::SchedulerProcess::mountInterfaceString { "org.kde.kstars.Ekos.Mount" }

Definition at line 367 of file schedulerprocess.h.

◆ mountPathString

QString Ekos::SchedulerProcess::mountPathString { "/KStars/Ekos/Mount" }

Definition at line 372 of file schedulerprocess.h.

◆ weatherInterfaceString

QString Ekos::SchedulerProcess::weatherInterfaceString { "org.kde.kstars.INDI.Weather" }

Definition at line 423 of file schedulerprocess.h.

◆ weatherPathString

QString Ekos::SchedulerProcess::weatherPathString

Definition at line 428 of file schedulerprocess.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri May 24 2024 11:49:24 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.