1 #ifndef SPECTRUM_GUI_CLASS_HPP
2 #define SPECTRUM_GUI_CLASS_HPP
4 //#include <mutexClass.hpp>
6 #include <qapplication.h>
9 #include <spectrumUpdateEvents.h>
11 //#include <Windowing.hpp>
13 class SpectrumDisplayForm;
14 #include <spectrumdisplayform.h>
22 class SpectrumGUIClass
25 SpectrumGUIClass(const uint64_t maxDataSize, const uint64_t fftSize,
26 const double newStartFrequency, const double newStopFrequency);
30 void OpenSpectrumWindow(QWidget*,
31 const bool frequency=true, const bool waterfall=true,
32 const bool waterfall3d=true, const bool time=true,
33 const bool constellation=true,
34 const bool use_openGL=true);
35 void SetDisplayTitle(const std::string);
37 bool GetWindowOpenFlag();
38 void SetWindowOpenFlag(const bool);
40 void SetFrequencyRange(const double, const double, const double);
41 double GetStartFrequency()const;
42 double GetStopFrequency()const;
43 double GetCenterFrequency()const;
45 void UpdateWindow(const bool, const std::complex<float>*,
46 const uint64_t, const float*,
47 const uint64_t, const float*,
48 const uint64_t, const double,
49 const timespec, const bool);
51 float GetPowerValue()const;
52 void SetPowerValue(const float);
54 int GetWindowType()const;
55 void SetWindowType(const int);
57 int GetFFTSize()const;
58 int GetFFTSizeIndex()const;
59 void SetFFTSize(const int);
61 timespec GetLastGUIUpdateTime()const;
62 void SetLastGUIUpdateTime(const timespec);
64 unsigned int GetPendingGUIUpdateEvents()const;
65 void IncrementPendingGUIUpdateEvents();
66 void DecrementPendingGUIUpdateEvents();
67 void ResetPendingGUIUpdateEvents();
69 static const long MAX_FFT_SIZE = /*1048576*/32768;
70 static const long MIN_FFT_SIZE = 1024;
74 void SetTimeDomainAxis(double min, double max);
75 void SetConstellationAxis(double xmin, double xmax,
76 double ymin, double ymax);
77 void SetFrequencyAxis(double min, double max);
83 //MutexClass* _windowStateLock;
86 double _centerFrequency;
87 double _startFrequency;
88 double _stopFrequency;
90 bool _windowOpennedFlag;
92 int64_t _lastDataPointCount;
94 timespec _lastGUIUpdateTime;
95 unsigned int _pendingGUIUpdateEventsCount;
96 int _droppedEntriesCount;
97 bool _fftBuffersCreatedFlag;
99 SpectrumDisplayForm* _spectrumDisplayForm;
101 std::complex<float>* _fftPoints;
102 double* _realTimeDomainPoints;
103 double* _imagTimeDomainPoints;
106 #endif /* SPECTRUM_GUI_CLASS_HPP */