• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

kstars

  • sources
  • kde-4.12
  • kdeedu
  • kstars
  • kstars
  • ekos
focus.h
Go to the documentation of this file.
1 /* Ekos Focus tool
2  Copyright (C) 2012 Jasem Mutlaq <mutlaqja@ikarustech.com>
3 
4  This application is free software; you can redistribute it and/or
5  modify it under the terms of the GNU General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8  */
9 
10 #ifndef FOCUS_H
11 #define FOCUS_H
12 
13 #include "focus.h"
14 #include "capture.h"
15 
16 #include "ui_focus.h"
17 
18 
19 #include "indi/indistd.h"
20 #include "indi/indifocuser.h"
21 
22 class KPlotObject;
23 
24 namespace Ekos
25 {
26 
27 struct HFRPoint
28 {
29  int pos;
30  double HFR;
31 };
32 
33 class Focus : public QWidget, public Ui::Focus
34 {
35 
36  Q_OBJECT
37 
38 public:
39  Focus();
40  ~Focus();
41 
42  void setFocuser(ISD::GDInterface *newFocuser);
43  void addCCD(ISD::GDInterface *newCCD);
44  void focuserDisconnected();
45 
46  typedef enum { FOCUS_NONE, FOCUS_IN, FOCUS_OUT } FocusDirection;
47  typedef enum { FOCUS_MANUAL, FOCUS_AUTO, FOCUS_LOOP } FocusType;
48 
49  void appendLogText(const QString &);
50  void clearLog();
51  QString getLogText() { return logText.join("\n"); }
52 
53 public slots:
54 
55  /* Focus */
56  void startFocus();
57  void stopFocus();
58  void capture();
59  void startLooping();
60 
61  void checkCCD(int CCDNum);
62 
63  void FocusIn(int ms=-1);
64  void FocusOut(int ms=-1);
65 
66  void toggleAutofocus(bool enable);
67 
68  void newFITS(IBLOB *bp);
69  void processFocusProperties(INumberVectorProperty *nvp);
70 
71 signals:
72  void newLog();
73 
74 private:
75 
76  void getAbsFocusPosition();
77  void autoFocusAbs(double currentHFR);
78  void autoFocusRel(double currentHFR);
79 
80  void resetButtons();
81 
82 
83  /* Focus */
84  ISD::Focuser *currentFocuser;
85  ISD::CCD *currentCCD;
86 
87  QList<ISD::CCD *> CCDs;
88 
89  Ekos::Capture *captureP;
90 
91  FocusDirection lastFocusDirection;
92  FocusType focusType;
93 
94  double HFR;
95  int pulseDuration;
96  bool canAbsMove;
97  int absIterations;
98 
99  bool inAutoFocus, inFocusLoop;
100 
101  double absCurrentPos;
102  double pulseStep;
103  double absMotionMax, absMotionMin;
104  int HFRInc;
105  int HFRDec;
106  bool reverseDir;
107 
108  QStringList logText;
109 
110  QList<HFRPoint *> HFRPoints;
111 };
112 
113 }
114 
115 #endif // Focus_H
Ekos::Focus
Definition: focus.h:33
Ekos::HFRPoint::pos
int pos
Definition: focus.h:29
Ekos::Focus::addCCD
void addCCD(ISD::GDInterface *newCCD)
Definition: focus.cpp:126
Ekos::Focus::checkCCD
void checkCCD(int CCDNum)
Definition: focus.cpp:102
indifocuser.h
capture.h
Ekos::Focus::~Focus
~Focus()
Definition: focus.cpp:83
QWidget
Ekos::Focus::Focus
Focus()
Definition: focus.cpp:32
Ekos::Focus::setFocuser
void setFocuser(ISD::GDInterface *newFocuser)
Definition: focus.cpp:109
focus.h
Ekos::Focus::FOCUS_OUT
Definition: focus.h:46
ISD::Focuser
Definition: indifocuser.h:18
Ekos::Focus::stopFocus
void stopFocus()
Definition: focus.cpp:187
Ekos::Focus::FocusType
FocusType
Definition: focus.h:47
Ekos::Focus::capture
void capture()
Definition: focus.cpp:203
Ekos::Focus::clearLog
void clearLog()
Definition: focus.cpp:763
Ekos::Focus::FOCUS_IN
Definition: focus.h:46
Ekos::Focus::processFocusProperties
void processFocusProperties(INumberVectorProperty *nvp)
Definition: focus.cpp:712
Ekos::Focus::FOCUS_NONE
Definition: focus.h:46
Ekos::HFRPoint
Definition: focus.h:27
Ekos::Capture
Definition: capture.h:68
Ekos::Focus::FocusOut
void FocusOut(int ms=-1)
Definition: focus.cpp:264
Ekos::HFRPoint::HFR
double HFR
Definition: focus.h:30
Ekos::Focus::FOCUS_MANUAL
Definition: focus.h:47
Ekos::Focus::focuserDisconnected
void focuserDisconnected()
Ekos::Focus::FOCUS_AUTO
Definition: focus.h:47
Ekos::Focus::appendLogText
void appendLogText(const QString &)
Definition: focus.cpp:755
Ekos::Focus::FOCUS_LOOP
Definition: focus.h:47
Ekos::Focus::FocusIn
void FocusIn(int ms=-1)
Definition: focus.cpp:233
Ekos::Focus::startFocus
void startFocus()
Definition: focus.cpp:152
Ekos::Focus::toggleAutofocus
void toggleAutofocus(bool enable)
Definition: focus.cpp:89
Ekos::Focus::newFITS
void newFITS(IBLOB *bp)
Definition: focus.cpp:295
Ekos::Focus::getLogText
QString getLogText()
Definition: focus.h:51
indistd.h
ISD::CCD
Definition: indiccd.h:73
Ekos::Focus::startLooping
void startLooping()
Definition: focus.cpp:769
ISD::GDInterface
Definition: indistd.h:48
Ekos::Focus::newLog
void newLog()
QList
Ekos::Focus::FocusDirection
FocusDirection
Definition: focus.h:46
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:36:19 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kstars

Skip menu "kstars"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal