The Inspector (GNU Radio module gr-inspector)
signal_extractor_c_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2016 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * This is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3, or (at your option)
10  * any later version.
11  *
12  * This software is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this software; see the file COPYING. If not, write to
19  * the Free Software Foundation, Inc., 51 Franklin Street,
20  * Boston, MA 02110-1301, USA.
21  */
22 
23 #ifndef INCLUDED_INSPECTOR_SIGNAL_EXTRACTOR_C_IMPL_H
24 #define INCLUDED_INSPECTOR_SIGNAL_EXTRACTOR_C_IMPL_H
25 
27 #include <gnuradio/filter/pfb_arb_resampler.h>
28 
29 namespace gr {
30  namespace inspector {
31 
33  {
34  private:
35  int d_signal, d_length;
36  bool d_ready, d_resample;
37  float d_out_rate, d_oversampling, d_rate;
38  std::vector<gr_complex> d_samples;
39  gr_complex* d_msg_buffer;
40  filter::kernel::pfb_arb_resampler_ccf *d_resampler;
41 
42  public:
43  signal_extractor_c_impl(int signal, bool resample, float rate,
44  float osf);
46 
47  // write samples from message in buffer
48  void handle_msg(pmt::pmt_t msg);
49 
50  // Where all the action really happens
51  int work(int noutput_items,
52  gr_vector_const_void_star &input_items,
53  gr_vector_void_star &output_items);
54 
55  // callback
56  void set_signal(int d_signal) {
57  signal_extractor_c_impl::d_signal = d_signal;
58  }
59  };
60 
61  } // namespace inspector
62 } // namespace gr
63 
64 #endif /* INCLUDED_INSPECTOR_SIGNAL_EXTRACTOR_C_IMPL_H */
Definition: ofdm_bouzegzi_c.h:30
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
Definition: signal_extractor_c_impl.h:32
void set_signal(int d_signal)
Definition: signal_extractor_c_impl.h:56
Extractor block to extract signal samples out of bundled message passed from Signal Separator block...
Definition: signal_extractor_c.h:50
signal_extractor_c_impl(int signal, bool resample, float rate, float osf)