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. More...
#include <gnuradio/digital/hdlc_framer_pb.h>
Public Types | |
typedef boost::shared_ptr < hdlc_framer_pb > | sptr |
Static Public Member Functions | |
static sptr | make (const std::string frame_tag_name) |
Return a shared_ptr to a new instance of digital::hdlc_framer. |
Additional Inherited Members | |
![]() | |
virtual int | work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)=0 |
just like gr::block::general_work, only this arranges to call consume_each for you | |
void | forecast (int noutput_items, gr_vector_int &ninput_items_required) |
Estimate input requirements given output request. | |
int | general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) |
compute output items from input items | |
int | fixed_rate_ninput_to_noutput (int ninput) |
Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this. | |
int | fixed_rate_noutput_to_ninput (int noutput) |
Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this. | |
![]() | |
enum | vcolor { WHITE, GREY, BLACK } |
![]() | |
sync_block (void) | |
sync_block (const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature) | |
![]() | |
std::vector< long > | d_max_output_buffer |
std::vector< long > | d_min_output_buffer |
gr::thread::mutex | d_setlock |
gr::logger_ptr | d_logger |
gr::logger_ptr | d_debug_logger |
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.
This block outputs one whole frame at a time; if there is not enough output buffer space to fit a frame, it is pushed onto a queue. As a result flowgraphs which only run for a finite number of samples may not receive all frames in the queue, due to the scheduler's granularity. For flowgraphs that stream continuously (anything using a USRP) this should not be an issue.
|
static |
Return a shared_ptr to a new instance of digital::hdlc_framer.
frame_tag_name,: | The tag to add to the first sample of each frame. |