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
|
/* -*- c++ -*- */
/*
* Copyright 2012,2013,2015 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
* SPDX-License-Identifier: GPL-3.0-or-later
*
*/
#ifndef INCLUDED_QTGUI_TIME_RASTER_SINK_B_IMPL_H
#define INCLUDED_QTGUI_TIME_RASTER_SINK_B_IMPL_H
#include <gnuradio/qtgui/time_raster_sink_b.h>
#include <gnuradio/fft/fft.h>
#include <gnuradio/filter/firdes.h>
#include <gnuradio/high_res_timer.h>
#include <gnuradio/qtgui/timerasterdisplayform.h>
namespace gr {
namespace qtgui {
class QTGUI_API time_raster_sink_b_impl : public time_raster_sink_b
{
private:
void initialize();
const std::string d_name;
int d_nconnections;
int d_index;
std::vector<double*> d_residbufs;
float d_scale;
float* d_tmpflt;
int d_argc;
char* d_argv;
QWidget* d_parent;
TimeRasterDisplayForm* d_main_gui;
int d_icols;
double d_rows, d_cols;
std::vector<float> d_mult;
std::vector<float> d_offset;
double d_samp_rate;
gr::high_res_timer_type d_update_time;
gr::high_res_timer_type d_last_time;
void _ncols_resize();
// Handles message input port for displaying PDU samples.
void handle_pdus(pmt::pmt_t msg);
public:
time_raster_sink_b_impl(double samp_rate,
double rows,
double cols,
const std::vector<float>& mult,
const std::vector<float>& offset,
const std::string& name,
int nconnections,
QWidget* parent = NULL);
~time_raster_sink_b_impl() override;
bool check_topology(int ninputs, int noutputs) override;
void exec_() override;
QWidget* qwidget() override;
#ifdef ENABLE_PYTHON
PyObject* pyqwidget() override;
#else
void* pyqwidget();
#endif
void set_x_label(const std::string& label) override;
void set_x_range(double start, double end) override;
void set_y_label(const std::string& label) override;
void set_y_range(double start, double end) override;
void set_update_time(double t) override;
void set_title(const std::string& title) override;
void set_line_label(unsigned int which, const std::string& label) override;
void set_line_color(unsigned int which, const std::string& color) override;
void set_line_width(unsigned int which, int width) override;
void set_line_style(unsigned int which, Qt::PenStyle style) override;
void set_line_marker(unsigned int which, QwtSymbol::Style marker) override;
void set_line_alpha(unsigned int which, double alpha) override;
void set_color_map(unsigned int which, const int color) override;
std::string title() override;
std::string line_label(unsigned int which) override;
std::string line_color(unsigned int which) override;
int line_width(unsigned int which) override;
int line_style(unsigned int which) override;
int line_marker(unsigned int which) override;
double line_alpha(unsigned int which) override;
int color_map(unsigned int which) override;
void set_size(int width, int height) override;
void set_samp_rate(const double samp_rate) override;
void set_num_rows(double rows) override;
void set_num_cols(double cols) override;
double num_rows() override;
double num_cols() override;
void set_multiplier(const std::vector<float>& mult) override;
void set_offset(const std::vector<float>& offset) override;
void set_intensity_range(float min, float max) override;
void enable_menu(bool en) override;
void enable_grid(bool en) override;
void enable_autoscale(bool en) override;
void enable_axis_labels(bool en) override;
void reset() override;
int work(int noutput_items,
gr_vector_const_void_star& input_items,
gr_vector_void_star& output_items) override;
};
} /* namespace qtgui */
} /* namespace gr */
#endif /* INCLUDED_QTGUI_TIME_RASTER_SINK_B_IMPL_H */
|