10#include <QElapsedTimer>
17class RefocusState :
public QObject
42 RefocusReason checkFocusRequired();
48 void startRefocusTimer(
bool forced =
false);
52 return m_refocusEveryNTimer;
54 qint64 restartRefocusEveryNTimer()
56 return m_refocusEveryNTimer.
restart();
59 uint getRefocusEveryNTimerElapsedSec();
61 double getFocusHFR()
const
65 void setFocusHFR(
double newFocusHFR,
bool inAutofocus)
67 m_focusHFR = newFocusHFR;
68 m_focusHFRInAutofocus = inAutofocus;
70 bool getFocusHFRInAutofocus()
const
72 return m_focusHFRInAutofocus;
80 bool isAutoFocusReady()
const
82 return m_AutoFocusReady;
84 void setAutoFocusReady(
bool value)
86 m_AutoFocusReady = value;
89 bool isInSequenceFocus()
const
91 return m_InSequenceFocus;
93 void setInSequenceFocus(
bool value)
95 m_InSequenceFocus = value;
98 bool isAdaptiveFocusDone()
const
100 return m_AdaptiveFocusDone;
102 void setAdaptiveFocusDone(
bool value)
104 m_AdaptiveFocusDone = value;
107 uint getInSequenceFocusCounter()
const
109 return inSequenceFocusCounter;
111 void decreaseInSequenceFocusCounter();
112 void setInSequenceFocusCounter(uint value)
114 inSequenceFocusCounter = value;
116 void resetInSequenceFocusCounter()
118 inSequenceFocusCounter = Options::inSequenceCheckFrames();
121 double getFocusTemperatureDelta()
const
123 return m_focusTemperatureDelta;
125 void setFocusTemperatureDelta(
double value)
127 m_focusTemperatureDelta = value;
130 bool isRefocusAfterMeridianFlip()
const
132 return m_refocusAfterMeridianFlip;
134 void setRefocusAfterMeridianFlip(
bool value)
136 m_refocusAfterMeridianFlip = value;
139 bool isRefocusing()
const
143 void setRefocusing(
bool value)
145 m_refocusing = value;
154 m_HFRMap = newHFRMap;
160 void addHFRValue(
const QString &filter);
162 bool forceInSeqAF()
const
164 return m_ForceInSeqAF;
166 void setForceInSeqAF(
bool newForceInSeqAF)
168 m_ForceInSeqAF = newForceInSeqAF;
173 void newLog(
const QString &text);
178 double m_focusHFR { 0 };
180 bool m_focusHFRInAutofocus {
false };
184 bool m_AutoFocusReady {
false };
186 bool m_InSequenceFocus {
false };
188 bool m_ForceInSeqAF {
false};
190 bool m_AdaptiveFocusDone {
false };
192 uint inSequenceFocusCounter { 0 };
194 double m_focusTemperatureDelta { 0 };
196 bool m_refocusAfterMeridianFlip {
false };
202 bool m_refocusing {
false };
208 void appendLogText(
const QString &message);
Ekos is an advanced Astrophotography tool for Linux.
QObject * parent() const const