/usr/include/gnuradio/qtgui/SpectrumGUIClass.h is in gnuradio-dev 3.7.2.1-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | /* -*- c++ -*- */
/*
* Copyright 2008-2011 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* GNU Radio is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* GNU Radio is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GNU Radio; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street,
* Boston, MA 02110-1301, USA.
*/
#ifndef SPECTRUM_GUI_CLASS_HPP
#define SPECTRUM_GUI_CLASS_HPP
#include <gnuradio/thread/thread.h>
#include <qwidget.h>
#include <qapplication.h>
#include <qlabel.h>
#include <qslider.h>
#include <gnuradio/qtgui/spectrumUpdateEvents.h>
class SpectrumDisplayForm;
#include <gnuradio/qtgui/spectrumdisplayform.h>
#include <cmath>
#include <complex>
#include <vector>
#include <string>
/*!
* \brief QWidget class for controlling plotting.
* \ingroup qtgui_blk
*/
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 float*,
const uint64_t, const float*,
const uint64_t, const float*,
const uint64_t,
const gr::high_res_timer_type, const bool);
float getPowerValue();
void setPowerValue(const float);
int getWindowType();
void setWindowType(const int);
int getFFTSize();
int getFFTSizeIndex();
void setFFTSize(const int);
gr::high_res_timer_type getLastGUIUpdateTime();
void setLastGUIUpdateTime(const gr::high_res_timer_type);
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:
gr::thread::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;
gr::high_res_timer_type _lastGUIUpdateTime;
unsigned int _pendingGUIUpdateEventsCount;
int _droppedEntriesCount;
bool _fftBuffersCreatedFlag;
double _updateTime;
SpectrumDisplayForm* _spectrumDisplayForm;
float* _fftPoints;
double* _realTimeDomainPoints;
double* _imagTimeDomainPoints;
};
#endif /* SPECTRUM_GUI_CLASS_HPP */
|