1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
#ifndef SPECTRUM_DISPLAY_FORM_H
#define SPECTRUM_DISPLAY_FORM_H
#include "spectrumdisplayform.ui.h"
class SpectrumGUIClass;
#include <SpectrumGUIClass.h>
#include <SpectrumGUIClass.h>
#include <FrequencyDisplayPlot.h>
#include <WaterfallDisplayPlot.h>
#include <TimeDomainDisplayPlot.h>
#include <ConstellationDisplayPlot.h>
#include <QValidator>
#include <QTimer>
#include <vector>
class SpectrumDisplayForm : public QWidget, public Ui::SpectrumDisplayForm
{
Q_OBJECT
public:
SpectrumDisplayForm(QWidget* parent = 0);
~SpectrumDisplayForm();
void setSystem( SpectrumGUIClass * newSystem, const uint64_t numFFTDataPoints,
const uint64_t numTimeDomainDataPoints );
int GetAverageCount();
void SetAverageCount( const int newCount );
void Reset();
void AverageDataReset();
void ResizeBuffers( const uint64_t numFFTDataPoints,
const uint64_t numTimeDomainDataPoints );
public slots:
void resizeEvent( QResizeEvent * e );
void customEvent( QEvent * e );
void AvgLineEdit_valueChanged( int valueString );
void MaxHoldCheckBox_toggled( bool newState );
void MinHoldCheckBox_toggled( bool newState );
void MinHoldResetBtn_clicked();
void MaxHoldResetBtn_clicked();
void TabChanged(int index);
void SetFrequencyRange( const double newCenterFrequency,
const double newStartFrequency,
const double newStopFrequency );
void closeEvent( QCloseEvent * e );
void WindowTypeChanged( int newItem );
void UseRFFrequenciesCB( bool useRFFlag );
void waterfallMaximumIntensityChangedCB(double);
void waterfallMinimumIntensityChangedCB(double);
void WaterfallIntensityColorTypeChanged(int);
void WaterfallAutoScaleBtnCB();
void FFTComboBoxSelectedCB(const QString&);
void ToggleTabFrequency(const bool state);
void ToggleTabWaterfall(const bool state);
void ToggleTabTime(const bool state);
void ToggleTabConstellation(const bool state);
void SetTimeDomainAxis(double min, double max);
void SetConstellationAxis(double xmin, double xmax,
double ymin, double ymax);
void SetConstellationPenSize(int size);
void SetFrequencyAxis(double min, double max);
void SetUpdateTime(double t);
private slots:
void newFrequencyData( const SpectrumUpdateEvent* );
void UpdateGuiTimer();
void onFFTPlotPointSelected(const QPointF p);
void onWFallPlotPointSelected(const QPointF p);
void onTimePlotPointSelected(const QPointF p);
void onConstPlotPointSelected(const QPointF p);
signals:
void plotPointSelected(const QPointF p, int type);
private:
void _AverageHistory( const double * newBuffer );
int _historyEntryCount;
int _historyEntry;
std::vector<double*>* _historyVector;
double* _averagedValues;
uint64_t _numRealDataPoints;
double* _realFFTDataPoints;
QIntValidator* _intValidator;
FrequencyDisplayPlot* _frequencyDisplayPlot;
WaterfallDisplayPlot* _waterfallDisplayPlot;
TimeDomainDisplayPlot* _timeDomainDisplayPlot;
ConstellationDisplayPlot* _constellationDisplayPlot;
SpectrumGUIClass* _system;
bool _systemSpecifiedFlag;
double _centerFrequency;
double _startFrequency;
double _noiseFloorAmplitude;
double _peakFrequency;
double _peakAmplitude;
double _stopFrequency;
//SpectrumUpdateEvent _lastSpectrumEvent;
// whether or not to use a particular display
int d_plot_fft;
int d_plot_waterfall;
int d_plot_time;
int d_plot_constellation;
QTimer *displayTimer;
double d_update_time;
};
#endif /* SPECTRUM_DISPLAY_FORM_H */
|