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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">osmo-bts-trx/trx_if.c: properly describe TRXD messages in logs<br><br>Since we may have different versions of the TRXD header, some new<br>fields of an Uplink burst indication have conditional presence.<br>Therefore we need a smart function to print them conditionally.<br><br>Change-Id: I68729dc98a1840d2aa9e091153d176a103d5a228<br>Related: OS#4006<br>---<br>M src/osmo-bts-trx/trx_if.c<br>1 file changed, 45 insertions(+), 4 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c</span><br><span>index 0ae12c2..e9193ca 100644</span><br><span>--- a/src/osmo-bts-trx/trx_if.c</span><br><span>+++ b/src/osmo-bts-trx/trx_if.c</span><br><span>@@ -738,6 +738,48 @@</span><br><span>         return trx_data_handle_burst_v0(l1h, bi, buf, buf_len);</span><br><span> }</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+static const char *trx_data_desc_msg(const struct trx_ul_burst_ind *bi)</span><br><span style="color: hsl(120, 100%, 40%);">+{</span><br><span style="color: hsl(120, 100%, 40%);">+  struct osmo_strbuf sb;</span><br><span style="color: hsl(120, 100%, 40%);">+        static char buf[256];</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Modulation types defined in 3GPP TS 45.002 */</span><br><span style="color: hsl(120, 100%, 40%);">+      static const char *mod_names[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+            [TRX_BURST_GMSK] = "GMSK",</span><br><span style="color: hsl(120, 100%, 40%);">+          [TRX_BURST_8PSK] = "8-PSK",</span><br><span style="color: hsl(120, 100%, 40%);">+ };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Initialize the string buffer */</span><br><span style="color: hsl(120, 100%, 40%);">+    sb = (struct osmo_strbuf) { .buf = buf, .len = sizeof(buf) };</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Common TDMA parameters */</span><br><span style="color: hsl(120, 100%, 40%);">+  OSMO_STRBUF_PRINTF(sb, "tn=%u fn=%u", bi->tn, bi->fn);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Nothing else to print for NOPE.ind */</span><br><span style="color: hsl(120, 100%, 40%);">+      if (bi->flags & TRX_BI_F_NOPE_IND)</span><br><span style="color: hsl(120, 100%, 40%);">+             return buf;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* RSSI and ToA256 */</span><br><span style="color: hsl(120, 100%, 40%);">+ OSMO_STRBUF_PRINTF(sb, " rssi=%d toa256=%d", bi->rssi, bi->toa256);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Modulation and TSC set */</span><br><span style="color: hsl(120, 100%, 40%);">+  if (bi->flags & TRX_BI_F_MOD_TYPE)</span><br><span style="color: hsl(120, 100%, 40%);">+             OSMO_STRBUF_PRINTF(sb, " mod=%s", mod_names[bi->bt]);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Training Sequence Code */</span><br><span style="color: hsl(120, 100%, 40%);">+  if (bi->flags & TRX_BI_F_TS_INFO)</span><br><span style="color: hsl(120, 100%, 40%);">+              OSMO_STRBUF_PRINTF(sb, " set=%u tsc=%u", bi->tsc_set, bi->tsc);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+     /* C/I: Carrier-to-Interference ratio (in centiBels) */</span><br><span style="color: hsl(120, 100%, 40%);">+       if (bi->flags & TRX_BI_F_CI_CB)</span><br><span style="color: hsl(120, 100%, 40%);">+                OSMO_STRBUF_PRINTF(sb, " C/I=%d cB", bi->ci_cb);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       /* Burst length */</span><br><span style="color: hsl(120, 100%, 40%);">+    OSMO_STRBUF_PRINTF(sb, " burst_len=%zu", bi->burst_len);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+       return buf;</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> /* Parse TRXD message from transceiver, compose an UL burst indication.</span><br><span>  *</span><br><span>  * This message contains a demodulated Uplink burst with fixed-size</span><br><span>@@ -924,11 +966,10 @@</span><br><span>     if (rc < 0)</span><br><span>               return rc;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-  /* TODO: also print TSC and C/I */</span><br><span style="color: hsl(0, 100%, 40%);">-      LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG,</span><br><span style="color: hsl(0, 100%, 40%);">-             "Rx %s (hdr_ver=%u): tn=%u fn=%u rssi=%d toa256=%d\n",</span><br><span style="color: hsl(120, 100%, 40%);">+      /* Print header & burst info */</span><br><span style="color: hsl(120, 100%, 40%);">+   LOGPPHI(l1h->phy_inst, DTRX, LOGL_DEBUG, "Rx %s (hdr_ver=%u): %s\n",</span><br><span>            (bi.flags & TRX_BI_F_NOPE_IND) ? "NOPE.ind" : "UL burst",</span><br><span style="color: hsl(0, 100%, 40%);">-               hdr_ver, bi.tn, bi.fn, bi.rssi, bi.toa256);</span><br><span style="color: hsl(120, 100%, 40%);">+           hdr_ver, trx_data_desc_msg(&bi));</span><br><span> </span><br><span>    /* feed received burst into scheduler code */</span><br><span>        trx_sched_ul_burst(&l1h->l1s, &bi);</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/14670">change 14670</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-bts/+/14670"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-bts </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I68729dc98a1840d2aa9e091153d176a103d5a228 </div>
<div style="display:none"> Gerrit-Change-Number: 14670 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </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>