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.
169 * @brief updateCompletedJobsCount For each scheduler job, examine sequence job storage and count captures.
170 * @param forced forces recounting captures unconditionally if true, else only IDLE, EVALUATION or new jobs are examined.
186 * @brief checkEkosState Check ekos startup stages and take whatever action necessary to get Ekos up and running
192 * @brief checkINDIState Check INDI startup stages and take whatever action necessary to get INDI devices connected.
210 * @return true if connection to Ekos/INDI should be attempted again, false if not mitigation is available or needed.
215 * @brief checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
220 * @brief checkStartupState Check startup procedure stages and make sure all stages are complete.
225 * @brief checkShutdownState Check shutdown procedure stages and make sure all stages are complete.
232 * @return If parking/unparking in progress, return false. If parking/unparking complete, return true.
263 * @brief startJobEvaluation Start job evaluation only without starting the scheduler process itself. Display the result to the user.
268 * @brief evaluateJobs evaluates the current state of each objects and gives each one a score based on the constraints.
274 * @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.
275 * @return False if this function needs to be called again later, true if situation is stable and operations may continue.
280 * @brief getNextAction Checking for the next appropriate action regarding the current state of the scheduler and execute it
296 * @brief checkJobStage Check the progress of the job states and make DBUS calls to start the next stage until the job is complete.
551 * @brief createJobSequence Creates a job sequence for the mosaic tool given the prefix and output dir. The currently selected sequence file is modified
620 * @brief syncProperties Sync startup properties from the various device to enable/disable features in the scheduler
633 * @brief checkAlignment Handle one sequence image completion. This is used now only to run alignment check
647 void solverDone(bool timedOut, bool success, const FITSImage::Solution &solution, double elapsedSeconds);
650 * @brief checkInterfaceReady Sometimes syncProperties() is not sufficient since the ready signal could have fired already
651 * and cannot be relied on to know once a module interface is ready. Therefore, we explicitly check if the module interface
683 // before check its state again. If State is still IDLE, then it either didn't received the command
703 // Interface strings for the dbus. Changeable for mocks when testing. Private so only tests can change.
738 * @brief checkMountParkingStatus check mount parking status and updating corresponding states accordingly.
743 * @brief checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
796 * @brief checkProcessExit Check script process exist status. This is called when the process exists either normally or abnormally.
797 * @param exitCode exit code from the script process. Depending on the exist code, the status of startup/shutdown procedure is set accordingly.
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:870
bool shouldSchedulerSleep(SchedulerJob *job)
shouldSchedulerSleep Check if the scheduler needs to sleep until the job is ready
Definition schedulerprocess.cpp:644
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:1057
Q_SCRIPTABLE Q_NOREPLY void runStartupProcedure()
runStartupProcedure Execute the startup of the scheduler itself to be prepared for running scheduler ...
Definition schedulerprocess.cpp:2176
void checkCapParkingStatus()
checkDomeParkingStatus check dome parking status and updating corresponding states accordingly.
Definition schedulerprocess.cpp:1561
void getNextAction()
getNextAction Checking for the next appropriate action regarding the current state of the scheduler a...
Definition schedulerprocess.cpp:2552
Q_SCRIPTABLE bool isMountParked()
Definition schedulerprocess.cpp:4213
Q_SCRIPTABLE Q_NOREPLY void startJobEvaluation()
startJobEvaluation Start job evaluation only without starting the scheduler process itself.
Definition schedulerprocess.cpp:2385
Q_SCRIPTABLE Q_NOREPLY void resetJobs()
resetJobs Reset all jobs counters
Definition schedulerprocess.cpp:2313
void selectActiveJob(const QList< SchedulerJob * > &jobs)
selectActiveJob Select the job that should be executed
Definition schedulerprocess.cpp:2326
Q_SCRIPTABLE void wakeUpScheduler()
wakeUpScheduler Wake up scheduler from sleep state
Definition schedulerprocess.cpp:491
Q_SCRIPTABLE Q_NOREPLY void setPaused()
setPaused pausing the scheduler
Definition schedulerprocess.cpp:2306
Q_SCRIPTABLE bool checkParkWaitState()
checkParkWaitState Check park wait state.
Definition schedulerprocess.cpp:2133
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:2919
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:4614
void iterate()
Repeatedly runs a scheduler iteration and then sleeps timerInterval millisconds and run the next iter...
Definition schedulerprocess.cpp:2650
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:990
void findNextJob()
findNextJob Check if the job met the completion criteria, and if it did, then it search for next job ...
Definition schedulerprocess.cpp:128
Q_SCRIPTABLE bool appendEkosScheduleList(const QString &fileURL)
appendEkosScheduleList Append the contents of an ESL file to the queue.
Definition schedulerprocess.cpp:3310
Q_SCRIPTABLE void execute()
execute Execute the schedule, start if idle or paused.
Definition schedulerprocess.cpp:79
Q_SCRIPTABLE bool isDomeParked()
Definition schedulerprocess.cpp:4386
Q_SCRIPTABLE bool saveScheduler(const QUrl &fileURL)
saveScheduler Save scheduler jobs to a file
Definition schedulerprocess.cpp:2967
Q_SCRIPTABLE Q_NOREPLY void appendLogText(const QString &logentry) override
appendLogText Append a new line to the logging.
Definition schedulerprocess.cpp:3492
Q_SCRIPTABLE Q_NOREPLY void removeAllJobs()
DBUS interface function.
Definition schedulerprocess.cpp:610
Q_SCRIPTABLE void stopCurrentJobAction()
stopCurrentJobAction Stop whatever action taking place in the current job (eg.
Definition schedulerprocess.cpp:449
Q_SCRIPTABLE Q_NOREPLY void stopGuiding()
stopGuiding After guiding is done we need to stop the process
Definition schedulerprocess.cpp:1027
bool checkShutdownState()
checkShutdownState Check shutdown procedure stages and make sure all stages are complete.
Definition schedulerprocess.cpp:1991
Q_SCRIPTABLE Q_NOREPLY void startSlew()
startSlew DBus call for initiating slew
Definition schedulerprocess.cpp:726
bool checkEkosState()
checkEkosState Check ekos startup stages and take whatever action necessary to get Ekos up and runnin...
Definition schedulerprocess.cpp:1212
bool checkStatus()
checkJobStatus Check the overall state of the scheduler, Ekos, and INDI.
Definition schedulerprocess.cpp:2428
bool checkINDIState()
checkINDIState Check INDI startup stages and take whatever action necessary to get INDI devices conne...
Definition schedulerprocess.cpp:1302
XMLEle * getSequenceJobRoot(const QString &filename) const
getSequenceJobRoot Read XML data from capture sequence job
Definition schedulerprocess.cpp:4661
Q_SCRIPTABLE Q_NOREPLY void runShutdownProcedure()
runShutdownProcedure Shutdown the scheduler itself and EKOS (if configured to do so).
Definition schedulerprocess.cpp:2242
Q_SCRIPTABLE Q_NOREPLY void setSequence(const QString &sequenceFileURL)
DBUS interface function.
Definition schedulerprocess.cpp:626
Q_SCRIPTABLE bool loadScheduler(const QString &fileURL)
DBUS interface function.
Definition schedulerprocess.cpp:620
Q_SCRIPTABLE Q_NOREPLY void startFocusing()
startFocusing DBus call for feeding ekos the specified settings and initiating focus operation
Definition schedulerprocess.cpp:764
void checkJobStage()
checkJobStage Check the progress of the job states and make DBUS calls to start the next stage until ...
Definition schedulerprocess.cpp:2711
bool checkStartupState()
checkStartupState Check startup procedure stages and make sure all stages are complete.
Definition schedulerprocess.cpp:1881
void processGuidingTimer()
processGuidingTimer Check the guiding timer, and possibly restart guiding.
Definition schedulerprocess.cpp:1047
GuideState getGuidingStatus()
getGuidingStatus Retrieve the guiding status.
Definition schedulerprocess.cpp:4339
Q_SCRIPTABLE Q_NOREPLY void resetAllJobs()
DBUS interface function.
Definition schedulerprocess.cpp:631
void applyConfig()
applyConfig Apply configuration changes from the global configuration dialog.
Definition schedulerprocess.cpp:2909
Q_SCRIPTABLE Q_NOREPLY void disconnectINDI()
disconnectINDI disconnect all INDI devices from server.
Definition schedulerprocess.cpp:1488
bool manageConnectionLoss()
manageConnectionLoss Mitigate loss of connection with the INDI server.
Definition schedulerprocess.cpp:1507
void updateCompletedJobsCount(bool forced=false)
updateCompletedJobsCount For each scheduler job, examine sequence job storage and count captures.
Definition schedulerprocess.cpp:4740
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:2399
void setSolverAction(Align::GotoMode mode)
setSolverAction set the GOTO mode for the solver
Definition schedulerprocess.cpp:1181
Q_SCRIPTABLE bool completeShutdown()
completeShutdown Try to complete the scheduler shutdown
Definition schedulerprocess.cpp:1452
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 Dec 6 2024 12:09:52 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Dec 6 2024 12:09:52 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.