2da37d350e7db7ca8d475c8617ad5bbe3b2103ac
[debian/gnuradio] / gr-qtgui / src / lib / spectrumUpdateEvents.cc
1 #ifndef SPECTRUM_UPDATE_EVENTS_C
2 #define SPECTRUM_UPDATE_EVENTS_C
3
4 #include <spectrumUpdateEvents.h>
5
6 SpectrumUpdateEvent::SpectrumUpdateEvent(const std::complex<float>* fftPoints,
7                                          const uint64_t numFFTDataPoints,
8                                          const double* realTimeDomainPoints,
9                                          const double* imagTimeDomainPoints,
10                                          const uint64_t numTimeDomainDataPoints,
11                                          const double timePerFFT,
12                                          const timespec dataTimestamp,
13                                          const bool repeatDataFlag,
14                                          const bool lastOfMultipleUpdateFlag,
15                                          const timespec generatedTimestamp,
16                                          const int droppedFFTFrames)
17   : QEvent(QEvent::Type(10005))
18 {
19   _numFFTDataPoints = numFFTDataPoints;
20   if(_numFFTDataPoints < 1){
21     _numFFTDataPoints = 1;
22   }
23
24   _numTimeDomainDataPoints = numTimeDomainDataPoints;
25   if(_numTimeDomainDataPoints < 1){
26     _numTimeDomainDataPoints = 1;
27   }
28
29   _fftPoints = new std::complex<float>[_numFFTDataPoints];
30   _fftPoints[0] = std::complex<float>(0,0);
31   memcpy(_fftPoints, fftPoints, numFFTDataPoints*sizeof(std::complex<float>));
32
33   _realDataTimeDomainPoints = new double[_numTimeDomainDataPoints];
34   memset(_realDataTimeDomainPoints, 0x0, _numTimeDomainDataPoints*sizeof(double));
35   if(numTimeDomainDataPoints > 0){
36     memcpy(_realDataTimeDomainPoints, realTimeDomainPoints,
37            numTimeDomainDataPoints*sizeof(double));
38   }
39
40   _imagDataTimeDomainPoints = new double[_numTimeDomainDataPoints];
41   memset(_imagDataTimeDomainPoints, 0x0, _numTimeDomainDataPoints*sizeof(double));
42   if(numTimeDomainDataPoints > 0){
43     memcpy(_imagDataTimeDomainPoints, imagTimeDomainPoints,
44            numTimeDomainDataPoints*sizeof(double));
45   }
46   _dataTimestamp = dataTimestamp;
47   _timePerFFT = timePerFFT;
48   _repeatDataFlag = repeatDataFlag;
49   _lastOfMultipleUpdateFlag = lastOfMultipleUpdateFlag;
50   _eventGeneratedTimestamp = generatedTimestamp;
51   _droppedFFTFrames = droppedFFTFrames;
52 }
53
54 SpectrumUpdateEvent::~SpectrumUpdateEvent(){
55   delete[] _fftPoints;
56   delete[] _realDataTimeDomainPoints;
57   delete[] _imagDataTimeDomainPoints;
58 }
59
60 const std::complex<float>*
61 SpectrumUpdateEvent::getFFTPoints() const
62 {
63   return _fftPoints;
64 }
65
66 const double*
67 SpectrumUpdateEvent::getRealTimeDomainPoints() const
68 {
69   return _realDataTimeDomainPoints;
70 }
71
72 const double*
73 SpectrumUpdateEvent::getImagTimeDomainPoints() const
74 {
75   return _imagDataTimeDomainPoints;
76 }
77
78 uint64_t
79 SpectrumUpdateEvent::getNumFFTDataPoints() const
80 {
81   return _numFFTDataPoints;
82 }
83
84 uint64_t
85 SpectrumUpdateEvent::getNumTimeDomainDataPoints() const
86 {
87   return _numTimeDomainDataPoints;
88 }
89
90 double
91 SpectrumUpdateEvent::getTimePerFFT() const
92 {
93   return _timePerFFT;
94 }
95
96 timespec
97 SpectrumUpdateEvent::getDataTimestamp() const
98 {
99   return _dataTimestamp;
100 }
101
102 bool
103 SpectrumUpdateEvent::getRepeatDataFlag() const
104 {
105   return _repeatDataFlag;
106 }
107
108 bool
109 SpectrumUpdateEvent::getLastOfMultipleUpdateFlag() const
110 {
111   return _lastOfMultipleUpdateFlag;
112 }
113
114 timespec
115 SpectrumUpdateEvent::getEventGeneratedTimestamp() const
116 {
117   return _eventGeneratedTimestamp;
118 }
119
120 int
121 SpectrumUpdateEvent::getDroppedFFTFrames() const
122 {
123   return _droppedFFTFrames;
124 }
125
126 SpectrumWindowCaptionEvent::SpectrumWindowCaptionEvent(const QString& newLbl)
127   : QEvent(QEvent::Type(10008))
128 {
129   _labelString = newLbl;
130 }
131
132 SpectrumWindowCaptionEvent::~SpectrumWindowCaptionEvent()
133 {
134 }
135
136 QString
137 SpectrumWindowCaptionEvent::getLabel()
138 {
139   return _labelString;
140 }
141
142 SpectrumWindowResetEvent::SpectrumWindowResetEvent()
143   : QEvent(QEvent::Type(10009))
144 {
145 }
146
147 SpectrumWindowResetEvent::~SpectrumWindowResetEvent()
148 {
149 }
150
151 SpectrumFrequencyRangeEvent::SpectrumFrequencyRangeEvent(const double centerFreq, 
152                                                          const double startFreq,
153                                                          const double stopFreq)
154   : QEvent(QEvent::Type(10010))
155 {
156   _centerFrequency = centerFreq;
157   _startFrequency = startFreq;
158   _stopFrequency = stopFreq;
159 }
160
161 SpectrumFrequencyRangeEvent::~SpectrumFrequencyRangeEvent()
162 {
163 }
164
165 double
166 SpectrumFrequencyRangeEvent::GetCenterFrequency() const
167 {
168   return _centerFrequency;
169 }
170
171 double
172 SpectrumFrequencyRangeEvent::GetStartFrequency() const
173 {
174   return _startFrequency;
175 }
176
177 double
178 SpectrumFrequencyRangeEvent::GetStopFrequency() const
179 {
180   return _stopFrequency;
181 }
182
183 #endif /* SPECTRUM_UPDATE_EVENTS_C */