GNU Radio 3.7.1 C++ API
gr::digital::packet_sink Class Reference

process received bits looking for packet sync, header, and process bits into packet More...

#include <packet_sink.h>

Inheritance diagram for gr::digital::packet_sink:

List of all members.

Public Types

typedef boost::shared_ptr
< packet_sink
sptr

Public Member Functions

virtual bool carrier_sensed () const =0
 return true if we detect carrier

Static Public Member Functions

static sptr make (const std::vector< unsigned char > &sync_vector, msg_queue::sptr target_queue, int threshold=-1)

Detailed Description

process received bits looking for packet sync, header, and process bits into packet

input: stream of symbols to be sliced.

output: none. Pushes assembled packet into target queue

The packet sink takes in a stream of binary symbols that are sliced around 0. The bits are then checked for the sync_vector to determine find and decode the packet. It then expects a fixed length header of 2 16-bit shorts containing the payload length, followed by the payload. If the 2 16-bit shorts are not identical, this packet is ignored. Better algs are welcome.

This block is not very useful anymore as it only works with 2-level modulations such as BPSK or GMSK. The block can generally be replaced with a correlate access code and frame sink blocks.


Member Typedef Documentation


Member Function Documentation

virtual bool gr::digital::packet_sink::carrier_sensed ( ) const [pure virtual]

return true if we detect carrier

static sptr gr::digital::packet_sink::make ( const std::vector< unsigned char > &  sync_vector,
msg_queue::sptr  target_queue,
int  threshold = -1 
) [static]

Make a packet_sink block.

Parameters:
sync_vectorThe synchronization vector as a vector of 1's and 0's.
target_queueThe message queue that packets are sent to.
thresholdNumber of bits that can be incorrect in the sync_vector.

The documentation for this class was generated from the following file: