1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-26 09:48:45 -05:00
sdrangel/plugins/feature/startracker/startrackerreport.h
Jon Beniston cddc8c9b83 Star Tracker updates.
Plot Sun and Moon on sky temperature chart.
Plot markers on Galactic line-of-sight chart.
Create animations from Galactic line-of-sight chart.
Allow weather at antenna location to be downloaded from openweathermap.org
Allow target to be entered as Galactic longitude / latitude.
Add azimuth and elevation offsets to support scans around targets.
Add S7, S8 and S9 targets.
Refactor some code from GUI to main plugin, so computed values can be used in other plugins.
2021-10-12 11:07:56 +01:00

113 lines
3.5 KiB
C++

///////////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2019 Edouard Griffiths, F4EXB //
// Copyright (C) 2021 Jon Beniston, M7RCE //
// //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation as version 3 of the License, or //
// (at your option) any later version. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License V3 for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
///////////////////////////////////////////////////////////////////////////////////
#ifndef INCLUDE_FEATURE_STARTRACKERREPORT_H_
#define INCLUDE_FEATURE_STARTRACKERREPORT_H_
#include <QObject>
#include <QList>
#include "util/message.h"
#include "util/astronomy.h"
class StarTrackerReport : public QObject
{
Q_OBJECT
public:
class MsgReportAzAl : public Message {
MESSAGE_CLASS_DECLARATION
public:
double getAzimuth() const { return m_azimuth; }
double getElevation() const { return m_elevation; }
static MsgReportAzAl* create(double azimuth, double elevation)
{
return new MsgReportAzAl(azimuth, elevation);
}
private:
double m_azimuth;
double m_elevation;
MsgReportAzAl(double azimuth, double elevation) :
Message(),
m_azimuth(azimuth),
m_elevation(elevation)
{
}
};
class MsgReportRADec : public Message {
MESSAGE_CLASS_DECLARATION
public:
double getRA() const { return m_ra; }
double getDec() const { return m_dec; }
QString getTarget() const { return m_target; }
static MsgReportRADec* create(double ra, double dec, const QString& target)
{
return new MsgReportRADec(ra, dec, target);
}
private:
double m_ra;
double m_dec;
QString m_target; // "target", "sun" or "moon"
MsgReportRADec(double ra, double dec, const QString& target) :
Message(),
m_ra(ra),
m_dec(dec),
m_target(target)
{
}
};
class MsgReportGalactic : public Message {
MESSAGE_CLASS_DECLARATION
public:
double getL() const { return m_l; }
double getB() const { return m_b; }
static MsgReportGalactic* create(double l, double b)
{
return new MsgReportGalactic(l, b);
}
private:
double m_l;
double m_b;
MsgReportGalactic(double l, double b) :
Message(),
m_l(l),
m_b(b)
{
}
};
public:
StarTrackerReport() {}
~StarTrackerReport() {}
};
#endif // INCLUDE_FEATURE_STARTRACKERREPORT_H_