summaryrefslogtreecommitdiff
path: root/gr-qtgui/lib/freq_sink_f_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'gr-qtgui/lib/freq_sink_f_impl.h')
-rw-r--r--gr-qtgui/lib/freq_sink_f_impl.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/gr-qtgui/lib/freq_sink_f_impl.h b/gr-qtgui/lib/freq_sink_f_impl.h
index 9c4e1e3bcb..1463699319 100644
--- a/gr-qtgui/lib/freq_sink_f_impl.h
+++ b/gr-qtgui/lib/freq_sink_f_impl.h
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2012 Free Software Foundation, Inc.
+ * Copyright 2012,2014 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -35,11 +35,10 @@ namespace gr {
class QTGUI_API freq_sink_f_impl : public freq_sink_f
{
private:
- void forecast(int noutput_items, gr_vector_int &ninput_items_required);
-
void initialize();
int d_fftsize;
+ int d_tmpbuflen;
float d_fftavg;
filter::firdes::win_type d_wintype;
std::vector<float> d_window;
@@ -55,6 +54,7 @@ namespace gr {
std::vector<float*> d_residbufs;
std::vector<double*> d_magbufs;
float *d_fbuf;
+ float *d_tmpbuf;
int d_argc;
char *d_argv;
@@ -64,9 +64,9 @@ namespace gr {
gr::high_res_timer_type d_update_time;
gr::high_res_timer_type d_last_time;
- void windowreset();
+ bool windowreset();
void buildwindow();
- void fftresize();
+ bool fftresize();
void check_clicked();
void fft(float *data_out, const float *data_in, int size);
@@ -74,6 +74,19 @@ namespace gr {
// The message is a PMT pair (intern('freq'), double(frequency)).
void handle_set_freq(pmt::pmt_t msg);
+ // Members used for triggering scope
+ trigger_mode d_trigger_mode;
+ float d_trigger_level;
+ int d_trigger_channel;
+ pmt::pmt_t d_trigger_tag_key;
+ bool d_triggered;
+ int d_trigger_count;
+
+ void _reset();
+ void _gui_update_trigger();
+ void _test_trigger_tags(int start, int nitems);
+ void _test_trigger_norm(int nitems, std::vector<double*> inputs);
+
public:
freq_sink_f_impl(int size, int wintype,
double fc, double bw,
@@ -111,6 +124,10 @@ namespace gr {
void set_line_style(int which, int style);
void set_line_marker(int which, int marker);
void set_line_alpha(int which, double alpha);
+ void set_plot_pos_half(bool half);
+ void set_trigger_mode(trigger_mode mode,
+ float level, int channel,
+ const std::string &tag_key="");
std::string title();
std::string line_label(int which);