| <?xml version="1.0"?> |
| <block> |
| <name>TRX Burst Interface</name> |
| <key>gsm_trx_burst_if</key> |
| <import>import grgsm</import> |
| <make>grgsm.trx_burst_if($bind_addr, $remote_addr, $base_port)</make> |
| |
| <param> |
| <name>base_port</name> |
| <key>base_port</key> |
| <value>5700</value> |
| <type>string</type> |
| </param> |
| |
| <param> |
| <name>bind_addr</name> |
| <key>bind_addr</key> |
| <value>0.0.0.0</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 -> definite "0", |
| 255 -> 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 & 1 |
| </doc> |
| </block> |