GNU Radio's CCS Package
random_periodic_msg_source.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Bastian Bloessl <bloessl@ccs-labs.org>
3 * 2016 Paul Garver <garverp@gatech.edu>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18#ifndef INCLUDED_FOO_RANDOM_PERIODIC_MSG_SOURCE_H
19#define INCLUDED_FOO_RANDOM_PERIODIC_MSG_SOURCE_H
20
21#include <foo/api.h>
22#include <gnuradio/block.h>
23
24namespace gr {
25namespace foo {
26
27class FOO_API random_periodic_msg_source : virtual public gr::block
28{
29public:
30
31 typedef boost::shared_ptr<random_periodic_msg_source> sptr;
32 static sptr make(int msg_len, long interval, int num_msg = 1,
33 bool quit = true, bool debug = false, int seed = 0);
34
35 virtual void set_nmsg(int nmsg) = 0;
36 virtual int get_nmsg() = 0;
37
38 virtual void set_delay(long delay) = 0;
39 virtual long get_delay() = 0;
40
41 virtual void start_tx() = 0;
42 virtual void stop_tx() = 0;
43 virtual bool is_running() = 0;
44};
45
46} // namespace foo
47} // namespace gr
48
49#endif /* INCLUDED_FOO_RANDOM_PERIODIC_MSG_SOURCE */
#define FOO_API
Definition: api.h:30
Definition: random_periodic_msg_source.h:28
virtual void set_nmsg(int nmsg)=0
virtual void set_delay(long delay)=0
static sptr make(int msg_len, long interval, int num_msg=1, bool quit=true, bool debug=false, int seed=0)
boost::shared_ptr< random_periodic_msg_source > sptr
Definition: random_periodic_msg_source.h:31
Definition: burst_tagger.h:27