SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
datvdemodsettings.h
Go to the documentation of this file.
1 // Copyright (C) 2019 F4EXB //
3 // //
4 // This program is free software; you can redistribute it and/or modify //
5 // it under the terms of the GNU General Public License as published by //
6 // the Free Software Foundation as version 3 of the License, or //
7 // (at your option) any later version. //
8 // //
9 // This program is distributed in the hope that it will be useful, //
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
12 // GNU General Public License V3 for more details. //
13 // //
14 // You should have received a copy of the GNU General Public License //
15 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
17 
18 #ifndef PLUGINS_CHANNELRX_DEMODATV_DATVDEMODSETTINGS_H_
19 #define PLUGINS_CHANNELRX_DEMODATV_DATVDEMODSETTINGS_H_
20 
21 #include <QByteArray>
22 #include <QString>
23 #include <stdint.h>
24 #include <vector>
25 
26 class Serializable;
27 
29 {
31  {
34  };
35 
37  {
38  BPSK, // not DVB-S2
41  APSK16, // not DVB-S
42  APSK32, // not DVB-S
43  APSK64E, // not DVB-S
44  QAM16, // not DVB-S2
45  QAM64, // not DVB-S2
46  QAM256, // not DVB-S2
48  };
49 
51  {
52  FEC12, // DVB-S
53  FEC23, // DVB-S
55  FEC34, // DVB-S
56  FEC56, // DVB-S
57  FEC78, // DVB-S
66  };
67 
69  {
73  };
74 
75  quint32 m_rgbColor;
76  QString m_title;
88  bool m_fastLock;
91  float m_rollOff;
92  bool m_viterbi;
96  QString m_udpTSAddress;
97  quint32 m_udpTSPort;
98  bool m_udpTS;
99 
101  void resetToDefaults();
102  void setChannelMarker(Serializable *channelMarker) { m_channelMarker = channelMarker; }
103  QByteArray serialize() const;
104  bool deserialize(const QByteArray& data);
105  void debug(const QString& msg) const;
106  bool isDifferent(const DATVDemodSettings& other); // true if a change of settings should trigger DVB framework config update
108 
109  static DATVModulation getModulationFromStr(const QString& str);
110  static DATVCodeRate getCodeRateFromStr(const QString& str);
111  static QString getStrFromModulation(const DATVModulation modulation);
112  static QString getStrFromCodeRate(const DATVCodeRate codeRate);
113  static void getAvailableModulations(dvb_version dvbStandard, std::vector<DATVModulation>& modulations);
114  static void getAvailableCodeRates(dvb_version dvbStandard, DATVModulation modulation, std::vector<DATVCodeRate>& codeRates);
115 };
116 
117 #endif // PLUGINS_CHANNELRX_DEMODATV_DATVDEMODSETTINGS_H_
static QString getStrFromCodeRate(const DATVCodeRate codeRate)
bool isDifferent(const DATVDemodSettings &other)
void setChannelMarker(Serializable *channelMarker)
static DATVModulation getModulationFromStr(const QString &str)
static void getAvailableModulations(dvb_version dvbStandard, std::vector< DATVModulation > &modulations)
DATVModulation m_modulation
QByteArray serialize() const
void debug(const QString &msg) const
Serializable * m_channelMarker
static DATVCodeRate getCodeRateFromStr(const QString &str)
bool deserialize(const QByteArray &data)
static void getAvailableCodeRates(dvb_version dvbStandard, DATVModulation modulation, std::vector< DATVCodeRate > &codeRates)
dvb_version m_standard
static QString getStrFromModulation(const DATVModulation modulation)