<?xml version="1.0"?>
<block>
  <name>TRX Burst Interface</name>
  <key>grgsm_trx_burst_if</key>
  <import>import grgsm</import>
  <make>grgsm.trx_burst_if($remote_addr, $base_port)</make>

  <param>
    <name>base_port</name>
    <key>base_port</key>
    <value>5700</value>
    <type>string</type>
  </param>

  <param>
    <name>remote_addr</name>
    <key>remote_addr</key>
    <value>127.0.0.1</value>
    <type>string</type>
  </param>

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

  <source>
    <name>bursts</name>
    <type>message</type>
    <optional>1</optional>
  </source>

  <doc>
      OsmoTRX like UDP burst interface for external applications.

      There are two UDP connections, where each message carries
      one radio burst with header. Give a base port B (5700 by default).
      One connection at port P=B+100+2 is used for sending received bursts
      to an external application. Another one at port P=B+2 is used to
      obtain to be transmitted bursts.

      Received burst format:
      1 byte timeslot index
      4 bytes GSM frame number, big endian
      1 byte RSSI in -dBm
      2 bytes correlator timing offset in 1/256 symbol steps,
          2's-comp, big endian
      148 bytes soft symbol estimates, 0 -&gt; definite "0",
          255 -&gt; definite "1"

      To be transmitted burst format:
      1 byte timeslot index
      4 bytes GSM frame number, big endian
      1 byte transmit level wrt ARFCN max, -dB (attenuation)
      148 bytes output symbol values, 0 &amp; 1
  </doc>
</block>
