<p>pespin <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-trx/+/15000">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Move Transceiver52/README to UserManual<br><br>Change-Id: Ib5a56cfe0c27d027bc0c60abda89e646a80849de<br>---<br>M Transceiver52M/Makefile.am<br>D Transceiver52M/README<br>M doc/manuals/chapters/trx-backends.adoc<br>3 files changed, 27 insertions(+), 37 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/Transceiver52M/Makefile.am b/Transceiver52M/Makefile.am</span><br><span>index 791c586..f039e3f 100644</span><br><span>--- a/Transceiver52M/Makefile.am</span><br><span>+++ b/Transceiver52M/Makefile.am</span><br><span>@@ -33,8 +33,6 @@</span><br><span> dist_rev2_DATA = std_inband.rbf</span><br><span> dist_rev4_DATA = std_inband.rbf</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-EXTRA_DIST = README</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> noinst_LTLIBRARIES = libtransceiver_common.la</span><br><span> </span><br><span> COMMON_SOURCES = \</span><br><span>diff --git a/Transceiver52M/README b/Transceiver52M/README</span><br><span>deleted file mode 100644</span><br><span>index 491693c..0000000</span><br><span>--- a/Transceiver52M/README</span><br><span>+++ /dev/null</span><br><span>@@ -1,35 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-The Transceiver</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-The transceiver consists of three modules:</span><br><span style="color: hsl(0, 100%, 40%);">-   --- transceiver</span><br><span style="color: hsl(0, 100%, 40%);">-   --- radioInterface</span><br><span style="color: hsl(0, 100%, 40%);">-   --- USRPDevice</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-The USRPDevice module is basically a driver that reads/writes</span><br><span style="color: hsl(0, 100%, 40%);">-packets to a USRP with two RFX900 daughterboards, board </span><br><span style="color: hsl(0, 100%, 40%);">-A is the Tx chain and board B is the Rx chain.  </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-The radioInterface module is basically an interface b/w the</span><br><span style="color: hsl(0, 100%, 40%);">-transceiver and the USRP.   It operates the basestation clock</span><br><span style="color: hsl(0, 100%, 40%);">-based upon the sample count of received USRP samples.  Packets </span><br><span style="color: hsl(0, 100%, 40%);">-from the USRP are queued and segmented into GSM bursts that are</span><br><span style="color: hsl(0, 100%, 40%);">-passed up to the transceiver; bursts from the transceiver are</span><br><span style="color: hsl(0, 100%, 40%);">-passed down to the USRP. </span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-The transceiver basically operates "layer 0" of the GSM stack,</span><br><span style="color: hsl(0, 100%, 40%);">-performing the modulation, detection, and demodulation of GSM </span><br><span style="color: hsl(0, 100%, 40%);">-bursts.  It communicates with the GSM stack via three UDP sockets,</span><br><span style="color: hsl(0, 100%, 40%);">-one socket for data, one for control messages, and one socket to</span><br><span style="color: hsl(0, 100%, 40%);">-pass clocking information.  The transceiver contains a priority</span><br><span style="color: hsl(0, 100%, 40%);">-queue to sort to-be-transmitted bursts, and a filler table to fill</span><br><span style="color: hsl(0, 100%, 40%);">-in timeslots that do not have bursts in the priority queue.  The</span><br><span style="color: hsl(0, 100%, 40%);">-transceiver tries to stay ahead of the basestation clock, adapting </span><br><span style="color: hsl(0, 100%, 40%);">-its latency when underruns are reported by the radioInterface/USRP.</span><br><span style="color: hsl(0, 100%, 40%);">-Received bursts (from the radioInterface) pass through a simple </span><br><span style="color: hsl(0, 100%, 40%);">-energy detector, a RACH or midamble correlator, and a DFE-based demodulator.</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-NOTE: There's a SWLOOPBACK #define statement, where the USRP is replaced</span><br><span style="color: hsl(0, 100%, 40%);">-with a memory buffer.  In this mode, data written to the USRP is actually stored </span><br><span style="color: hsl(0, 100%, 40%);">-in a buffer, and read commands to the USRP simply pull data from this buffer.</span><br><span style="color: hsl(0, 100%, 40%);">-This was very useful in early testing, and still may be useful in testing basic</span><br><span style="color: hsl(0, 100%, 40%);">-Transceiver and radioInterface functionality. </span><br><span>diff --git a/doc/manuals/chapters/trx-backends.adoc b/doc/manuals/chapters/trx-backends.adoc</span><br><span>index 8829fa6..fb1e960 100644</span><br><span>--- a/doc/manuals/chapters/trx-backends.adoc</span><br><span>+++ b/doc/manuals/chapters/trx-backends.adoc</span><br><span>@@ -44,3 +44,30 @@</span><br><span> </span><br><span> Related code can be found in the _Transceiver52M/device/usrp1/_ directory in</span><br><span> _osmo-trx.git_.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The USRPDevice module is basically a driver that reads/writes packets to a USRP</span><br><span style="color: hsl(120, 100%, 40%);">+with two RFX900 daughterboards, board A is the Tx chain and board B is the Rx</span><br><span style="color: hsl(120, 100%, 40%);">+chain.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The `radioInterface` module is basically an interface between the transceiver</span><br><span style="color: hsl(120, 100%, 40%);">+and the USRP. It operates the basestation clock based upon the sample count of</span><br><span style="color: hsl(120, 100%, 40%);">+received USRP samples.  Packets from the USRP are queued and segmented into GSM</span><br><span style="color: hsl(120, 100%, 40%);">+bursts that are passed up to the transceiver; bursts from the transceiver are</span><br><span style="color: hsl(120, 100%, 40%);">+passed down to the USRP.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+The transceiver basically operates "layer 0" of the GSM stack, performing the</span><br><span style="color: hsl(120, 100%, 40%);">+modulation, detection, and demodulation of GSM bursts.  It communicates with the</span><br><span style="color: hsl(120, 100%, 40%);">+GSM stack via three UDP sockets, one socket for data, one for control messages,</span><br><span style="color: hsl(120, 100%, 40%);">+and one socket to pass clocking information. The transceiver contains a priority</span><br><span style="color: hsl(120, 100%, 40%);">+queue to sort to-be-transmitted bursts, and a filler table to fill in timeslots</span><br><span style="color: hsl(120, 100%, 40%);">+that do not have bursts in the priority queue.  The transceiver tries to stay</span><br><span style="color: hsl(120, 100%, 40%);">+ahead of the basestation clock, adapting its latency when underruns are reported</span><br><span style="color: hsl(120, 100%, 40%);">+by the radioInterface/USRP. Received bursts (from the radioInterface) pass</span><br><span style="color: hsl(120, 100%, 40%);">+through a simple energy detector, a RACH or midamble correlator, and a DFE-based</span><br><span style="color: hsl(120, 100%, 40%);">+demodulator.</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+NOTE: There's a `SWLOOPBACK` #define statement, where the USRP is replaced</span><br><span style="color: hsl(120, 100%, 40%);">+with a memory buffer. In this mode, data written to the USRP is actually stored</span><br><span style="color: hsl(120, 100%, 40%);">+in a buffer, and read commands to the USRP simply pull data from this buffer.</span><br><span style="color: hsl(120, 100%, 40%);">+This was very useful in early testing, and still may be useful in testing basic</span><br><span style="color: hsl(120, 100%, 40%);">+Transceiver and radioInterface functionality.</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-trx/+/15000">change 15000</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-trx/+/15000"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-trx </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ib5a56cfe0c27d027bc0c60abda89e646a80849de </div>
<div style="display:none"> Gerrit-Change-Number: 15000 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>