• 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
align.h
Go to the documentation of this file.
1 /* Ekos Polar Alignment Tool
2  Copyright (C) 2013 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 ALIGN_H
11 #define ALIGN_H
12 
13 #include <QProcess>
14 #include <QTime>
15 
16 #include "capture.h"
17 
18 #include "ui_align.h"
19 
20 #include "indi/inditelescope.h"
21 #include "indi/indistd.h"
22 
23 
24 namespace Ekos
25 {
26 
27 class Align : public QWidget, public Ui::Align
28 {
29 
30  Q_OBJECT
31 
32 public:
33  Align();
34  ~Align();
35 
36  typedef enum { AZ_INIT, AZ_FIRST_TARGET, AZ_SYNCING, AZ_SLEWING, AZ_SECOND_TARGET, AZ_CORRECTING, AZ_FINISHED } AZStage;
37  typedef enum { ALT_INIT, ALT_FIRST_TARGET, ALT_SYNCING, ALT_SLEWING, ALT_SECOND_TARGET, ALT_CORRECTING, ALT_FINISHED } ALTStage;
38 
39  void setCCD(ISD::GDInterface *newCCD);
40  void setTelescope(ISD::GDInterface *newTelescope);
41  void addGuideHead();
42  void syncTelescopeInfo();
43  void syncCCDInfo();
44  void generateArgs();
45  void startSovling(const QString &filename);
46  void appendLogText(const QString &);
47  void clearLog();
48  QString getLogText() { return logText.join("\n"); }
49 
50 public slots:
51 
52  void logSolver();
53  void updateScopeCoords(INumberVectorProperty *coord);
54  void checkCCD(int CCDNum);
55  void newFITS(IBLOB *bp);
56 
57  /* Solver */
58  bool capture();
59  void stopSolving();
60  void solverComplete(int exist_status);
61  void wcsinfoComplete(int exist_status);
62 
63  /* Solver Options */
64  void checkLineEdits();
65  void copyCoordsToBoxes();
66  void clearCoordBoxes();
67 
68 
69  /* Polar Alignment */
70  void checkPolarAlignment();
71  void measureAltError();
72  void measureAzError();
73  void correctAzError();
74  void correctAltError();
75 
76 signals:
77  void newLog();
78 
79 private:
80  void calculateFOV();
81  void verifyIndexFiles();
82  bool getAstrometryDataDir(QString &dataDir);
83  void executeMode();
84  void executeGOTO();
85  void executePolarAlign();
86  void Sync();
87  void SlewToTarget();
88  void calculatePolarError(double initRA, double initDEC, double finalRA, double finalDEC);
89  void getFormattedCoords(double ra, double dec, QString &ra_str, QString &dec_str);
90 
91  ISD::Telescope *currentTelescope;
92  ISD::CCD *currentCCD;
93  QList<ISD::CCD *> CCDs;
94 
95  Ekos::Capture *captureP;
96 
97  bool useGuideHead;
98  bool canSync;
99  QStringList logText;
100 
101  double ccd_hor_pixel, ccd_ver_pixel, focal_length, aperture, fov_x, fov_y;
102  int ccd_width, ccd_height;
103 
104  SkyPoint alignCoord;
105  SkyPoint targetCoord;
106  SkyPoint telescopeCoord;
107 
108  QProgressIndicator *pi;
109  QProcess solver;
110  QProcess wcsinfo;
111  QTime solverTimer;
112  QString fitsFile;
113 
114  AZStage azStage;
115  ALTStage altStage;
116  double azDeviation, altDeviation;
117  double decDeviation;
118  QMap<float, QString> astrometryIndex;
119 
120  static const double RAMotion;
121  static const float SIDRATE;
122 
123 
124 };
125 
126 }
127 
128 #endif // ALIGN_H
Ekos::Align::checkCCD
void checkCCD(int CCDNum)
Definition: align.cpp:109
Ekos::Align::AZ_SYNCING
Definition: align.h:36
Ekos::Align::measureAzError
void measureAzError()
Definition: align.cpp:820
Ekos::Align::AZ_SECOND_TARGET
Definition: align.h:36
Ekos::Align::ALT_SLEWING
Definition: align.h:37
Ekos::Align::syncCCDInfo
void syncCCDInfo()
Definition: align.cpp:194
capture.h
QWidget
Ekos::Align::setCCD
void setCCD(ISD::GDInterface *newCCD)
Definition: align.cpp:118
Ekos::Align::ALT_CORRECTING
Definition: align.h:37
Ekos::Align::startSovling
void startSovling(const QString &filename)
Definition: align.cpp:497
Ekos::Align::stopSolving
void stopSolving()
Definition: align.cpp:525
Ekos::Align::correctAltError
void correctAltError()
Definition: align.cpp:1100
Ekos::Align::ALT_SYNCING
Definition: align.h:37
QProgressIndicator
The QProgressIndicator class lets an application display a progress indicator to show that a lengthy ...
Definition: QProgressIndicator.h:35
Ekos::Align::AZ_SLEWING
Definition: align.h:36
Ekos::Align::copyCoordsToBoxes
void copyCoordsToBoxes()
Definition: align.cpp:432
Ekos::Align::correctAzError
void correctAzError()
Definition: align.cpp:1130
SkyPoint
The sky coordinates of a point in the sky.
Definition: skypoint.h:50
Ekos::Align::AZ_FIRST_TARGET
Definition: align.h:36
Ekos::Align::newLog
void newLog()
Ekos::Capture
Definition: capture.h:68
ISD::Telescope
Definition: inditelescope.h:19
inditelescope.h
Ekos::Align::AZ_INIT
Definition: align.h:36
Ekos::Align::setTelescope
void setTelescope(ISD::GDInterface *newTelescope)
Definition: align.cpp:129
Ekos::Align::ALT_INIT
Definition: align.h:37
Ekos::Align::generateArgs
void generateArgs()
Definition: align.cpp:354
Ekos::Align::checkPolarAlignment
void checkPolarAlignment()
Definition: align.cpp:776
Ekos::Align::Align
Align()
Definition: align.cpp:40
Ekos::Align::wcsinfoComplete
void wcsinfoComplete(int exist_status)
Definition: align.cpp:573
Ekos::Align::ALTStage
ALTStage
Definition: align.h:37
Ekos::Align::clearCoordBoxes
void clearCoordBoxes()
Definition: align.cpp:440
Ekos::Align::getLogText
QString getLogText()
Definition: align.h:48
Ekos::Align::newFITS
void newFITS(IBLOB *bp)
Definition: align.cpp:484
Ekos::Align::updateScopeCoords
void updateScopeCoords(INumberVectorProperty *coord)
Definition: align.cpp:655
Ekos::Align::syncTelescopeInfo
void syncTelescopeInfo()
Definition: align.cpp:138
Ekos::Align::AZStage
AZStage
Definition: align.h:36
Ekos::Align::AZ_CORRECTING
Definition: align.h:36
Ekos::Align::ALT_FIRST_TARGET
Definition: align.h:37
Ekos::Align::ALT_FINISHED
Definition: align.h:37
Ekos::Align::~Align
~Align()
Definition: align.cpp:103
Ekos::Align::measureAltError
void measureAltError()
Definition: align.cpp:905
Ekos::Align::appendLogText
void appendLogText(const QString &)
Definition: align.cpp:642
Ekos::Align::checkLineEdits
void checkLineEdits()
Definition: align.cpp:423
indistd.h
Ekos::Align::logSolver
void logSolver()
Definition: align.cpp:637
Ekos::Align::capture
bool capture()
Definition: align.cpp:448
Ekos::Align::clearLog
void clearLog()
Definition: align.cpp:649
ISD::CCD
Definition: indiccd.h:73
Ekos::Align
Definition: align.h:27
Ekos::Align::solverComplete
void solverComplete(int exist_status)
Definition: align.cpp:551
ISD::GDInterface
Definition: indistd.h:48
Ekos::Align::AZ_FINISHED
Definition: align.h:36
Ekos::Align::addGuideHead
void addGuideHead()
QList
Ekos::Align::ALT_SECOND_TARGET
Definition: align.h:37
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