<p>Vasil Velichkov would like Piotr Krysik and fixeria to <strong>review</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/gr-gsm/+/14947">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Fix uplink sub_slot assignment in the sdcch8 demapper block<br><br>3GPP TS 45.002 version 15.1.0 Release 15<br>Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5)<br><br>Fixes qa_gsm_sdcch8_demapper.test_uplink test<br><br>Change-Id: I29e9055805c8478010c51ceb40f86ba3aed5ecab<br>---<br>M hier_blocks/demapping/gsm_sdcch8_demapper.grc<br>M python/demapping/gsm_sdcch8_demapper.py<br>M python/qa_gsm_sdcch8_demapper.py<br>3 files changed, 148 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/gr-gsm refs/changes/47/14947/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/hier_blocks/demapping/gsm_sdcch8_demapper.grc b/hier_blocks/demapping/gsm_sdcch8_demapper.grc</span><br><span>index d9496cb..8a1f509 100644</span><br><span>--- a/hier_blocks/demapping/gsm_sdcch8_demapper.grc</span><br><span>+++ b/hier_blocks/demapping/gsm_sdcch8_demapper.grc</span><br><span>@@ -145,7 +145,7 @@</span><br><span>     </param></span><br><span>     <param></span><br><span>       <key>uplink_subslots</key></span><br><span style="color: hsl(0, 100%, 40%);">-      <value>[1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4]</value></span><br><span style="color: hsl(120, 100%, 40%);">+     <value>[5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4]</value></span><br><span>     </param></span><br><span>   </block></span><br><span>   <block></span><br><span>diff --git a/python/demapping/gsm_sdcch8_demapper.py b/python/demapping/gsm_sdcch8_demapper.py</span><br><span>index 3d3a5a0..b412594 100644</span><br><span>--- a/python/demapping/gsm_sdcch8_demapper.py</span><br><span>+++ b/python/demapping/gsm_sdcch8_demapper.py</span><br><span>@@ -51,7 +51,153 @@</span><br><span>         ##################################################</span><br><span>         # Blocks</span><br><span>         ##################################################</span><br><span style="color: hsl(0, 100%, 40%);">-        self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(timeslot_nr, ([0,0,0,0,4,4,4,4,8,8,8,8,12,12,12,12,16,16,16,16,20,20,20,20,24,24,24,24,28,28,28,28,32,32,32,32,36,36,36,36,40,40,40,40,44,44,44,44,0,0,0]), ([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0]), ([0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0]), ([0,0,0,0,4,4,4,4,8,8,8,8,0,0,0,15,15,15,15,19,19,19,19,23,23,23,23,27,27,27,27,31,31,31,31,35,35,35,35,39,39,39,39,43,43,43,43,47,47,47,47]), ([136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,136,136,136,136]), ([1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4]))</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        # 3GPP TS 45.002 version 15.1.0 Release 15</span><br><span style="color: hsl(120, 100%, 40%);">+        # Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5)</span><br><span style="color: hsl(120, 100%, 40%);">+        # SDCCH/8 0 D 0 ... 7 C0 ... Cn NB1 51 B (0 ... 3)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (15 ... 18)</span><br><span style="color: hsl(120, 100%, 40%);">+        #         1 D B (4 ... 7)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (19 ... 22)</span><br><span style="color: hsl(120, 100%, 40%);">+        #         2 D B (8 ... 11)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (23 ... 26)</span><br><span style="color: hsl(120, 100%, 40%);">+        #         3 D B (12 ... 15)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (27 ... 30)</span><br><span style="color: hsl(120, 100%, 40%);">+        #         4 D B (16 ... 19)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (31 ... 34)</span><br><span style="color: hsl(120, 100%, 40%);">+        #         5 D B (20 ... 23)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (35 ... 38)</span><br><span style="color: hsl(120, 100%, 40%);">+        #         6 D B (24 ... 27)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (39 ... 42)</span><br><span style="color: hsl(120, 100%, 40%);">+        #         7 D B (28 ... 31)</span><br><span style="color: hsl(120, 100%, 40%);">+        #           U B (43 ... 46)</span><br><span style="color: hsl(120, 100%, 40%);">+        # SACCH/C8 0 D 0 ... 7 C0 ... Cn NB3 102 B (32 ... 35)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (47 ... 50)</span><br><span style="color: hsl(120, 100%, 40%);">+        #          1 D B (36 ... 39)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (51 ... 54)</span><br><span style="color: hsl(120, 100%, 40%);">+        #          2 D B (40 ... 43)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (55 ... 58)</span><br><span style="color: hsl(120, 100%, 40%);">+        #          3 D B (44 ... 47)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (59 ... 62)</span><br><span style="color: hsl(120, 100%, 40%);">+        #          4 D B (83 ... 86)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (98 ... 101)</span><br><span style="color: hsl(120, 100%, 40%);">+        #          5 D B (87 ... 90)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (0 ... 3)</span><br><span style="color: hsl(120, 100%, 40%);">+        #          6 D B (91 ... 94)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (4 ... 7)</span><br><span style="color: hsl(120, 100%, 40%);">+        #          7 D B (95 ... 98)</span><br><span style="color: hsl(120, 100%, 40%);">+        #            U B (8 ... 11)</span><br><span style="color: hsl(120, 100%, 40%);">+        self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(</span><br><span style="color: hsl(120, 100%, 40%);">+                timeslot_nr, ([ #downlink</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    12,12,12,12,</span><br><span style="color: hsl(120, 100%, 40%);">+                    16,16,16,16,</span><br><span style="color: hsl(120, 100%, 40%);">+                    20,20,20,20,</span><br><span style="color: hsl(120, 100%, 40%);">+                    24,24,24,24,</span><br><span style="color: hsl(120, 100%, 40%);">+                    28,28,28,28,</span><br><span style="color: hsl(120, 100%, 40%);">+                    32,32,32,32,</span><br><span style="color: hsl(120, 100%, 40%);">+                    36,36,36,36,</span><br><span style="color: hsl(120, 100%, 40%);">+                    40,40,40,40,</span><br><span style="color: hsl(120, 100%, 40%);">+                    44,44,44,44,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0</span><br><span style="color: hsl(120, 100%, 40%);">+                ]), ([</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136,</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136,</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136,</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0</span><br><span style="color: hsl(120, 100%, 40%);">+                ]), ([</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    1,1,1,1,</span><br><span style="color: hsl(120, 100%, 40%);">+                    2,2,2,2,</span><br><span style="color: hsl(120, 100%, 40%);">+                    3,3,3,3,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4,</span><br><span style="color: hsl(120, 100%, 40%);">+                    5,5,5,5,</span><br><span style="color: hsl(120, 100%, 40%);">+                    6,6,6,6,</span><br><span style="color: hsl(120, 100%, 40%);">+                    7,7,7,7,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    1,1,1,1,</span><br><span style="color: hsl(120, 100%, 40%);">+                    2,2,2,2,</span><br><span style="color: hsl(120, 100%, 40%);">+                    3,3,3,3,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    1,1,1,1,</span><br><span style="color: hsl(120, 100%, 40%);">+                    2,2,2,2,</span><br><span style="color: hsl(120, 100%, 40%);">+                    3,3,3,3,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4,</span><br><span style="color: hsl(120, 100%, 40%);">+                    5,5,5,5,</span><br><span style="color: hsl(120, 100%, 40%);">+                    6,6,6,6,</span><br><span style="color: hsl(120, 100%, 40%);">+                    7,7,7,7,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4,</span><br><span style="color: hsl(120, 100%, 40%);">+                    5,5,5,5,</span><br><span style="color: hsl(120, 100%, 40%);">+                    6,6,6,6,</span><br><span style="color: hsl(120, 100%, 40%);">+                    7,7,7,7,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0</span><br><span style="color: hsl(120, 100%, 40%);">+                ]), ([ #uplink</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    15,15,15,15,</span><br><span style="color: hsl(120, 100%, 40%);">+                    19,19,19,19,</span><br><span style="color: hsl(120, 100%, 40%);">+                    23,23,23,23,</span><br><span style="color: hsl(120, 100%, 40%);">+                    27,27,27,27,</span><br><span style="color: hsl(120, 100%, 40%);">+                    31,31,31,31,</span><br><span style="color: hsl(120, 100%, 40%);">+                    35,35,35,35,</span><br><span style="color: hsl(120, 100%, 40%);">+                    39,39,39,39,</span><br><span style="color: hsl(120, 100%, 40%);">+                    43,43,43,43,</span><br><span style="color: hsl(120, 100%, 40%);">+                    47,47,47,47</span><br><span style="color: hsl(120, 100%, 40%);">+                ]), ([</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136,</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136,</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    8,8,8,8,</span><br><span style="color: hsl(120, 100%, 40%);">+                    136,136,136,136</span><br><span style="color: hsl(120, 100%, 40%);">+                ]), ([</span><br><span style="color: hsl(120, 100%, 40%);">+                    5,5,5,5,</span><br><span style="color: hsl(120, 100%, 40%);">+                    6,6,6,6,</span><br><span style="color: hsl(120, 100%, 40%);">+                    7,7,7,7,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    1,1,1,1,</span><br><span style="color: hsl(120, 100%, 40%);">+                    2,2,2,2,</span><br><span style="color: hsl(120, 100%, 40%);">+                    3,3,3,3,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4,</span><br><span style="color: hsl(120, 100%, 40%);">+                    5,5,5,5,</span><br><span style="color: hsl(120, 100%, 40%);">+                    6,6,6,6,</span><br><span style="color: hsl(120, 100%, 40%);">+                    7,7,7,7,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    1,1,1,1,</span><br><span style="color: hsl(120, 100%, 40%);">+                    2,2,2,2,</span><br><span style="color: hsl(120, 100%, 40%);">+                    3,3,3,3,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    0,0,0,0,</span><br><span style="color: hsl(120, 100%, 40%);">+                    1,1,1,1,</span><br><span style="color: hsl(120, 100%, 40%);">+                    2,2,2,2,</span><br><span style="color: hsl(120, 100%, 40%);">+                    3,3,3,3,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4,</span><br><span style="color: hsl(120, 100%, 40%);">+                    5,5,5,5,</span><br><span style="color: hsl(120, 100%, 40%);">+                    6,6,6,6,</span><br><span style="color: hsl(120, 100%, 40%);">+                    7,7,7,7,</span><br><span style="color: hsl(120, 100%, 40%);">+                    4,4,4,4</span><br><span style="color: hsl(120, 100%, 40%);">+                ]))</span><br><span> </span><br><span>         ##################################################</span><br><span>         # Connections</span><br><span>diff --git a/python/qa_gsm_sdcch8_demapper.py b/python/qa_gsm_sdcch8_demapper.py</span><br><span>index b5c5ff5..9972bee 100644</span><br><span>--- a/python/qa_gsm_sdcch8_demapper.py</span><br><span>+++ b/python/qa_gsm_sdcch8_demapper.py</span><br><span>@@ -135,7 +135,6 @@</span><br><span>             0, 0, 0, 0,</span><br><span>             ], list(dst.get_sub_slots()))</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    @unittest.expectedFailure</span><br><span>     def test_uplink (self):</span><br><span>         """</span><br><span>            BCCH_CCCH_SDCCH4 demapper uplink test</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/gr-gsm/+/14947">change 14947</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/gr-gsm/+/14947"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: gr-gsm </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I29e9055805c8478010c51ceb40f86ba3aed5ecab </div>
<div style="display:none"> Gerrit-Change-Number: 14947 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vasil Velichkov <vvvelichkov@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Piotr Krysik <ptrkrysik@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>