Kstars
schedulerprocess.h
42 SchedulerProcess(QSharedPointer<SchedulerModuleState> state, const QString &ekosPathStr, const QString &ekosInterfaceStr);
61 * @brief findNextJob Check if the job met the completion criteria, and if it did, then it search for next job candidate.
67 * @brief stopCurrentJobAction Stop whatever action taking place in the current job (eg. capture, guiding...etc).
72 * @brief executeJob After the best job is selected, we call this in order to start the process that will execute the job.
73 * checkJobStatus slot will be connected in order to figure the exact state of the current job each second
120 * @return True if we set the scheduler to sleep mode. False, if not required and we need to execute now
130 * @brief startFocusing DBus call for feeding ekos the specified settings and initiating focus operation
157 * @brief startCapture The current job file name is solved to an url which is fed to ekos. We then start the capture process
158 * @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
159 * is not loaded from disk again since that results in erasing all the history of the capture process.
164 * @brief updateCompletedJobsCount For each scheduler job, examine sequence job storage and count captures.
165 * @param forced forces recounting captures unconditionally if true, else only IDLE, EVALUATION or new jobs are examined.
181 * @brief checkEkosState Check ekos startup stages and take whatever action necessary to get Ekos up and running
187 * @brief checkINDIState Check INDI startup stages and take whatever action necessary to get INDI devices connected.
205 * @return true if connection to Ekos/INDI should be attempted again, false if not mitigation is available or needed.
210 * @brief checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
215 * @brief checkStartupState Check startup procedure stages and make sure all stages are complete.
220 * @brief checkShutdownState Check shutdown procedure stages and make sure all stages are complete.
227 * @return If parking/unparking in progress, return false. If parking/unparking complete, return true.
258 * @brief startJobEvaluation Start job evaluation only without starting the scheduler process itself. Display the result to the user.
263 * @brief evaluateJobs evaluates the current state of each objects and gives each one a score based on the constraints.
269 * @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.
270 * @return False if this function needs to be called again later, true if situation is stable and operations may continue.
275 * @brief getNextAction Checking for the next appropriate action regarding the current state of the scheduler and execute it
291 * @brief checkJobStage Check the progress of the job states and make DBUS calls to start the next stage until the job is complete.
527 * @brief createJobSequence Creates a job sequence for the mosaic tool given the prefix and output dir. The currently selected sequence file is modified
592 * @brief syncProperties Sync startup properties from the various device to enable/disable features in the scheduler
605 * @brief checkAlignment Handle one sequence image completion. This is used now only to run alignment check
618 void solverDone(bool timedOut, bool success, const FITSImage::Solution &solution, double elapsedSeconds);
621 * @brief checkInterfaceReady Sometimes syncProperties() is not sufficient since the ready signal could have fired already
622 * and cannot be relied on to know once a module interface is ready. Therefore, we explicitly check if the module interface
654 // before check its state again. If State is still IDLE, then it either didn't received the command
670 // Interface strings for the dbus. Changeable for mocks when testing. Private so only tests can change.
704 * @brief checkMountParkingStatus check mount parking status and updating corresponding states accordingly.
709 * @brief checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
762 * @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
void startAstrometry()
startAstrometry initiation of the capture and solve operation.
Definition schedulerprocess.cpp:838
bool shouldSchedulerSleep(SchedulerJob *job)
shouldSchedulerSleep Check if the scheduler needs to sleep until the job is ready
Definition schedulerprocess.cpp:612
void startCapture(bool restart=false)
startCapture The current job file name is solved to an url which is fed to ekos.
Definition schedulerprocess.cpp:1023
void runStartupProcedure()
runStartupProcedure Execute the startup of the scheduler itself to be prepared for running scheduler ...
Definition schedulerprocess.cpp:2105
void checkCapParkingStatus()
checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
Definition schedulerprocess.cpp:1490
void getNextAction()
getNextAction Checking for the next appropriate action regarding the current state of the scheduler a...
Definition schedulerprocess.cpp:2470
void startJobEvaluation()
startJobEvaluation Start job evaluation only without starting the scheduler process itself.
Definition schedulerprocess.cpp:2304
void selectActiveJob(const QList< SchedulerJob * > &jobs)
selectActiveJob Select the job that should be executed
Definition schedulerprocess.cpp:2255
void wakeUpScheduler()
wakeUpScheduler Wake up scheduler from sleep state
Definition schedulerprocess.cpp:459
bool checkParkWaitState()
checkParkWaitState Check park wait state.
Definition schedulerprocess.cpp:2062
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:2837
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:4361
void iterate()
Repeatedly runs a scheduler iteration and then sleeps timerInterval millisconds and run the next iter...
Definition schedulerprocess.cpp:2568
void startGuiding(bool resetCalibration=false)
startGuiding After ekos is fed the calibration options, we start the guiding process
Definition schedulerprocess.cpp:958
void findNextJob()
findNextJob Check if the job met the completion criteria, and if it did, then it search for next job ...
Definition schedulerprocess.cpp:126
bool appendEkosScheduleList(const QString &fileURL)
appendEkosScheduleList Append the contents of an ESL file to the queue.
Definition schedulerprocess.cpp:3195
void execute()
execute Execute the schedule, start if idle or paused.
Definition schedulerprocess.cpp:77
bool saveScheduler(const QUrl &fileURL)
saveScheduler Save scheduler jobs to a file
Definition schedulerprocess.cpp:2885
void appendLogText(const QString &logentry) override
appendLogText Append a new line to the logging.
Definition schedulerprocess.cpp:3334
Q_SCRIPTABLE Q_NOREPLY void removeAllJobs()
DBUS interface function.
Definition schedulerprocess.cpp:578
void stopCurrentJobAction()
stopCurrentJobAction Stop whatever action taking place in the current job (eg.
Definition schedulerprocess.cpp:417
void stopGuiding()
stopGuiding After guiding is done we need to stop the process
Definition schedulerprocess.cpp:995
bool checkShutdownState()
checkShutdownState Check shutdown procedure stages and make sure all stages are complete.
Definition schedulerprocess.cpp:1920
bool checkEkosState()
checkEkosState Check ekos startup stages and take whatever action necessary to get Ekos up and runnin...
Definition schedulerprocess.cpp:1141
bool checkStatus()
checkJobStatus Check the overall state of the scheduler, Ekos, and INDI.
Definition schedulerprocess.cpp:2346
bool checkINDIState()
checkINDIState Check INDI startup stages and take whatever action necessary to get INDI devices conne...
Definition schedulerprocess.cpp:1231
XMLEle * getSequenceJobRoot(const QString &filename) const
getSequenceJobRoot Read XML data from capture sequence job
Definition schedulerprocess.cpp:4408
void runShutdownProcedure()
runShutdownProcedure Shutdown the scheduler itself and EKOS (if configured to do so).
Definition schedulerprocess.cpp:2171
Q_SCRIPTABLE Q_NOREPLY void setSequence(const QString &sequenceFileURL)
DBUS interface function.
Definition schedulerprocess.cpp:594
Q_SCRIPTABLE bool loadScheduler(const QString &fileURL)
DBUS interface function.
Definition schedulerprocess.cpp:588
void startFocusing()
startFocusing DBus call for feeding ekos the specified settings and initiating focus operation
Definition schedulerprocess.cpp:732
void checkJobStage()
checkJobStage Check the progress of the job states and make DBUS calls to start the next stage until ...
Definition schedulerprocess.cpp:2629
bool checkStartupState()
checkStartupState Check startup procedure stages and make sure all stages are complete.
Definition schedulerprocess.cpp:1810
void processGuidingTimer()
processGuidingTimer Check the guiding timer, and possibly restart guiding.
Definition schedulerprocess.cpp:1013
GuideState getGuidingStatus()
getGuidingStatus Retrieve the guiding status.
Definition schedulerprocess.cpp:4125
void applyConfig()
applyConfig Apply configuration changes from the global configuration dialog.
Definition schedulerprocess.cpp:2827
void disconnectINDI()
disconnectINDI disconnect all INDI devices from server.
Definition schedulerprocess.cpp:1417
bool manageConnectionLoss()
manageConnectionLoss Mitigate loss of connection with the INDI server.
Definition schedulerprocess.cpp:1436
void updateCompletedJobsCount(bool forced=false)
updateCompletedJobsCount For each scheduler job, examine sequence job storage and count captures.
Definition schedulerprocess.cpp:4487
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:2318
void setSolverAction(Align::GotoMode mode)
setSolverAction set the GOTO mode for the solver
Definition schedulerprocess.cpp:1110
bool completeShutdown()
completeShutdown Try to complete the scheduler shutdown
Definition schedulerprocess.cpp:1381
The SchedulerState class holds all attributes defining the scheduler's state.
Q_CLASSINFO(Name, Value)
Q_OBJECTQ_OBJECT
Q_PROPERTY(...)
QObject * sender() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Apr 27 2024 22:13:27 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Apr 27 2024 22:13:27 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.