Ekos::Scheduler
#include <scheduler.h>
Public Types | |
enum | SchedulerColumns { SCHEDCOL_NAME = 0 , SCHEDCOL_STATUS , SCHEDCOL_CAPTURES , SCHEDCOL_ALTITUDE , SCHEDCOL_STARTTIME , SCHEDCOL_ENDTIME } |
Public Types inherited from QWidget | |
enum | RenderFlag |
Public Types inherited from QPaintDevice | |
enum | PaintDeviceMetric |
Signals | |
void | jobEnded (const QString &jobName, const QString &endReason) |
void | jobStarted (const QString &jobName) |
void | jobsUpdated (QJsonArray jobsList) |
void | newStatus (Ekos::SchedulerState state) |
void | newTarget (const QString &) |
void | settingsUpdated (const QVariantMap &settings) |
void | targetDistance (double distance) |
void | weatherChanged (ISD::Weather::Status state) |
Detailed Description
The Ekos scheduler is a simple scheduler class to orchestrate automated multi object observation jobs.
- Version
- 1.2
Definition at line 50 of file scheduler.h.
Member Enumeration Documentation
◆ SchedulerColumns
Columns, in the same order as UI.
Definition at line 59 of file scheduler.h.
Constructor & Destructor Documentation
◆ Scheduler() [1/2]
Ekos::Scheduler::Scheduler | ( | ) |
Constructor, the starndard scheduler constructor.
Definition at line 80 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 86 of file scheduler.cpp.
Member Function Documentation
◆ activeJob()
SchedulerJob * Ekos::Scheduler::activeJob | ( | ) |
Definition at line 2238 of file scheduler.cpp.
◆ addJob()
void Ekos::Scheduler::addJob | ( | SchedulerJob * | job = nullptr | ) |
addJob Add a new job from form values
Definition at line 710 of file scheduler.cpp.
◆ addObject()
void Ekos::Scheduler::addObject | ( | SkyObject * | object | ) |
Definition at line 539 of file scheduler.cpp.
◆ checkTwilightWarning
|
protectedslot |
checkWeather Check weather status and act accordingly depending on the current status of the scheduler and running jobs.
displayTwilightWarning Display twilight warning to user if it is unchecked.
Definition at line 1938 of file scheduler.cpp.
◆ clearJobTable
|
protectedslot |
clearJobTable delete all rows in the job table
Definition at line 1738 of file scheduler.cpp.
◆ clickQueueTable
|
protectedslot |
jobSelectionChanged Update UI state when the job list is clicked once.
Definition at line 1148 of file scheduler.cpp.
◆ fillJobFromUI()
bool Ekos::Scheduler::fillJobFromUI | ( | SchedulerJob * | job | ) |
createJob Create a new job from form values.
- Parameters
-
job job to be filled from UI values
- Returns
- true iff update was successful
Definition at line 744 of file scheduler.cpp.
◆ getAllSettings()
QVariantMap Ekos::Scheduler::getAllSettings | ( | ) | const |
Definition at line 2417 of file scheduler.cpp.
◆ getCurrentJobName()
QString Ekos::Scheduler::getCurrentJobName | ( | ) |
Definition at line 379 of file scheduler.cpp.
◆ getErrorHandlingStrategy()
ErrorHandlingStrategy Ekos::Scheduler::getErrorHandlingStrategy | ( | ) |
retrieve the error handling strategy from the UI
Definition at line 1889 of file scheduler.cpp.
◆ handleConfigChanged()
void Ekos::Scheduler::handleConfigChanged | ( | ) |
handleConfigChanged Update UI after changes to the global configuration
Definition at line 524 of file scheduler.cpp.
◆ handleSchedulerSleeping
|
protectedslot |
handleSchedulerSleeping Update UI if scheduler is set to sleep
- Parameters
-
shutdown flag if a preemptive shutdown is executed sleep flag if the scheduler will sleep
Definition at line 2114 of file scheduler.cpp.
◆ handleSchedulerStateChanged
|
protectedslot |
handleSchedulerStateChanged Update UI when the scheduler state changes
Definition at line 2125 of file scheduler.cpp.
◆ handleSetPaused
|
protectedslot |
handleSetPaused Update the UI when {
- See also
- #setPaused()} is called.
Definition at line 2154 of file scheduler.cpp.
◆ importMosaic()
bool Ekos::Scheduler::importMosaic | ( | const QJsonObject & | payload | ) |
importMosaic Import mosaic into planner and generate jobs for the scheduler.
- Parameters
-
payload metadata for the mosaic information.
- Note
- Only Telescopius.com mosaic format is now supported.
Definition at line 2168 of file scheduler.cpp.
◆ insertJobTableRow()
|
protected |
insertJobTableRow Insert a new row (empty) into the job table
- Parameters
-
row row number (starting with 0) above insert above the given row (=true) or below (=false)
Definition at line 1466 of file scheduler.cpp.
◆ interfaceReady
|
protectedslot |
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.
- Parameters
-
iface interface to test for readiness.
Definition at line 1997 of file scheduler.cpp.
◆ load
load Open a file dialog to select an ESL file, and load its contents.
- Parameters
-
clearQueue Clear the queue before loading, or append ESL contents to queue. filename If not empty, this file will be used instead of poping up a dialog.
Definition at line 1688 of file scheduler.cpp.
◆ loadFile()
loadFile Load scheduler jobs from disk
- Parameters
-
path Oath to esl file to load jobs from
- Returns
- True if successful, false otherwise
Definition at line 1683 of file scheduler.cpp.
◆ loadJob
|
protectedslot |
editJob Edit an observation job
- Parameters
-
i index model in queue table
Definition at line 1074 of file scheduler.cpp.
◆ moduleState()
|
inline |
Definition at line 171 of file scheduler.h.
◆ moveJobDown
|
protectedslot |
moveJobDown Move the selected job down in the list.
Definition at line 1246 of file scheduler.cpp.
◆ moveJobUp
|
protectedslot |
moveJobUp Move the selected job up in the job list.
Definition at line 1216 of file scheduler.cpp.
◆ pause
|
protectedslot |
Definition at line 1601 of file scheduler.cpp.
◆ process()
|
inline |
Definition at line 176 of file scheduler.h.
◆ profile()
|
inline |
Definition at line 116 of file scheduler.h.
◆ queueTableSelectionChanged
|
protectedslot |
Update scheduler parameters to the currently selected scheduler job.
- Parameters
-
selected table position deselected table position
Definition at line 1114 of file scheduler.cpp.
◆ removeJob()
void Ekos::Scheduler::removeJob | ( | ) |
Remove a job from current table row.
- Parameters
-
index
Definition at line 1544 of file scheduler.cpp.
◆ removeOneJob()
void Ekos::Scheduler::removeOneJob | ( | int | index | ) |
Remove a job by selecting a table row.
- Parameters
-
index
Definition at line 1585 of file scheduler.cpp.
◆ reorderJobs
|
protectedslot |
reorderJobs Change the order of jobs in the UI based on a subset of its jobs.
Definition at line 1187 of file scheduler.cpp.
◆ resetJobEdit
|
protectedslot |
Definition at line 1515 of file scheduler.cpp.
◆ resumeCheckStatus
|
protectedslot |
resumeCheckStatus If the scheduler primary loop was suspended due to weather or sleep event, resume it again.
Definition at line 1882 of file scheduler.cpp.
◆ save
|
protectedslot |
Definition at line 1767 of file scheduler.cpp.
◆ saveAs
|
protectedslot |
Definition at line 1747 of file scheduler.cpp.
◆ saveFile()
saveFile Save scheduler jobs to disk
- Parameters
-
path Path to esl file to save jobs to
- Returns
- True if successful, false otherwise
Definition at line 1753 of file scheduler.cpp.
◆ saveJob()
void Ekos::Scheduler::saveJob | ( | SchedulerJob * | job = nullptr | ) |
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 831 of file scheduler.cpp.
◆ schedulerStopped
|
protectedslot |
schedulerStopped React when the process engine has stopped the scheduler
Definition at line 1637 of file scheduler.cpp.
◆ selectFITS
|
protectedslot |
Selects FITS file for solving.
Definition at line 561 of file scheduler.cpp.
◆ selectObject
|
protectedslot |
select object from KStars's find dialog.
Definition at line 530 of file scheduler.cpp.
◆ selectSequence
|
protectedslot |
Selects sequence queue.
Definition at line 671 of file scheduler.cpp.
◆ selectShutdownScript
|
protectedslot |
Selects sequence queue.
Definition at line 695 of file scheduler.cpp.
◆ selectStartupScript
|
protectedslot |
Selects sequence queue.
Definition at line 680 of file scheduler.cpp.
◆ setAllSettings()
void Ekos::Scheduler::setAllSettings | ( | const QVariantMap & | settings | ) |
Definition at line 2461 of file scheduler.cpp.
◆ setDirty()
|
protected |
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 1834 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 1900 of file scheduler.cpp.
◆ setJobAddApply
|
protectedslot |
setJobAddApply Set first button state to add new job or apply changes.
Definition at line 1153 of file scheduler.cpp.
◆ setJobManipulation
|
protectedslot |
setJobManipulation Enable or disable job manipulation buttons.
Definition at line 1170 of file scheduler.cpp.
◆ setProfile()
Definition at line 112 of file scheduler.h.
◆ setSequence()
Set the file URL pointing to the capture sequence file.
- Parameters
-
sequenceFileURL URL of the capture sequence file
Definition at line 658 of file scheduler.cpp.
◆ setWeatherStatus
|
protectedslot |
Definition at line 2052 of file scheduler.cpp.
◆ sortJobsPerAltitude()
void Ekos::Scheduler::sortJobsPerAltitude | ( | ) |
◆ syncGUIToGeneralSettings
|
protectedslot |
syncGUIToGeneralSettings set all UI fields that are not job specific
Definition at line 1025 of file scheduler.cpp.
◆ syncGUIToJob
|
protectedslot |
set all GUI fields to the values of the given scheduler job
Definition at line 934 of file scheduler.cpp.
◆ toggleScheduler()
void Ekos::Scheduler::toggleScheduler | ( | ) |
Definition at line 1590 of file scheduler.cpp.
◆ updateCellStyle()
|
protected |
Update the style of a cell, depending on the job's state.
Definition at line 1507 of file scheduler.cpp.
◆ updateJobTable()
|
protected |
updateJobTable Update the job's row in the job table.
If the row does not exist, it will be created on the fly. If job is null, update the entire table
- Parameters
-
job
Definition at line 1276 of file scheduler.cpp.
◆ updateNightTime
updateNightTime update the Twilight restriction with the argument job properties.
- Parameters
-
job SchedulerJob 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 1051 of file scheduler.cpp.
◆ updateSchedulerURL
updateSchedulerURL Update scheduler URL after succesful loading a new file.
Definition at line 1107 of file scheduler.cpp.
◆ watchJobChanges()
|
protected |
Enables signal watch on SchedulerJob form values in order to apply changes to current job.
- Parameters
-
enable is the toggle flag, true to watch for changes, false to ignore them.
Definition at line 384 of file scheduler.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:19:05 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.