GNU Radio 3.3.0 C++ API
spectrumUpdateEvents.h
Go to the documentation of this file.
00001 #ifndef SPECTRUM_UPDATE_EVENTS_H
00002 #define SPECTRUM_UPDATE_EVENTS_H
00003 
00004 #include <stdint.h>
00005 #include <QEvent>
00006 #include <QString>
00007 #include <complex>
00008 #include <highResTimeFunctions.h>
00009 
00010 class SpectrumUpdateEvent:public QEvent{
00011 
00012 public:
00013   SpectrumUpdateEvent(const std::complex<float>* fftPoints,
00014                       const uint64_t numFFTDataPoints,
00015                       const double* realTimeDomainPoints,
00016                       const double* imagTimeDomainPoints,
00017                       const uint64_t numTimeDomainDataPoints,
00018                       const timespec dataTimestamp,
00019                       const bool repeatDataFlag,
00020                       const bool lastOfMultipleUpdateFlag,
00021                       const timespec generatedTimestamp,
00022                       const int droppedFFTFrames);
00023 
00024   ~SpectrumUpdateEvent();
00025 
00026   const std::complex<float>* getFFTPoints() const;
00027   const double* getRealTimeDomainPoints() const;
00028   const double* getImagTimeDomainPoints() const;
00029   uint64_t getNumFFTDataPoints() const;
00030   uint64_t getNumTimeDomainDataPoints() const;
00031   timespec getDataTimestamp() const;
00032   bool getRepeatDataFlag() const;
00033   bool getLastOfMultipleUpdateFlag() const;
00034   timespec getEventGeneratedTimestamp() const;
00035   int getDroppedFFTFrames() const;
00036 
00037 protected:
00038 
00039 private:
00040   std::complex<float>* _fftPoints;
00041   double* _realDataTimeDomainPoints;
00042   double* _imagDataTimeDomainPoints;
00043   uint64_t _numFFTDataPoints;
00044   uint64_t _numTimeDomainDataPoints;
00045   timespec _dataTimestamp;
00046   bool _repeatDataFlag;
00047   bool _lastOfMultipleUpdateFlag;
00048   timespec _eventGeneratedTimestamp;
00049   int _droppedFFTFrames;
00050 };
00051 
00052 class SpectrumWindowCaptionEvent:public QEvent{
00053 public:
00054   SpectrumWindowCaptionEvent(const QString&);
00055   ~SpectrumWindowCaptionEvent();
00056   QString getLabel();
00057 
00058 protected:
00059 
00060 private:
00061   QString _labelString;
00062 };
00063 
00064 class SpectrumWindowResetEvent:public QEvent{
00065 public:
00066   SpectrumWindowResetEvent();
00067   ~SpectrumWindowResetEvent();
00068 
00069 protected:
00070 
00071 private:
00072 
00073 };
00074 
00075 class SpectrumFrequencyRangeEvent:public QEvent{
00076 public:
00077   SpectrumFrequencyRangeEvent(const double, const double, const double);
00078   ~SpectrumFrequencyRangeEvent();
00079   double GetCenterFrequency()const;
00080   double GetStartFrequency()const;
00081   double GetStopFrequency()const;
00082 
00083 protected:
00084 
00085 private:
00086   double _centerFrequency;
00087   double _startFrequency;
00088   double _stopFrequency;
00089 };
00090 
00091 
00092 #endif /* SPECTRUM_UPDATE_EVENTS_H */