Kstars
schedulerprocess.h
45 SchedulerProcess(QSharedPointer<SchedulerModuleState> state, const QString &ekosPathStr, const QString &ekosInterfaceStr);
64 * @brief findNextJob Check if the job met the completion criteria, and if it did, then it search for next job candidate.
70 * @brief stopCurrentJobAction Stop whatever action taking place in the current job (eg. capture, guiding...etc).
75 * @brief executeJob After the best job is selected, we call this in order to start the process that will execute the job.
76 * checkJobStatus slot will be connected in order to figure the exact state of the current job each second
123 * @return True if we set the scheduler to sleep mode. False, if not required and we need to execute now
133 * @brief startFocusing DBus call for feeding ekos the specified settings and initiating focus operation
160 * @brief startCapture The current job file name is solved to an url which is fed to ekos. We then start the capture process
161 * @param restart Set to true if the goal to restart an existing sequence. The only difference is that when a sequence is restarted, sequence file
162 * is not loaded from disk again since that results in erasing all the history of the capture process.
167 * @brief updateCompletedJobsCount For each scheduler job, examine sequence job storage and count captures.
168 * @param forced forces recounting captures unconditionally if true, else only IDLE, EVALUATION or new jobs are examined.
184 * @brief checkEkosState Check ekos startup stages and take whatever action necessary to get Ekos up and running
190 * @brief checkINDIState Check INDI startup stages and take whatever action necessary to get INDI devices connected.
208 * @return true if connection to Ekos/INDI should be attempted again, false if not mitigation is available or needed.
213 * @brief checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
218 * @brief checkStartupState Check startup procedure stages and make sure all stages are complete.
223 * @brief checkShutdownState Check shutdown procedure stages and make sure all stages are complete.
230 * @return If parking/unparking in progress, return false. If parking/unparking complete, return true.
261 * @brief startJobEvaluation Start job evaluation only without starting the scheduler process itself. Display the result to the user.
266 * @brief evaluateJobs evaluates the current state of each objects and gives each one a score based on the constraints.
272 * @brief 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.
273 * @return False if this function needs to be called again later, true if situation is stable and operations may continue.
278 * @brief getNextAction Checking for the next appropriate action regarding the current state of the scheduler and execute it
294 * @brief checkJobStage Check the progress of the job states and make DBUS calls to start the next stage until the job is complete.
549 * @brief createJobSequence Creates a job sequence for the mosaic tool given the prefix and output dir. The currently selected sequence file is modified
618 * @brief syncProperties Sync startup properties from the various device to enable/disable features in the scheduler
631 * @brief checkAlignment Handle one sequence image completion. This is used now only to run alignment check
644 void solverDone(bool timedOut, bool success, const FITSImage::Solution &solution, double elapsedSeconds);
647 * @brief checkInterfaceReady Sometimes syncProperties() is not sufficient since the ready signal could have fired already
648 * and cannot be relied on to know once a module interface is ready. Therefore, we explicitly check if the module interface
680 // before check its state again. If State is still IDLE, then it either didn't received the command
696 // Interface strings for the dbus. Changeable for mocks when testing. Private so only tests can change.
731 * @brief checkMountParkingStatus check mount parking status and updating corresponding states accordingly.
736 * @brief checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
789 * @brief checkProcessExit Check script process exist status. This is called when the process exists either normally or abnormally.
The SchedulerProcess class holds the entire business logic for controlling the execution of the EKOS ...
Definition schedulerprocess.h:34
Q_SCRIPTABLE Q_NOREPLY void startAstrometry()
startAstrometry initiation of the capture and solve operation.
Definition schedulerprocess.cpp:839
bool shouldSchedulerSleep(SchedulerJob *job)
shouldSchedulerSleep Check if the scheduler needs to sleep until the job is ready
Definition schedulerprocess.cpp:613
Q_SCRIPTABLE Q_NOREPLY void startCapture(bool restart=false)
startCapture The current job file name is solved to an url which is fed to ekos.
Definition schedulerprocess.cpp:1024
Q_SCRIPTABLE Q_NOREPLY void runStartupProcedure()
runStartupProcedure Execute the startup of the scheduler itself to be prepared for running scheduler ...
Definition schedulerprocess.cpp:2121
void checkCapParkingStatus()
checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
Definition schedulerprocess.cpp:1506
void getNextAction()
getNextAction Checking for the next appropriate action regarding the current state of the scheduler a...
Definition schedulerprocess.cpp:2486
Q_SCRIPTABLE bool isMountParked()
Definition schedulerprocess.cpp:4017
Q_SCRIPTABLE Q_NOREPLY void startJobEvaluation()
startJobEvaluation Start job evaluation only without starting the scheduler process itself.
Definition schedulerprocess.cpp:2320
Q_SCRIPTABLE Q_NOREPLY void resetJobs()
resetJobs Reset all jobs counters
Definition schedulerprocess.cpp:2258
void selectActiveJob(const QList< SchedulerJob * > &jobs)
selectActiveJob Select the job that should be executed
Definition schedulerprocess.cpp:2271
Q_SCRIPTABLE void wakeUpScheduler()
wakeUpScheduler Wake up scheduler from sleep state
Definition schedulerprocess.cpp:460
Q_SCRIPTABLE Q_NOREPLY void setPaused()
setPaused pausing the scheduler
Definition schedulerprocess.cpp:2251
Q_SCRIPTABLE bool checkParkWaitState()
checkParkWaitState Check park wait state.
Definition schedulerprocess.cpp:2078
bool executeJob(SchedulerJob *job)
executeJob After the best job is selected, we call this in order to start the process that will execu...
Definition schedulerprocess.cpp:2853
bool createJobSequence(XMLEle *root, const QString &prefix, const QString &outputDir)
createJobSequence Creates a job sequence for the mosaic tool given the prefix and output dir.
Definition schedulerprocess.cpp:4418
void iterate()
Repeatedly runs a scheduler iteration and then sleeps timerInterval millisconds and run the next iter...
Definition schedulerprocess.cpp:2584
Q_SCRIPTABLE Q_NOREPLY void startGuiding(bool resetCalibration=false)
startGuiding After ekos is fed the calibration options, we start the guiding process
Definition schedulerprocess.cpp:959
void findNextJob()
findNextJob Check if the job met the completion criteria, and if it did, then it search for next job ...
Definition schedulerprocess.cpp:127
Q_SCRIPTABLE bool appendEkosScheduleList(const QString &fileURL)
appendEkosScheduleList Append the contents of an ESL file to the queue.
Definition schedulerprocess.cpp:3211
Q_SCRIPTABLE void execute()
execute Execute the schedule, start if idle or paused.
Definition schedulerprocess.cpp:78
Q_SCRIPTABLE bool isDomeParked()
Definition schedulerprocess.cpp:4190
Q_SCRIPTABLE bool saveScheduler(const QUrl &fileURL)
saveScheduler Save scheduler jobs to a file
Definition schedulerprocess.cpp:2901
Q_SCRIPTABLE Q_NOREPLY void appendLogText(const QString &logentry) override
appendLogText Append a new line to the logging.
Definition schedulerprocess.cpp:3350
Q_SCRIPTABLE Q_NOREPLY void removeAllJobs()
DBUS interface function.
Definition schedulerprocess.cpp:579
Q_SCRIPTABLE void stopCurrentJobAction()
stopCurrentJobAction Stop whatever action taking place in the current job (eg.
Definition schedulerprocess.cpp:418
Q_SCRIPTABLE Q_NOREPLY void stopGuiding()
stopGuiding After guiding is done we need to stop the process
Definition schedulerprocess.cpp:996
bool checkShutdownState()
checkShutdownState Check shutdown procedure stages and make sure all stages are complete.
Definition schedulerprocess.cpp:1936
Q_SCRIPTABLE Q_NOREPLY void startSlew()
startSlew DBus call for initiating slew
Definition schedulerprocess.cpp:695
bool checkEkosState()
checkEkosState Check ekos startup stages and take whatever action necessary to get Ekos up and runnin...
Definition schedulerprocess.cpp:1157
bool checkStatus()
checkJobStatus Check the overall state of the scheduler, Ekos, and INDI.
Definition schedulerprocess.cpp:2362
bool checkINDIState()
checkINDIState Check INDI startup stages and take whatever action necessary to get INDI devices conne...
Definition schedulerprocess.cpp:1247
XMLEle * getSequenceJobRoot(const QString &filename) const
getSequenceJobRoot Read XML data from capture sequence job
Definition schedulerprocess.cpp:4465
Q_SCRIPTABLE Q_NOREPLY void runShutdownProcedure()
runShutdownProcedure Shutdown the scheduler itself and EKOS (if configured to do so).
Definition schedulerprocess.cpp:2187
Q_SCRIPTABLE Q_NOREPLY void setSequence(const QString &sequenceFileURL)
DBUS interface function.
Definition schedulerprocess.cpp:595
Q_SCRIPTABLE bool loadScheduler(const QString &fileURL)
DBUS interface function.
Definition schedulerprocess.cpp:589
Q_SCRIPTABLE Q_NOREPLY void startFocusing()
startFocusing DBus call for feeding ekos the specified settings and initiating focus operation
Definition schedulerprocess.cpp:733
void checkJobStage()
checkJobStage Check the progress of the job states and make DBUS calls to start the next stage until ...
Definition schedulerprocess.cpp:2645
bool checkStartupState()
checkStartupState Check startup procedure stages and make sure all stages are complete.
Definition schedulerprocess.cpp:1826
void processGuidingTimer()
processGuidingTimer Check the guiding timer, and possibly restart guiding.
Definition schedulerprocess.cpp:1014
GuideState getGuidingStatus()
getGuidingStatus Retrieve the guiding status.
Definition schedulerprocess.cpp:4143
Q_SCRIPTABLE Q_NOREPLY void resetAllJobs()
DBUS interface function.
Definition schedulerprocess.cpp:600
void applyConfig()
applyConfig Apply configuration changes from the global configuration dialog.
Definition schedulerprocess.cpp:2843
Q_SCRIPTABLE Q_NOREPLY void disconnectINDI()
disconnectINDI disconnect all INDI devices from server.
Definition schedulerprocess.cpp:1433
bool manageConnectionLoss()
manageConnectionLoss Mitigate loss of connection with the INDI server.
Definition schedulerprocess.cpp:1452
void updateCompletedJobsCount(bool forced=false)
updateCompletedJobsCount For each scheduler job, examine sequence job storage and count captures.
Definition schedulerprocess.cpp:4544
Q_SCRIPTABLE Q_NOREPLY void evaluateJobs(bool evaluateOnly)
evaluateJobs evaluates the current state of each objects and gives each one a score based on the cons...
Definition schedulerprocess.cpp:2334
void setSolverAction(Align::GotoMode mode)
setSolverAction set the GOTO mode for the solver
Definition schedulerprocess.cpp:1126
Q_SCRIPTABLE bool completeShutdown()
completeShutdown Try to complete the scheduler shutdown
Definition schedulerprocess.cpp:1397
The SchedulerState class holds all attributes defining the scheduler's state.
Q_CLASSINFO(Name, Value)
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
T qobject_cast(QObject *object)
QObject * sender() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Jul 26 2024 11:59:51 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Jul 26 2024 11:59:51 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.