GNU Radio's DAB Package
dab_concatenate_signals.h
Go to the documentation of this file.
1/* -*- c++ -*- */
2/*
3 * Copyright 2008 Free Software Foundation, Inc.
4 *
5 * This file is part of GNU Radio
6 *
7 * GNU Radio 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 * GNU Radio 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 GNU Radio; 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_DAB_CONCATENATE_SIGNALS_H
24#define INCLUDED_DAB_CONCATENATE_SIGNALS_H
25
26#include <gr_block.h>
27
29typedef std::shared_ptr<dab_concatenate_signals> dab_concatenate_signals_sptr;
30
31dab_concatenate_signals_sptr dab_make_concatenate_signals (size_t itemsize);
32
33/*!
34 * \brief Concatenate all input signals in time
35 *
36 * \ingroup flow
37 * \param itemsize size of input and output items
38 *
39 * output: first input stream, as long as it has samples, then second input stream, etc...
40 *
41 * Note: Altough this block works with simple vectors, it seems that samples
42 * get lost when more complicated blocks are used.
43 */
44class dab_concatenate_signals : public gr_block
45{
46 private:
47 friend dab_concatenate_signals_sptr dab_make_concatenate_signals (size_t itemsize);
48
49 dab_concatenate_signals (size_t itemsize);
50
51 size_t d_itemsize;
52 unsigned int d_current_signal;
53 unsigned int d_callmetwice;
54
55 public:
56
57 void forecast (int noutput_items, gr_vector_int &ninput_items_required);
58 int general_work(int noutput_items,
59 gr_vector_int &ninput_items,
60 gr_vector_const_void_star &input_items,
61 gr_vector_void_star &output_items);
62 void reset() { d_current_signal=0; }
63};
64
65#endif
Concatenate all input signals in time.
Definition dab_concatenate_signals.h:45
int general_work(int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
friend dab_concatenate_signals_sptr dab_make_concatenate_signals(size_t itemsize)
void reset()
Definition dab_concatenate_signals.h:62
void forecast(int noutput_items, gr_vector_int &ninput_items_required)
dab_concatenate_signals_sptr dab_make_concatenate_signals(size_t itemsize)