10#include <QElapsedTimer> 
   17class RefocusState : 
public QObject
 
   42        RefocusReason checkFocusRequired();
 
   48        void startRefocusTimer(
bool forced = 
false);
 
   50        const QElapsedTimer &getRefocusEveryNTimer()
 const 
   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;
 
  148        const QMap<QString, QList<double> > &getHFRMap()
 const 
  152        void setHFRMap(
const QMap<QString, QList<double>> &newHFRMap)
 
  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 };
 
  182        QElapsedTimer m_refocusEveryNTimer;
 
  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 };
 
  198        QMap<QString, QList<double>> m_HFRMap;
 
  202        bool m_refocusing { 
false };
 
  208        void appendLogText(
const QString &message);
 
Ekos is an advanced Astrophotography tool for Linux.
 
QObject * parent() const const