~ubuntu-branches/ubuntu/trusty/gnuradio/trusty-updates

« back to all changes in this revision

Viewing changes to gr-qtgui/src/lib/SpectrumGUIClass.h

  • Committer: Package Import Robot
  • Author(s): A. Maitland Bottoms
  • Date: 2012-02-26 21:26:16 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20120226212616-vsfkbi1158xshdql
Tags: 3.5.1-1
* new upstream version, re-packaged from scratch with modern tools
    closes: #642716, #645332, #394849, #616832, #590048, #642580,
    #647018, #557050, #559640, #631863
* CMake build

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef SPECTRUM_GUI_CLASS_HPP
2
 
#define SPECTRUM_GUI_CLASS_HPP
3
 
 
4
 
//#include <mutexClass.hpp>
5
 
#include <qwidget.h>
6
 
#include <qapplication.h>
7
 
#include <qlabel.h>
8
 
#include <qslider.h>
9
 
#include <spectrumUpdateEvents.h>
10
 
 
11
 
//#include <Windowing.hpp>
12
 
 
13
 
class SpectrumDisplayForm;
14
 
#include <spectrumdisplayform.h>
15
 
 
16
 
#include <cmath>
17
 
 
18
 
#include <complex>
19
 
#include <vector>
20
 
#include <string>
21
 
 
22
 
class SpectrumGUIClass
23
 
{
24
 
public:
25
 
  SpectrumGUIClass(const uint64_t maxDataSize, const uint64_t fftSize,
26
 
                   const double newCenterFrequency,
27
 
                   const double newStartFrequency, 
28
 
                   const double newStopFrequency);
29
 
  ~SpectrumGUIClass();
30
 
  void Reset();
31
 
 
32
 
  void OpenSpectrumWindow(QWidget*,
33
 
                          const bool frequency=true, const bool waterfall=true,
34
 
                          const bool waterfall3d=true, const bool time=true,
35
 
                          const bool constellation=true,
36
 
                          const bool use_openGL=true);
37
 
  void SetDisplayTitle(const std::string);
38
 
 
39
 
  bool GetWindowOpenFlag();
40
 
  void SetWindowOpenFlag(const bool);
41
 
 
42
 
  void SetFrequencyRange(const double, const double, const double);
43
 
  double GetStartFrequency()const;
44
 
  double GetStopFrequency()const;
45
 
  double GetCenterFrequency()const;
46
 
 
47
 
  void UpdateWindow(const bool, const std::complex<float>*,
48
 
                    const uint64_t, const float*,
49
 
                    const uint64_t, const float*,
50
 
                    const uint64_t, const double,
51
 
                    const timespec, const bool);
52
 
 
53
 
  float GetPowerValue()const;
54
 
  void SetPowerValue(const float);
55
 
 
56
 
  int GetWindowType()const;
57
 
  void SetWindowType(const int);
58
 
 
59
 
  int GetFFTSize()const;
60
 
  int GetFFTSizeIndex()const;
61
 
  void SetFFTSize(const int);
62
 
 
63
 
  timespec GetLastGUIUpdateTime()const;
64
 
  void SetLastGUIUpdateTime(const timespec);
65
 
 
66
 
  unsigned int GetPendingGUIUpdateEvents()const;
67
 
  void IncrementPendingGUIUpdateEvents();
68
 
  void DecrementPendingGUIUpdateEvents();
69
 
  void ResetPendingGUIUpdateEvents();
70
 
 
71
 
  static const long MAX_FFT_SIZE = /*1048576*/32768;
72
 
  static const long MIN_FFT_SIZE = 1024;
73
 
 
74
 
  QWidget* qwidget();
75
 
 
76
 
  void SetTimeDomainAxis(double min, double max);
77
 
  void SetConstellationAxis(double xmin, double xmax,
78
 
                            double ymin, double ymax);
79
 
  void SetFrequencyAxis(double min, double max);
80
 
 
81
 
protected:
82
 
 
83
 
private:
84
 
 
85
 
  //MutexClass* _windowStateLock;
86
 
  int64_t _dataPoints;
87
 
  std::string _title;
88
 
  double _centerFrequency;
89
 
  double _startFrequency;
90
 
  double _stopFrequency;
91
 
  float _powerValue;
92
 
  bool _windowOpennedFlag;
93
 
  int _windowType;
94
 
  int64_t _lastDataPointCount;
95
 
  int _fftSize;
96
 
  timespec _lastGUIUpdateTime;
97
 
  unsigned int _pendingGUIUpdateEventsCount;
98
 
  int _droppedEntriesCount;
99
 
  bool _fftBuffersCreatedFlag;
100
 
 
101
 
  SpectrumDisplayForm* _spectrumDisplayForm;
102
 
 
103
 
  std::complex<float>* _fftPoints;
104
 
  double* _realTimeDomainPoints;
105
 
  double* _imagTimeDomainPoints;
106
 
};
107
 
 
108
 
#endif /* SPECTRUM_GUI_CLASS_HPP */