GNU Radio Radar Toolbox
split_cc.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
/*
3
* Copyright 2014 Communications Engineering Lab, KIT.
4
*
5
* This 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, or (at your option)
8
* any later version.
9
*
10
* This software 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 software; see the file COPYING. If not, write to
17
* the Free Software Foundation, Inc., 51 Franklin Street,
18
* Boston, MA 02110-1301, USA.
19
*/
20
21
#ifndef INCLUDED_RADAR_SPLIT_CC_H
22
#define INCLUDED_RADAR_SPLIT_CC_H
23
24
#include <gnuradio/tagged_stream_block.h>
25
#include <
radar/api.h
>
26
27
namespace
gr
{
28
namespace
radar {
29
30
/*!
31
* \brief This block splits a tagged stream into segments. As packet_parts you give the
32
* structure of the packet, e.g. (10, 20, 5). With the packet number you can choose which
33
* packet shall be pushed to output. Counting begins on zero. E.g. packet_num=1 returns 20
34
* items.
35
*
36
* \param packet_num Number of packet to push to output
37
* \param packet_parts Packet structure as vector of packet length
38
* \param len_key Packet length key for tagged stream
39
*
40
* \ingroup radar
41
*
42
*/
43
class
RADAR_API
split_cc
:
virtual
public
gr::tagged_stream_block
44
{
45
public
:
46
typedef
boost::shared_ptr<split_cc>
sptr
;
47
48
/*!
49
* \brief Return a shared_ptr to a new instance of radar::split_cc.
50
*
51
* To avoid accidental use of raw pointers, radar::split_cc's
52
* constructor is in a private implementation
53
* class. radar::split_cc::make is the public interface for
54
* creating new instances.
55
*/
56
static
sptr
make(
int
packet_num,
57
const
std::vector<int> packet_parts,
58
const
std::string& len_key =
"packet_len"
);
59
};
60
61
}
// namespace radar
62
}
// namespace gr
63
64
#endif
/* INCLUDED_RADAR_SPLIT_CC_H */
RADAR_API
#define RADAR_API
Definition:
api.h:31
gr
Definition:
crop_matrix_vcvc.h:28
gr::radar::split_cc
This block splits a tagged stream into segments. As packet_parts you give the structure of the packet...
Definition:
split_cc.h:43
gr::radar::split_cc::sptr
boost::shared_ptr< split_cc > sptr
Definition:
split_cc.h:46
api.h
include
radar
split_cc.h
Generated by
1.8.17