Changeset View
Changeset View
Standalone View
Standalone View
kstars/ekos/capture/capture.h
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Line(s) | |||||
42 | * Features: | 42 | * Features: | ||
43 | * - Control your telescope, CCD (& DSLRs), filter wheel, focuser, guider, adaptive optics unit, and any INDI-compatible auxiliary device from Ekos. | 43 | * - Control your telescope, CCD (& DSLRs), filter wheel, focuser, guider, adaptive optics unit, and any INDI-compatible auxiliary device from Ekos. | ||
44 | * - Extremely accurate GOTOs using astrometry.net solver (both Online and Offline solvers supported). | 44 | * - Extremely accurate GOTOs using astrometry.net solver (both Online and Offline solvers supported). | ||
45 | * - Load & Slew: Load a FITS image, slew to solved coordinates, and center the mount on the exact image coordinates in order to get the same desired frame. | 45 | * - Load & Slew: Load a FITS image, slew to solved coordinates, and center the mount on the exact image coordinates in order to get the same desired frame. | ||
46 | * - Measure & Correct Polar Alignment errors using astrometry.net solver. | 46 | * - Measure & Correct Polar Alignment errors using astrometry.net solver. | ||
47 | * - Auto and manual focus modes using Half-Flux-Radius (HFR) method. | 47 | * - Auto and manual focus modes using Half-Flux-Radius (HFR) method. | ||
48 | * - Automated unattended meridian flip. Ekos performs post meridian flip alignment, calibration, and guiding to resume the capture session. | 48 | * - Automated unattended meridian flip. Ekos performs post meridian flip alignment, calibration, and guiding to resume the capture session. | ||
49 | * - Automatic focus between exposures when a user-configurable HFR limit is exceeded. | 49 | * - Automatic focus between exposures when a user-configurable HFR limit is exceeded. | ||
50 | * - Automatic focus between exposures when the temperature has changed a lot since last focus. | ||||
50 | * - Auto guiding with support for automatic dithering between exposures and support for Adaptive Optics devices in addition to traditional guiders. | 51 | * - Auto guiding with support for automatic dithering between exposures and support for Adaptive Optics devices in addition to traditional guiders. | ||
51 | * - Powerful sequence queue for batch capture of images with optional prefixes, timestamps, filter wheel selection, and much more! | 52 | * - Powerful sequence queue for batch capture of images with optional prefixes, timestamps, filter wheel selection, and much more! | ||
52 | * - Export and import sequence queue sets as Ekos Sequence Queue (.esq) files. | 53 | * - Export and import sequence queue sets as Ekos Sequence Queue (.esq) files. | ||
53 | * - Center the telescope anywhere in a captured FITS image or any FITS with World Coordinate System (WCS) header. | 54 | * - Center the telescope anywhere in a captured FITS image or any FITS with World Coordinate System (WCS) header. | ||
54 | * - Automatic flat field capture, just set the desired ADU and let Ekos does the rest! | 55 | * - Automatic flat field capture, just set the desired ADU and let Ekos does the rest! | ||
55 | * - Automatic abort and resumption of exposure tasks if guiding errors exceed a user-configurable value. | 56 | * - Automatic abort and resumption of exposure tasks if guiding errors exceed a user-configurable value. | ||
56 | * - Support for dome slaving. | 57 | * - Support for dome slaving. | ||
57 | * - Complete integration with KStars Observation Planner and SkyMap | 58 | * - Complete integration with KStars Observation Planner and SkyMap | ||
▲ Show 20 Lines • Show All 544 Lines • ▼ Show 20 Line(s) | 372 | public slots: | |||
602 | void appendLogText(const QString &); | 603 | void appendLogText(const QString &); | ||
603 | 604 | | |||
604 | // Auto Focus | 605 | // Auto Focus | ||
605 | void setFocusStatus(Ekos::FocusState state); | 606 | void setFocusStatus(Ekos::FocusState state); | ||
606 | void setHFR(double newHFR, int) | 607 | void setHFR(double newHFR, int) | ||
607 | { | 608 | { | ||
608 | focusHFR = newHFR; | 609 | focusHFR = newHFR; | ||
609 | } | 610 | } | ||
611 | void setFocusTemperatureDelta(double focusTemperatureDelta); | ||||
610 | // Return TRUE if we need to run focus/autofocus. Otherwise false if not necessary | 612 | // Return TRUE if we need to run focus/autofocus. Otherwise false if not necessary | ||
611 | bool startFocusIfRequired(); | 613 | bool startFocusIfRequired(); | ||
612 | 614 | | |||
613 | // Guide | 615 | // Guide | ||
614 | void setGuideStatus(Ekos::GuideState state); | 616 | void setGuideStatus(Ekos::GuideState state); | ||
615 | // short cut for all guiding states that indicate guiding is active | 617 | // short cut for all guiding states that indicate guiding is active | ||
616 | bool isGuidingActive(); | 618 | bool isGuidingActive(); | ||
617 | // Align | 619 | // Align | ||
▲ Show 20 Lines • Show All 251 Lines • ▼ Show 20 Line(s) | 745 | private: | |||
869 | bool isInSequenceFocus { false }; | 871 | bool isInSequenceFocus { false }; | ||
870 | bool m_AutoFocusReady { false }; | 872 | bool m_AutoFocusReady { false }; | ||
871 | //bool requiredAutoFocusStarted { false }; | 873 | //bool requiredAutoFocusStarted { false }; | ||
872 | //bool firstAutoFocus { true }; | 874 | //bool firstAutoFocus { true }; | ||
873 | double focusHFR { 0 }; // HFR value as received from the Ekos focus module | 875 | double focusHFR { 0 }; // HFR value as received from the Ekos focus module | ||
874 | QMap<QString, QList<double>> HFRMap; | 876 | QMap<QString, QList<double>> HFRMap; | ||
875 | double fileHFR { 0 }; // HFR value as loaded from the sequence file | 877 | double fileHFR { 0 }; // HFR value as loaded from the sequence file | ||
876 | 878 | | |||
877 | // Refocus every N minutes | 879 | // Refocus in progress because of time forced refocus or temperature change | ||
878 | bool isRefocus { false }; | 880 | bool isRefocus { false }; | ||
881 | | ||||
882 | // Focus on Temperature change | ||||
883 | bool isTemperatureDeltaCheckActive { false }; | ||||
884 | double focusTemperatureDelta { 0 }; // Temperature delta as received from the Ekos focus module | ||||
885 | | ||||
886 | // Refocus every N minutes | ||||
879 | int refocusEveryNMinutesValue { 0 }; // number of minutes between forced refocus | 887 | int refocusEveryNMinutesValue { 0 }; // number of minutes between forced refocus | ||
880 | QElapsedTimer refocusEveryNTimer; // used to determine when next force refocus should occur | 888 | QElapsedTimer refocusEveryNTimer; // used to determine when next force refocus should occur | ||
881 | 889 | | |||
882 | // Meridian flip | 890 | // Meridian flip | ||
883 | SkyPoint initialMountCoords; | 891 | SkyPoint initialMountCoords; | ||
884 | bool resumeAlignmentAfterFlip { false }; | 892 | bool resumeAlignmentAfterFlip { false }; | ||
885 | bool resumeGuidingAfterFlip { false }; | 893 | bool resumeGuidingAfterFlip { false }; | ||
886 | MFStage meridianFlipStage { MF_NONE }; | 894 | MFStage meridianFlipStage { MF_NONE }; | ||
▲ Show 20 Lines • Show All 78 Lines • Show Last 20 Lines |