GNU Radio Manual and C++ API Reference  3.10.7.0
The Free & Open Software Radio Ecosystem
hdlc_framer_pb.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /*
3  * Copyright 2014 Free Software Foundation, Inc.
4  *
5  * This file is part of GNU Radio
6  *
7  * SPDX-License-Identifier: GPL-3.0-or-later
8  *
9  */
10 
11 #ifndef INCLUDED_DIGITAL_HDLC_FRAMER_PB_H
12 #define INCLUDED_DIGITAL_HDLC_FRAMER_PB_H
13 
14 #include <gnuradio/digital/api.h>
15 #include <gnuradio/sync_block.h>
16 
17 namespace gr {
18 namespace digital {
19 
20 /*!
21  * \brief HDLC framer which takes in PMT binary blobs and outputs HDLC
22  * frames as unpacked bits, with CRC and bit stuffing added. The first sample
23  * of the frame is tagged with the tag frame_tag_name and includes a
24  * length field for tagged_stream use.
25  *
26  * This block outputs one whole frame at a time; if there is not enough
27  * output buffer space to fit a frame, it is pushed onto a queue. As a result
28  * flowgraphs which only run for a finite number of samples may not receive
29  * all frames in the queue, due to the scheduler's granularity. For
30  * flowgraphs that stream continuously (anything using a USRP) this should
31  * not be an issue.
32  *
33  * \ingroup pkt_operators_blk
34  *
35  */
37 {
38 public:
39  typedef std::shared_ptr<hdlc_framer_pb> sptr;
40 
41  /*!
42  * \brief Return a shared_ptr to a new instance of digital::hdlc_framer.
43  *
44  * \param frame_tag_name: The tag to add to the first sample of each frame.
45  */
46  static sptr make(const std::string frame_tag_name);
47 };
48 
49 } // namespace digital
50 } // namespace gr
51 
52 #endif /* INCLUDED_DIGITAL_HDLC_FRAMER_PB_H */
#define DIGITAL_API
Definition: gr-digital/include/gnuradio/digital/api.h:18
GNU Radio logging wrapper.
Definition: basic_block.h:29
synchronous 1:1 input to output with historyOverride work to provide the signal processing implementa...
Definition: sync_block.h:25
HDLC framer which takes in PMT binary blobs and outputs HDLC frames as unpacked bits, with CRC and bit stuffing added. The first sample of the frame is tagged with the tag frame_tag_name and includes a length field for tagged_stream use.
Definition: hdlc_framer_pb.h:36
std::shared_ptr< hdlc_framer_pb > sptr
Definition: hdlc_framer_pb.h:39