summaryrefslogtreecommitdiff
path: root/gr-qtgui/lib/SpectrumGUIClass.h
diff options
context:
space:
mode:
authorNick Foster2011-04-13 17:18:14 -0700
committerNick Foster2011-04-13 17:18:14 -0700
commit9b7d444aaebbe0708e9703bce30c63b63bc81825 (patch)
tree29121aa250decfb1ed9ca7876e1857eec8779d83 /gr-qtgui/lib/SpectrumGUIClass.h
parent258186d5ca2e811ced7ea637fd16e3ed3bb5573e (diff)
parente8ff9ef4bb77517428e1208ff4b3551a38107bbd (diff)
downloadgnuradio-9b7d444aaebbe0708e9703bce30c63b63bc81825.tar.gz
gnuradio-9b7d444aaebbe0708e9703bce30c63b63bc81825.tar.bz2
gnuradio-9b7d444aaebbe0708e9703bce30c63b63bc81825.zip
Merge branch 'master' of http://gnuradio.org/git/gnuradio into cpuid
Conflicts: volk/Makefile.common volk/lib/qa_utils.cc
Diffstat (limited to 'gr-qtgui/lib/SpectrumGUIClass.h')
-rw-r--r--gr-qtgui/lib/SpectrumGUIClass.h108
1 files changed, 108 insertions, 0 deletions
diff --git a/gr-qtgui/lib/SpectrumGUIClass.h b/gr-qtgui/lib/SpectrumGUIClass.h
new file mode 100644
index 000000000..48f45a0f5
--- /dev/null
+++ b/gr-qtgui/lib/SpectrumGUIClass.h
@@ -0,0 +1,108 @@
+#ifndef SPECTRUM_GUI_CLASS_HPP
+#define SPECTRUM_GUI_CLASS_HPP
+
+#include <gruel/thread.h>
+#include <qwidget.h>
+#include <qapplication.h>
+#include <qlabel.h>
+#include <qslider.h>
+#include <spectrumUpdateEvents.h>
+
+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);
+ void SetDisplayTitle(const std::string);
+
+ bool GetWindowOpenFlag();
+ void SetWindowOpenFlag(const bool);
+
+ void SetFrequencyRange(const double, const double, const double);
+ double GetStartFrequency();
+ double GetStopFrequency();
+ double GetCenterFrequency();
+
+ 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();
+ void SetPowerValue(const float);
+
+ int GetWindowType();
+ void SetWindowType(const int);
+
+ int GetFFTSize();
+ int GetFFTSizeIndex();
+ void SetFFTSize(const int);
+
+ timespec GetLastGUIUpdateTime();
+ void SetLastGUIUpdateTime(const timespec);
+
+ unsigned int GetPendingGUIUpdateEvents();
+ 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:
+
+ gruel::mutex d_mutex;
+ 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 */