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

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">[VAMOS] scheduler: add new GMSK training sequences from 3GPP 45.002<br><br>Change-Id: I03fe712da5a3cc1a59f40a98a57f43306c3586c6<br>Related: SYS#4895, OS#4941<br>---<br>M include/osmo-bts/scheduler.h<br>M include/osmo-bts/scheduler_backend.h<br>M src/common/scheduler.c<br>3 files changed, 44 insertions(+), 12 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h</span><br><span>index 72858f5..9093229 100644</span><br><span>--- a/include/osmo-bts/scheduler.h</span><br><span>+++ b/include/osmo-bts/scheduler.h</span><br><span>@@ -13,7 +13,7 @@</span><br><span>         (trx_chan_desc[chan].flags & TRX_CHAN_FLAG_AUTO_ACTIVE || (state)->active)</span><br><span> </span><br><span> #define TRX_GMSK_NB_TSC(br) \</span><br><span style="color: hsl(0, 100%, 40%);">-  _sched_train_seq_gmsk_nb[(br)->tsc]</span><br><span style="color: hsl(120, 100%, 40%);">+        _sched_train_seq_gmsk_nb[(br)->tsc_set][(br)->tsc]</span><br><span> </span><br><span> #define TRX_8PSK_NB_TSC(br) \</span><br><span>        _sched_train_seq_8psk_nb[(br)->tsc]</span><br><span>diff --git a/include/osmo-bts/scheduler_backend.h b/include/osmo-bts/scheduler_backend.h</span><br><span>index d5ce5bf..c54591e 100644</span><br><span>--- a/include/osmo-bts/scheduler_backend.h</span><br><span>+++ b/include/osmo-bts/scheduler_backend.h</span><br><span>@@ -35,7 +35,7 @@</span><br><span> extern const struct trx_chan_desc trx_chan_desc[_TRX_CHAN_MAX];</span><br><span> </span><br><span> extern const ubit_t _sched_dummy_burst[];</span><br><span style="color: hsl(0, 100%, 40%);">-extern const ubit_t _sched_train_seq_gmsk_nb[8][26];</span><br><span style="color: hsl(120, 100%, 40%);">+extern const ubit_t _sched_train_seq_gmsk_nb[4][8][26];</span><br><span> extern const ubit_t _sched_train_seq_8psk_nb[8][78];</span><br><span> extern const ubit_t _sched_train_seq_gmsk_sb[64];</span><br><span> </span><br><span>diff --git a/src/common/scheduler.c b/src/common/scheduler.c</span><br><span>index 0b9c5d5..75cf6bd 100644</span><br><span>--- a/src/common/scheduler.c</span><br><span>+++ b/src/common/scheduler.c</span><br><span>@@ -62,16 +62,48 @@</span><br><span>         0,0,0,</span><br><span> };</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-/*! \brief Training Sequences (TS 05.02 Chapter 5.2.3) */</span><br><span style="color: hsl(0, 100%, 40%);">-const ubit_t _sched_train_seq_gmsk_nb[8][26] = {</span><br><span style="color: hsl(0, 100%, 40%);">-       { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1, },</span><br><span style="color: hsl(0, 100%, 40%);">-       { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1, },</span><br><span style="color: hsl(0, 100%, 40%);">-       { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0, },</span><br><span style="color: hsl(0, 100%, 40%);">-       { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0, },</span><br><span style="color: hsl(0, 100%, 40%);">-       { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1, },</span><br><span style="color: hsl(0, 100%, 40%);">-       { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0, },</span><br><span style="color: hsl(0, 100%, 40%);">-       { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1, },</span><br><span style="color: hsl(0, 100%, 40%);">-       { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0, },</span><br><span style="color: hsl(120, 100%, 40%);">+/*! Training Sequences for Normal Burst (see 3GPP TS 45.002, section 5.2.3) */</span><br><span style="color: hsl(120, 100%, 40%);">+const ubit_t _sched_train_seq_gmsk_nb[4][8][26] = {</span><br><span style="color: hsl(120, 100%, 40%);">+        { /* TSC set 1, table 5.2.3a */</span><br><span style="color: hsl(120, 100%, 40%);">+               { 0,0,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,1,0,0,0,1,0,1,1,0,1,1,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,0,0,0,1,1,1,0,1,1,1,0,1,0,0,1,0,0,0,0,1,1,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0,0,1,1,1,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,0,1,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,1,0,1,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,0,1,1,1,0,1,0,1,1,0,0,0,0,0,1,0,0,1,1,1,0,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,0,1,0,0,1,1,1,1,1,0,1,1,0,0,0,1,0,1,0,0,1,1,1,1,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,1,1,0,1,1,1,1,0,0,0,1,0,0,1,0,1,1,1,0,1,1,1,1,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+      },</span><br><span style="color: hsl(120, 100%, 40%);">+    { /* TSC set 2, table 5.2.3b */</span><br><span style="color: hsl(120, 100%, 40%);">+               { 0,1,1,0,0,0,1,0,0,0,1,0,0,1,0,0,1,1,1,1,0,1,0,1,1,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,0,0,0,0,1,0,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,1,1,0,1,0,0,1,1,1,1,0,1,0,0,1,1,1,0,1,1,1,1,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,0,0,0,0,1,0,0,1,1,0,1,0,1,0,0,1,1,1,1,0,0,1,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,0,1,0,0,0,0,1,1,0,1,0,0,0,0,1,1,0,1,1,1,0,1,0,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,0,0,1,0,1,1,1,0,0,1,1,1,1,1,1,0,0,1,0,1,0,0,1 },</span><br><span style="color: hsl(120, 100%, 40%);">+      },</span><br><span style="color: hsl(120, 100%, 40%);">+    { /* TSC set 3, table 5.2.3c */</span><br><span style="color: hsl(120, 100%, 40%);">+               { 1,1,0,0,0,0,1,0,0,1,0,0,0,1,1,1,1,0,1,0,1,0,0,0,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,1,0,1,1,1,1,1,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,1,0,0,1,0,0,0,1,1,1,1,1,0,1,1,1,0,1,0,1,1,0,1,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,1,1,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,1,0,1,1,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,0,1,1,1,1,0,1,0,1,1,1,0,1,0,0,0,0,1,0,0,0,1,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,1,0,0,1,1,1,1,0,1,0,1,0,1,1,1,1,0,0,1,0,0,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,0,1,1,1,0,0,1,1,0,1,0,1,1,1,1,1,1,0,0,0,1,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,1,1,0,0,1,0,1,1,1,1,0,1,1,1,0,0,0,0,0,1,0,0,1,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+      },</span><br><span style="color: hsl(120, 100%, 40%);">+    { /* TSC set 4, table 5.2.3d */</span><br><span style="color: hsl(120, 100%, 40%);">+               { 1,1,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,1,1,0,1,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,1,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,1,1,1,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,1,1,0,0,1,0,0,0,0,0,1,0,1,0,1,0,0,1,1,1,0,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,1,0,1,1,0,0,1,1,1,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,1,0,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 1,1,0,1,0,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,0,1,0,1,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,0,1,0,0,1,1,1,1,1,1,1,0,0,1,0,1,0,1,0,1,1,0,0,0,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+              { 0,1,0,1,1,1,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,1,1,0 },</span><br><span style="color: hsl(120, 100%, 40%);">+      },</span><br><span> };</span><br><span> </span><br><span> const ubit_t _sched_train_seq_8psk_nb[8][78] = {</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-bts/+/24328">change 24328</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/+/24328"/><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: I03fe712da5a3cc1a59f40a98a57f43306c3586c6 </div>
<div style="display:none"> Gerrit-Change-Number: 24328 </div>
<div style="display:none"> Gerrit-PatchSet: 9 </div>
<div style="display:none"> Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>