<p>Piotr Krysik <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/13246">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Piotr Krysik: Looks good to me, approved; Verified

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Fix the TCH/H decoder and demapper XML definitions<br><br>- The second argument of tch_h_decoder constructor is a string that<br>  accepts the value of MultiRate configuration element and not an enum<br>  like the tch_f_decoder decoder.<br>- Make the demapper's burst sink required.<br>- Make all parameters visible.<br>- Rename the TCH/H Channel parameter to Sub-channel number.<br>- Add the qa_tch_h_decoder test in the CMakeLists.txt<br>- Fix several typos<br><br>Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd<br>---<br>M apps/grgsm_decode<br>M grc/decoding/gsm_tch_h_decoder.xml<br>M grc/demapping/gsm_tch_h_chans_demapper.xml<br>M python/CMakeLists.txt<br>4 files changed, 26 insertions(+), 40 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/apps/grgsm_decode b/apps/grgsm_decode</span><br><span>index 3bc0db3..4bd1d95 100755</span><br><span>--- a/apps/grgsm_decode</span><br><span>+++ b/apps/grgsm_decode</span><br><span>@@ -344,7 +344,7 @@</span><br><span>     tch_options.add_option("--sub-channel", dest="tch_h_channel", default="0", type='intx',</span><br><span>                            help="TCH/H sub-channel. [default=0]")</span><br><span>     tch_options.add_option("--multi-rate", dest="multi_rate", default="", type='string',</span><br><span style="color: hsl(0, 100%, 40%);">-                           help="The MultiRrate configuration element from the Assignment Command message. "</span><br><span style="color: hsl(120, 100%, 40%);">+                           help="The MultiRate configuration element from the Assignment Command message. "</span><br><span>                            "Example: 28111a40. See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuration")</span><br><span>     tch_options.add_option("--voice-boundary", dest="enable_voice_boundary_detection", action="store_true", default=False,</span><br><span>                            help="Enable voice boundary detection for traffic channels. This can help reduce noice in the output.")</span><br><span>diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml</span><br><span>index 895104e..3936336 100644</span><br><span>--- a/grc/decoding/gsm_tch_h_decoder.xml</span><br><span>+++ b/grc/decoding/gsm_tch_h_decoder.xml</span><br><span>@@ -3,54 +3,27 @@</span><br><span>   <name>TCH/H decoder</name></span><br><span>   <key>gsm_tch_h_decoder</key></span><br><span>   <import>import grgsm</import></span><br><span style="color: hsl(0, 100%, 40%);">-  <make>grgsm.tch_h_decoder($sub_channel, $mode, $boundary_check)</make></span><br><span style="color: hsl(120, 100%, 40%);">+  <make>grgsm.tch_h_decoder($sub_channel, $multi_rate, $boundary_check)</make></span><br><span> </span><br><span>   <param></span><br><span style="color: hsl(0, 100%, 40%);">-    <name>sub-channel number</name></span><br><span style="color: hsl(120, 100%, 40%);">+    <name>Sub-channel number</name></span><br><span>     <key>sub_channel</key></span><br><span>     <value>0</value></span><br><span>     <type>int</type></span><br><span style="color: hsl(120, 100%, 40%);">+    <hide>none</hide></span><br><span>     <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>sub-channel 0</name></span><br><span style="color: hsl(120, 100%, 40%);">+      <name>0</name></span><br><span>       <key>0</key></span><br><span>     </option></span><br><span>     <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>sub-channel 1</name></span><br><span style="color: hsl(120, 100%, 40%);">+      <name>1</name></span><br><span>       <key>1</key></span><br><span>     </option></span><br><span>   </param></span><br><span>   <param></span><br><span style="color: hsl(0, 100%, 40%);">-    <name>TCH/H coding mode</name></span><br><span style="color: hsl(0, 100%, 40%);">-    <key>mode</key></span><br><span style="color: hsl(0, 100%, 40%);">-    <type>enum</type></span><br><span style="color: hsl(0, 100%, 40%);">-    <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>GSM-HS</name></span><br><span style="color: hsl(0, 100%, 40%);">-      <key>grgsm.TCH_HS</key></span><br><span style="color: hsl(0, 100%, 40%);">-    </option></span><br><span style="color: hsl(0, 100%, 40%);">-    <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>GSM-AMR 7.95</name></span><br><span style="color: hsl(0, 100%, 40%);">-      <key>grgsm.TCH_AHS7_95</key></span><br><span style="color: hsl(0, 100%, 40%);">-    </option></span><br><span style="color: hsl(0, 100%, 40%);">-    <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>GSM-AMR 7.4</name></span><br><span style="color: hsl(0, 100%, 40%);">-      <key>grgsm.TCH_AHS7_4</key></span><br><span style="color: hsl(0, 100%, 40%);">-    </option></span><br><span style="color: hsl(0, 100%, 40%);">-    <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>GSM-AMR 6.7</name></span><br><span style="color: hsl(0, 100%, 40%);">-      <key>grgsm.TCH_AHS6_7</key></span><br><span style="color: hsl(0, 100%, 40%);">-    </option></span><br><span style="color: hsl(0, 100%, 40%);">-    <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>GSM-AMR 5.9</name></span><br><span style="color: hsl(0, 100%, 40%);">-      <key>grgsm.TCH_AHS5_9</key></span><br><span style="color: hsl(0, 100%, 40%);">-    </option></span><br><span style="color: hsl(0, 100%, 40%);">-    <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>GSM-AMR 5.15</name></span><br><span style="color: hsl(0, 100%, 40%);">-      <key>grgsm.TCH_AHS5_15</key></span><br><span style="color: hsl(0, 100%, 40%);">-    </option></span><br><span style="color: hsl(0, 100%, 40%);">-    <option></span><br><span style="color: hsl(0, 100%, 40%);">-      <name>GSM-AMR 4.75</name></span><br><span style="color: hsl(0, 100%, 40%);">-      <key>grgsm.TCH_AHS4_75</key></span><br><span style="color: hsl(0, 100%, 40%);">-    </option></span><br><span style="color: hsl(120, 100%, 40%);">+    <name>MultiRate configuration</name></span><br><span style="color: hsl(120, 100%, 40%);">+    <key>multi_rate</key></span><br><span style="color: hsl(120, 100%, 40%);">+    <type>string</type></span><br><span>   </param></span><br><span>   <param></span><br><span>     <name>Voice boundary detection</name></span><br><span>@@ -83,6 +56,11 @@</span><br><span>   </source></span><br><span> </span><br><span>   <doc></span><br><span style="color: hsl(120, 100%, 40%);">+The MultiRate configuration string should contains the hex string from the</span><br><span style="color: hsl(120, 100%, 40%);">+MultiRate configuration element from the Assignment Command message.</span><br><span style="color: hsl(120, 100%, 40%);">+Example: 28111a40.</span><br><span style="color: hsl(120, 100%, 40%);">+See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> If "Voice boundary detection" is enabled, then only bursts are decoded as voice where</span><br><span> </span><br><span> - the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and</span><br><span>diff --git a/grc/demapping/gsm_tch_h_chans_demapper.xml b/grc/demapping/gsm_tch_h_chans_demapper.xml</span><br><span>index f2bd67f..52148f5 100644</span><br><span>--- a/grc/demapping/gsm_tch_h_chans_demapper.xml</span><br><span>+++ b/grc/demapping/gsm_tch_h_chans_demapper.xml</span><br><span>@@ -10,22 +10,29 @@</span><br><span>     <key>timeslot_nr</key></span><br><span>     <value>2</value></span><br><span>     <type>int</type></span><br><span style="color: hsl(0, 100%, 40%);">-    <hide>part</hide></span><br><span style="color: hsl(120, 100%, 40%);">+    <hide>none</hide></span><br><span>   </param></span><br><span> </span><br><span>   <param></span><br><span style="color: hsl(0, 100%, 40%);">-    <name>TCH/H Channel</name></span><br><span style="color: hsl(120, 100%, 40%);">+    <name>Sub-channel number</name></span><br><span>     <key>tch_h_channel</key></span><br><span>     <value>0</value></span><br><span>     <type>int</type></span><br><span style="color: hsl(0, 100%, 40%);">-    <hide>#if $tch_type() == 0 then 'all' else 'none'#</hide></span><br><span style="color: hsl(120, 100%, 40%);">+    <hide>none</hide></span><br><span style="color: hsl(120, 100%, 40%);">+    <option></span><br><span style="color: hsl(120, 100%, 40%);">+      <name>0</name></span><br><span style="color: hsl(120, 100%, 40%);">+      <key>0</key></span><br><span style="color: hsl(120, 100%, 40%);">+    </option></span><br><span style="color: hsl(120, 100%, 40%);">+    <option></span><br><span style="color: hsl(120, 100%, 40%);">+      <name>1</name></span><br><span style="color: hsl(120, 100%, 40%);">+      <key>1</key></span><br><span style="color: hsl(120, 100%, 40%);">+    </option></span><br><span>   </param></span><br><span>   <check>$tch_h_channel() &gt; -1 and $tch_h_channel() &lt; 2</check></span><br><span> </span><br><span>   <sink></span><br><span>     <name>bursts</name></span><br><span>     <type>message</type></span><br><span style="color: hsl(0, 100%, 40%);">-    <optional>1</optional></span><br><span>   </sink></span><br><span>   <source></span><br><span>     <name>tch_bursts</name></span><br><span>diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt</span><br><span>index 22c88a9..21f2507 100644</span><br><span>--- a/python/CMakeLists.txt</span><br><span>+++ b/python/CMakeLists.txt</span><br><span>@@ -58,6 +58,7 @@</span><br><span> GR_ADD_TEST(qa_burst_fnr_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_fnr_filter.py)</span><br><span> GR_ADD_TEST(qa_dummy_burst_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_dummy_burst_filter.py)</span><br><span> GR_ADD_TEST(qa_tch_f_decoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_f_decoder.py)</span><br><span style="color: hsl(120, 100%, 40%);">+GR_ADD_TEST(qa_tch_h_decoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_decoder.py)</span><br><span> GR_ADD_TEST(qa_tch_f_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_f_chans_demapper.py)</span><br><span> GR_ADD_TEST(qa_tch_h_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_chans_demapper.py)</span><br><span> #GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py)</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13246">change 13246</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/13246"/><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-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd </div>
<div style="display:none"> Gerrit-Change-Number: 13246 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </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: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Vasil Velichkov <vvvelichkov@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: fixeria <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-CC: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-CC: Max <msuraev@sysmocom.de> </div>