9#include "indi/indicommon.h"
11#include "capturemodulestate.h"
12#include "ekos/auxiliary/filtermanager.h"
13#include "fitsviewer/fitscommon.h"
31class SequenceJobState:
public QObject
36 friend class CaptureDeviceAdaptor;
53 CAL_PRECAPTURE_COMPLETE,
55 CAL_CALIBRATION_COMPLETE,
70 CAL_CHECK_CONFIRMATION,
71 } CalibrationCheckType;
80 } ScopeWallPositionStatus;
95 void setFrameType(CCDFrameType frameType);
96 CCDFrameType getFrameType()
148 JOBStatus getStatus()
156 PreparationState getPreparationState()
const;
162 void reset(JOBStatus status = JOB_IDLE)
180 void setCurrentFilterID(
int value);
185 void setCurrentCCDTemperature(
double value);
189 void setTargetCCDTemperature(
double value)
191 targetTemperature = value;
197 void setFocusStatus(FocusState state);
202 void setCurrentRotatorPositionAngle(
double currentRotation, IPState state);
206 void setTargetRotatorAngle(
double value)
208 targetPositionAngle = value;
214 void updateManualScopeCover(
bool closed,
bool success,
bool light);
218 void lightBoxLight(
bool on);
222 void dustCapStateChanged(ISD::DustCap::Status status);
226 void scopeStatusChanged(ISD::Mount::Status status);
230 void scopeParkStatusChanged(ISD::ParkStatus status);
234 void domeStatusChanged(ISD::Dome::Status status);
238 void flatSyncFocusChanged(
bool completed);
250 void prepareComplete(
bool success =
true);
252 void initCaptureComplete(FITSMode mode);
254 void setRotatorAngle(
double rawAngle);
256 void readFilterPosition();
258 void changeFilterPosition(
int targetFilterPosition, FilterManager::FilterPolicy policy);
260 void setCCDTemperature(
double temp);
264 void askManualScopeCover(
QString question,
QString title,
bool light);
266 void askManualScopeOpen(
bool light);
268 void setLightBoxLight(
bool on);
270 void setDustCapLight(
bool on);
272 void parkDustCap(
bool park);
274 void slewTelescope(
SkyPoint &target);
276 void setScopeTracking(
bool on);
278 void setScopeParked(
bool parked);
280 void setDomeParked(
bool parked);
282 void flatSyncFocus(
int targetFilterID);
284 void queryHasShutter();
292 JOBStatus m_status { JOB_IDLE };
295 PreparationState m_PreparationState { PREP_NONE };
309 CCDFrameType m_frameType { FRAME_NONE };
311 bool m_isPreview {
false };
313 bool m_enforceTemperature {
false };
322 FlatSyncStatus flatSyncStatus { FS_NONE };
324 uint32_t m_CalibrationPreAction { ACTION_NONE };
328 ScopeWallPositionStatus wpScopeStatus { WP_NONE };
336 void checkAllActionsReady();
342 bool areActionsReady();
347 void setAllActionsReady();
358 void prepareRotatorCheck();
366 void prepareTargetFilter(CCDFrameType frameType,
bool isPreview);
373 IPState checkLightFrameScopeCoverOpen();
378 bool isInitialized(CaptureModuleState::PrepareActions action);
382 void setInitialized(CaptureModuleState::PrepareActions action,
bool init);
392 IPState checkCalibrationPreActionsReady();
399 IPState checkFlatsCoverReady();
406 IPState checkDarksCoverReady();
420 IPState checkDustCapReady(CCDFrameType frameType);
428 IPState checkWallPositionReady(CCDFrameType
frametype);
435 IPState checkPreMountParkReady();
442 IPState checkPreDomeParkReady();
449 IPState checkFlatSyncFocus();
460 IPState checkHasShutter();
471 int targetFilterID { Ekos::INVALID_VALUE };
472 FilterManager::FilterPolicy m_filterPolicy { FilterManager::ALL_POLICIES };
474 double targetTemperature { Ekos::INVALID_VALUE };
476 double targetPositionAngle { Ekos::INVALID_VALUE };
478 CalibrationStage calibrationStage { CAL_NONE };
480 CalibrationCheckType coverQueryState { CAL_CHECK_TASK };
Sequence Job is a container for the details required to capture a series of images.
The sky coordinates of a point in the sky.
Ekos is an advanced Astrophotography tool for Linux.
CaptureState
Capture states.
NETWORKMANAGERQT_EXPORT NetworkManager::Status status()