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.
ssbdemodgui.h
Go to the documentation of this file.
1 #ifndef INCLUDE_SSBDEMODGUI_H
2 #define INCLUDE_SSBDEMODGUI_H
3 
4 #include <QIcon>
5 
7 #include "gui/rollupwidget.h"
8 #include "dsp/channelmarker.h"
9 #include "dsp/movingaverage.h"
10 #include "util/messagequeue.h"
11 #include "ssbdemodsettings.h"
12 
13 class PluginAPI;
14 class DeviceUISet;
15 
16 class AudioFifo;
17 class SSBDemod;
18 class SpectrumVis;
19 class BasebandSampleSink;
20 
21 namespace Ui {
22  class SSBDemodGUI;
23 }
24 
25 class SSBDemodGUI : public RollupWidget, public PluginInstanceGUI {
26  Q_OBJECT
27 
28 public:
29  static SSBDemodGUI* create(PluginAPI* pluginAPI, DeviceUISet *deviceUISet, BasebandSampleSink *rxChannel);
30  virtual void destroy();
31 
32  void setName(const QString& name);
33  QString getName() const;
34  virtual qint64 getCenterFrequency() const;
35  virtual void setCenterFrequency(qint64 centerFrequency);
36 
37  void resetToDefaults();
38  QByteArray serialize() const;
39  bool deserialize(const QByteArray& data);
40  virtual MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; }
41  virtual bool handleMessage(const Message& message);
42 
43 public slots:
44  void channelMarkerChangedByCursor();
45  void channelMarkerHighlightedByCursor();
46 
47 private:
48  Ui::SSBDemodGUI* ui;
60 
64 
65  QIcon m_iconDSBUSB;
66  QIcon m_iconDSBLSB;
67 
68  explicit SSBDemodGUI(PluginAPI* pluginAPI, DeviceUISet* deviceUISet, BasebandSampleSink *rxChannel, QWidget* parent = 0);
69  virtual ~SSBDemodGUI();
70 
71  bool blockApplySettings(bool block);
72  void applySettings(bool force = false);
73  void applyBandwidths(int spanLog2, bool force = false);
74  int spanLog2Limit(int spanLog2);
75  void displaySettings();
76  void displayAGCPowerThreshold(int value);
77  void displayAGCThresholdGate(int value);
78 
79  void leaveEvent(QEvent*);
80  void enterEvent(QEvent*);
81 
82 private slots:
83  void on_deltaFrequency_changed(qint64 value);
84  void on_audioBinaural_toggled(bool binaural);
85  void on_audioFlipChannels_toggled(bool flip);
86  void on_dsb_toggled(bool dsb);
87  void on_BW_valueChanged(int value);
88  void on_lowCut_valueChanged(int value);
89  void on_volume_valueChanged(int value);
90  void on_agc_toggled(bool checked);
91  void on_agcClamping_toggled(bool checked);
92  void on_agcTimeLog2_valueChanged(int value);
93  void on_agcPowerThreshold_valueChanged(int value);
94  void on_agcThresholdGate_valueChanged(int value);
95  void on_audioMute_toggled(bool checked);
96  void on_spanLog2_valueChanged(int value);
97  void on_flipSidebands_clicked(bool checked);
98  void onWidgetRolled(QWidget* widget, bool rollDown);
99  void onMenuDialogCalled(const QPoint& p);
100  void handleInputMessages();
101  void audioSelect();
102  void tick();
103 };
104 
105 #endif // INCLUDE_SSBDEMODGUI_H
PluginAPI * m_pluginAPI
Definition: ssbdemodgui.h:49
bool m_squelchOpen
Definition: ssbdemodgui.h:58
SpectrumVis * m_spectrumVis
Definition: ssbdemodgui.h:62
int m_spectrumRate
Definition: ssbdemodgui.h:54
bool m_doApplySettings
Definition: ssbdemodgui.h:53
ChannelMarker m_channelMarker
Definition: ssbdemodgui.h:51
unsigned int uint32_t
Definition: rtptypes_win.h:46
SSBDemodSettings m_settings
Definition: ssbdemodgui.h:52
void * create(QString type)
uint32_t m_tickCount
Definition: ssbdemodgui.h:59
QIcon m_iconDSBLSB
Definition: ssbdemodgui.h:66
bool m_audioMute
Definition: ssbdemodgui.h:57
Ui::SSBDemodGUI * ui
Definition: ssbdemodgui.h:48
QIcon m_iconDSBUSB
Definition: ssbdemodgui.h:65
SSBDemod * m_ssbDemod
Definition: ssbdemodgui.h:61
bool m_audioFlipChannels
Definition: ssbdemodgui.h:56
bool m_audioBinaural
Definition: ssbdemodgui.h:55
DeviceUISet * m_deviceUISet
Definition: ssbdemodgui.h:50
virtual MessageQueue * getInputMessageQueue()
Definition: ssbdemodgui.h:40
MessageQueue m_inputMessageQueue
Definition: ssbdemodgui.h:63