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.
dsddemodgui.h
Go to the documentation of this file.
1 // Copyright (C) 2016 F4EXB //
3 // written by Edouard Griffiths //
4 // //
5 // This program is free software; you can redistribute it and/or modify //
6 // it under the terms of the GNU General Public License as published by //
7 // the Free Software Foundation as version 3 of the License, or //
8 // (at your option) any later version. //
9 // //
10 // This program is distributed in the hope that it will be useful, //
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
13 // GNU General Public License V3 for more details. //
14 // //
15 // You should have received a copy of the GNU General Public License //
16 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
18 
19 #ifndef INCLUDE_DSDDEMODGUI_H
20 #define INCLUDE_DSDDEMODGUI_H
21 
23 #include <QMenu>
24 
25 #include "gui/rollupwidget.h"
26 #include "dsp/dsptypes.h"
27 #include "dsp/channelmarker.h"
28 #include "dsp/movingaverage.h"
29 #include "util/messagequeue.h"
30 
31 #include "dsddemodsettings.h"
32 #include "dsdstatustextdialog.h"
33 
34 class PluginAPI;
35 class DeviceUISet;
36 class BasebandSampleSink;
37 class ScopeVis;
38 class ScopeVisXY;
39 class DSDDemod;
40 
41 namespace Ui {
42  class DSDDemodGUI;
43 }
44 
45 class DSDDemodGUI : public RollupWidget, public PluginInstanceGUI {
46  Q_OBJECT
47 
48 public:
49  static DSDDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
50  virtual void destroy();
51 
52  void setName(const QString& name);
53  QString getName() const;
54  virtual qint64 getCenterFrequency() const;
55  virtual void setCenterFrequency(qint64 centerFrequency);
56 
57  void resetToDefaults();
58  QByteArray serialize() const;
59  bool deserialize(const QByteArray& data);
60  virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
61  virtual bool handleMessage(const Message& message);
62 
63 public slots:
64  void channelMarkerChangedByCursor();
65  void channelMarkerHighlightedByCursor();
66 
67 private:
68 // typedef enum
69 // {
70 // signalFormatNone,
71 // signalFormatDMR,
72 // signalFormatDStar,
73 // signalFormatDPMR,
74 // signalFormatYSF
75 // } SignalFormat;
76 
77  Ui::DSDDemodGUI* ui;
83 
85 
89  bool m_slot1On;
90  bool m_slot2On;
95 
96  float m_myLatitude;
98 
100 
102 
103  explicit DSDDemodGUI(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel, QWidget* parent = 0);
104  virtual ~DSDDemodGUI();
105 
106  void blockApplySettings(bool block);
107  void applySettings(bool force = false);
108  void displaySettings();
109  void updateMyPosition();
110 
111  void leaveEvent(QEvent*);
112  void enterEvent(QEvent*);
113 
114 private slots:
115  void on_deltaFrequency_changed(qint64 value);
116  void on_rfBW_valueChanged(int index);
117  void on_demodGain_valueChanged(int value);
118  void on_volume_valueChanged(int value);
119  void on_baudRate_currentIndexChanged(int index);
120  void on_enableCosineFiltering_toggled(bool enable);
121  void on_syncOrConstellation_toggled(bool checked);
122  void on_traceLength_valueChanged(int value);
123  void on_traceStroke_valueChanged(int value);
124  void on_traceDecay_valueChanged(int value);
125  void on_slot1On_toggled(bool checked);
126  void on_slot2On_toggled(bool checked);
127  void on_tdmaStereoSplit_toggled(bool checked);
128  void on_fmDeviation_valueChanged(int value);
129  void on_squelchGate_valueChanged(int value);
130  void on_squelch_valueChanged(int value);
131  void on_highPassFilter_toggled(bool checked);
132  void on_audioMute_toggled(bool checked);
133  void on_symbolPLLLock_toggled(bool checked);
134  void onWidgetRolled(QWidget* widget, bool rollDown);
135  void onMenuDialogCalled(const QPoint& p);
136  void on_viewStatusLog_clicked();
137  void handleInputMessages();
138  void audioSelect();
139  void tick();
140 };
141 
142 #endif // INCLUDE_DSDDEMODGUI_H
float m_myLatitude
Definition: dsddemodgui.h:96
bool m_audioMute
Definition: dsddemodgui.h:92
bool m_enableCosineFiltering
Definition: dsddemodgui.h:87
bool m_syncOrConstellation
Definition: dsddemodgui.h:88
float m_myLongitude
Definition: dsddemodgui.h:97
Ui::DSDDemodGUI * ui
Definition: dsddemodgui.h:77
DSDDemodSettings m_settings
Definition: dsddemodgui.h:81
unsigned int uint32_t
Definition: rtptypes_win.h:46
bool m_squelchOpen
Definition: dsddemodgui.h:93
void * create(QString type)
MessageQueue m_inputMessageQueue
Definition: dsddemodgui.h:99
DeviceUISet * m_deviceUISet
Definition: dsddemodgui.h:79
ChannelMarker m_channelMarker
Definition: dsddemodgui.h:80
bool m_tdmaStereo
Definition: dsddemodgui.h:91
DSDDemod * m_dsdDemod
Definition: dsddemodgui.h:86
bool m_doApplySettings
Definition: dsddemodgui.h:82
virtual MessageQueue * getInputMessageQueue()
Definition: dsddemodgui.h:60
PluginAPI * m_pluginAPI
Definition: dsddemodgui.h:78
bool m_slot2On
Definition: dsddemodgui.h:90
uint32_t m_tickCount
Definition: dsddemodgui.h:94
DSDStatusTextDialog m_dsdStatusTextDialog
Definition: dsddemodgui.h:101
bool m_slot1On
Definition: dsddemodgui.h:89
ScopeVisXY * m_scopeVisXY
Definition: dsddemodgui.h:84