Difference between revisions of "Packet Sink"

From GNU Radio
Jump to: navigation, search
(Created page with "Category:Block Docs Category:Stub Docs This is the template for the "Page-per-block Docs". This first section should describe what the block...")
 
 
Line 1: Line 1:
 
[[Category:Block Docs]]
 
[[Category:Block Docs]]
[[Category:Stub Docs]]
+
Process received bits looking for packet sync, header, and process bits into packet.
This is the template for the [[:Category:Block_Docs|"Page-per-block Docs"]].  This first section should describe what the block does and how to use it, using however many paragraphs necessary.  Note that the title of the wiki page should match the block's name in GRC, i.e. the one defined in the block's .grc file.  Look at the [[FFT]] Block for a good example.
 
  
As this is a basic template, it's also in the [[:Category:Stub_Docs|"Stub Docs category"]]. Please improve it.
+
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  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.
  
 
== Parameters ==
 
== Parameters ==
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>
+
; Sync Vector
 +
: The synchronization vector as a vector of 1's and 0's.
  
; Param 1 (''R'')
+
; Target Message Queue
: Description of parameter, provide any tips or recommended values.  Note that the name of the parameter above should match the param's label that shows up in grc (e.g. Sample Rate).
+
: The message queue that packets are sent to.
  
; Param 2
+
; Threshold
: blah blah blah
+
: Number of bits that can be incorrect in the sync_vector. -1 by default, meaning allow any number.
  
 
== Example Flowgraph ==
 
== Example Flowgraph ==

Latest revision as of 04:20, 3 August 2019

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 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.

Parameters[edit]

Sync Vector
The synchronization vector as a vector of 1's and 0's.
Target Message Queue
The message queue that packets are sent to.
Threshold
Number of bits that can be incorrect in the sync_vector. -1 by default, meaning allow any number.

Example Flowgraph[edit]

Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.

Source Files[edit]

C++ files
TODO
Header files
TODO
Public header files
TODO
Block definition
TODO