summaryrefslogtreecommitdiff
path: root/gr-qtgui/lib/SpectrumGUIClass.h
diff options
context:
space:
mode:
authorTom Rondeau2011-03-27 12:55:16 -0400
committerTom Rondeau2011-03-27 12:55:16 -0400
commitbefadabc2f18b483c71250adfd7dbf42f66b16f0 (patch)
treef3d1af1fff8ffe70db416631c2b68068cdc30856 /gr-qtgui/lib/SpectrumGUIClass.h
parentdd97932abfd35e60e9374f202aa6c69afcfb35ca (diff)
downloadgnuradio-befadabc2f18b483c71250adfd7dbf42f66b16f0.tar.gz
gnuradio-befadabc2f18b483c71250adfd7dbf42f66b16f0.tar.bz2
gnuradio-befadabc2f18b483c71250adfd7dbf42f66b16f0.zip
gr-qtgui: restructuring qtgui directory to new layout.
Diffstat (limited to 'gr-qtgui/lib/SpectrumGUIClass.h')
-rw-r--r--gr-qtgui/lib/SpectrumGUIClass.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/gr-qtgui/lib/SpectrumGUIClass.h b/gr-qtgui/lib/SpectrumGUIClass.h
new file mode 100644
index 000000000..57a749a6a
--- /dev/null
+++ b/gr-qtgui/lib/SpectrumGUIClass.h
@@ -0,0 +1,111 @@
+#ifndef SPECTRUM_GUI_CLASS_HPP
+#define SPECTRUM_GUI_CLASS_HPP
+
+//#include <mutexClass.hpp>
+#include <qwidget.h>
+#include <qapplication.h>
+#include <qlabel.h>
+#include <qslider.h>
+#include <spectrumUpdateEvents.h>
+
+//#include <Windowing.hpp>
+
+class SpectrumDisplayForm;
+#include <spectrumdisplayform.h>
+
+#include <cmath>
+
+#include <complex>
+#include <vector>
+#include <string>
+
+class SpectrumGUIClass
+{
+public:
+ SpectrumGUIClass(const uint64_t maxDataSize, const uint64_t fftSize,
+ const double newCenterFrequency,
+ const double newStartFrequency,
+ const double newStopFrequency);
+ ~SpectrumGUIClass();
+ void Reset();
+
+ void OpenSpectrumWindow(QWidget*,
+ const bool frequency=true, const bool waterfall=true,
+ const bool time=true, const bool constellation=true,
+ const bool use_openGL=true);
+ void SetDisplayTitle(const std::string);
+
+ bool GetWindowOpenFlag();
+ void SetWindowOpenFlag(const bool);
+
+ void SetFrequencyRange(const double, const double, const double);
+ double GetStartFrequency()const;
+ double GetStopFrequency()const;
+ double GetCenterFrequency()const;
+
+ void UpdateWindow(const bool, const std::complex<float>*,
+ const uint64_t, const float*,
+ const uint64_t, const float*,
+ const uint64_t,
+ const timespec, const bool);
+
+ float GetPowerValue()const;
+ void SetPowerValue(const float);
+
+ int GetWindowType()const;
+ void SetWindowType(const int);
+
+ int GetFFTSize()const;
+ int GetFFTSizeIndex()const;
+ void SetFFTSize(const int);
+
+ timespec GetLastGUIUpdateTime()const;
+ void SetLastGUIUpdateTime(const timespec);
+
+ unsigned int GetPendingGUIUpdateEvents()const;
+ void IncrementPendingGUIUpdateEvents();
+ void DecrementPendingGUIUpdateEvents();
+ void ResetPendingGUIUpdateEvents();
+
+ static const long MAX_FFT_SIZE;
+ static const long MIN_FFT_SIZE;
+
+ QWidget* qwidget();
+
+ 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);
+
+protected:
+
+private:
+
+ //MutexClass* _windowStateLock;
+ int64_t _dataPoints;
+ std::string _title;
+ double _centerFrequency;
+ double _startFrequency;
+ double _stopFrequency;
+ float _powerValue;
+ bool _windowOpennedFlag;
+ int _windowType;
+ int64_t _lastDataPointCount;
+ int _fftSize;
+ timespec _lastGUIUpdateTime;
+ unsigned int _pendingGUIUpdateEventsCount;
+ int _droppedEntriesCount;
+ bool _fftBuffersCreatedFlag;
+ double _updateTime;
+
+ SpectrumDisplayForm* _spectrumDisplayForm;
+
+ std::complex<float>* _fftPoints;
+ double* _realTimeDomainPoints;
+ double* _imagTimeDomainPoints;
+};
+
+#endif /* SPECTRUM_GUI_CLASS_HPP */