[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kstars/filtermanager] kstars/ekos/capture: Announce state changes. Use filter manager to set filter
From:       Jasem Mutlaq <null () kde ! org>
Date:       2017-09-30 19:55:51
Message-ID: E1dyNrb-0002Vj-63 () code ! kde ! org
[Download RAW message or body]

Git commit d86d58efe9ef920783fc5f9888e15f9a57e4eeef by Jasem Mutlaq.
Committed on 30/09/2017 at 19:51.
Pushed by mutlaqja into branch 'filtermanager'.

Announce state changes. Use filter manager to set filters

M  +5    -21   kstars/ekos/capture/sequencejob.cpp
M  +9    -6    kstars/ekos/capture/sequencejob.h

https://commits.kde.org/kstars/d86d58efe9ef920783fc5f9888e15f9a57e4eeef

diff --git a/kstars/ekos/capture/sequencejob.cpp \
b/kstars/ekos/capture/sequencejob.cpp index 95f974f10..4443ea3e2 100644
--- a/kstars/ekos/capture/sequencejob.cpp
+++ b/kstars/ekos/capture/sequencejob.cpp
@@ -32,7 +32,7 @@ SequenceJob::SequenceJob()
 
     prepareActions[ACTION_FILTER] = true;
     prepareActions[ACTION_TEMPERATURE] = true;
-    prepareActions[ACTION_POST_FOCUS] = true;
+    //prepareActions[ACTION_POST_FOCUS] = true;
     prepareActions[ACTION_ROTATOR] = true;
 }
 
@@ -136,22 +136,21 @@ void SequenceJob::prepareCapture()
         {
             prepareActions[ACTION_FILTER] = false;
 
-            // Post Focus on Filter change. If frame is NOT light, then we do not \
                perform autofocusing on filter change
-            //prepareActions[ACTION_POST_FOCUS] = \
(!Options::autoFocusOnFilterChange()); +            emit \
prepareState(CAPTURE_CHANGING_FILTER);  
-            activeFilter->runCommand(INDI_SET_FILTER, &targetFilter);
+            filterManager->setFilterPosition(targetFilter);
         }
     }
     else
     {
         prepareActions[ACTION_FILTER] = true;
-        //prepareActions[ACTION_POST_FOCUS] = true;
     }
 
     // Check if we need to update temperature
     if (enforceTemperature && fabs(targetTemperature - currentTemperature) > \
Options::maxTemperatureDiff())  {
         prepareActions[ACTION_TEMPERATURE] = false;
+        emit prepareState(CAPTURE_SETTING_TEMPERATURE);
         activeCCD->setTemperature(targetTemperature);
     }
 
@@ -161,6 +160,7 @@ void SequenceJob::prepareCapture()
         // PA = RawAngle * Multiplier + Offset
         double rawAngle = (targetRotation - Options::pAOffset()) / \
Options::pAMultiplier();  prepareActions[ACTION_ROTATOR] = false;
+        emit prepareState(CAPTURE_SETTING_ROTATOR);
         activeRotator->runCommand(INDI_SET_ROTATOR_ANGLE, &rawAngle);
     }
 
@@ -442,22 +442,6 @@ void SequenceJob::setEnforceTemperature(bool value)
     enforceTemperature = value;
 }
 
-bool SequenceJob::getFilterPostFocusReady() const
-{
-    return prepareActions[ACTION_POST_FOCUS];
-}
-
-void SequenceJob::setFilterPostFocusReady(bool value)
-{
-    prepareActions[ACTION_POST_FOCUS] = value;
-
-    if (prepareReady == false && areActionsReady() && (status == JOB_IDLE || status \
                == JOB_ABORTED))
-    {
-        prepareReady = true;
-        emit prepareComplete();
-    }
-}
-
 QString SequenceJob::getPostCaptureScript() const
 {
     return postCaptureScript;
diff --git a/kstars/ekos/capture/sequencejob.h b/kstars/ekos/capture/sequencejob.h
index aae6ab477..f8dbef375 100644
--- a/kstars/ekos/capture/sequencejob.h
+++ b/kstars/ekos/capture/sequencejob.h
@@ -11,6 +11,7 @@
 
 #include "indi/indistd.h"
 #include "indi/indiccd.h"
+#include "ekos/auxiliary/filtermanager.h"
 #include "skyobjects/skypoint.h"
 
 #include <QTableWidgetItem>
@@ -41,8 +42,7 @@ class SequenceJob : public QObject
     typedef enum
     {
         ACTION_FILTER,
-        ACTION_TEMPERATURE,
-        ACTION_POST_FOCUS,
+        ACTION_TEMPERATURE,        
         ACTION_ROTATOR
     } PrepareActions;
 
@@ -89,6 +89,8 @@ class SequenceJob : public QObject
     void setFrameType(CCDFrameType type);
     CCDFrameType getFrameType() { return frameType; }
 
+    void setFilterManager(const QSharedPointer<FilterManager> &manager) { \
filterManager = manager; } +
     void setCaptureFilter(FITSScale capFilter) { captureFilter = capFilter; }
     FITSScale getCaptureFilter() { return captureFilter; }
 
@@ -168,9 +170,6 @@ class SequenceJob : public QObject
     bool getEnforceTemperature() const;
     void setEnforceTemperature(bool value);
 
-    bool getFilterPostFocusReady() const;
-    void setFilterPostFocusReady(bool value);
-
     QString getPostCaptureScript() const;
     void setPostCaptureScript(const QString &value);
 
@@ -195,10 +194,11 @@ class SequenceJob : public QObject
     void setCustomProperties(const QMap<QString, QMap<QString, double> > &value);
 
     QString getDirectoryPostfix() const;
-    void setDirectoryPostfix(const QString &value);
+    void setDirectoryPostfix(const QString &value);    
 
 signals:
     void prepareComplete();
+    void prepareState(Ekos::CaptureState state);
     void checkFocus();
 
 private:
@@ -276,5 +276,8 @@ private:
     QMap<PrepareActions, bool> prepareActions;
 
     QMap<QString, QMap<QString,double>> customProperties;
+
+    // Filter Manager
+    QSharedPointer<FilterManager> filterManager;
 };
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic