<?xml version="1.0"?>
<block>
  <name>Bursts printer</name>
  <key>gsm_bursts_printer</key>
  <import>import grgsm</import>
  <import>import pmt</import>
  <make>grgsm.bursts_printer(pmt.intern($prepend_string), $prepend_fnr, $prepend_frame_count, $print_payload_only)</make>

  <param>
    <name>Prepend String</name>
    <key>prepend_string</key>
    <value></value>
    <type>string</type>
    <hide>part</hide>
  </param>
  <param>
    <name>Prepend Frame Number</name>
    <key>prepend_fnr</key>
    <value>False</value>
    <type>bool</type>
    <option>
      <name>False</name>
      <key>False</key>
    </option>
    <option>
      <name>True</name>
      <key>True</key>
    </option>
  </param>
  <param>
    <name>Prepend Frame Count</name>
    <key>prepend_frame_count</key>
    <value>False</value>
    <type>bool</type>
    <option>
      <name>False</name>
      <key>False</key>
    </option>
    <option>
      <name>True</name>
      <key>True</key>
    </option>
  </param>
  <param>
    <name>Print payload only</name>
    <key>print_payload_only</key>
    <value>False</value>
    <type>bool</type>
    <option>
      <name>False</name>
      <key>False</key>
    </option>
    <option>
      <name>True</name>
      <key>True</key>
    </option>
  </param>

  <sink>
    <name>bursts</name>
    <type>message</type>
  </sink>

  <doc>
This block prints bursts to output. By default the whole burst including tail bits, stealing bits and training sequence is printed.

If "Prepend Frame Number" is enabled, then the framenumber is prepended to each burst.

If "Prepend Frame Count" is enabled, then the frame count for A5 is prependend to each burst.

If "Print payload only" is enabled, then only the two data blocks of a burst are printed, tail bits, stealing bits and training sequence are omitted.

Enabling all three options results in an output that is similar to the output of airprobe, i.e. the format is "frame_nr frame_count: databits"
  </doc>
</block>
