<p>pespin has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">srsue,srsenb: Fix zmq base_rate calculation and share value<br><br>Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442<br>---<br>M src/osmo_gsm_tester/srs_enb.py<br>M src/osmo_gsm_tester/srs_ue.py<br>2 files changed, 52 insertions(+), 14 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/12/17312/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/srs_enb.py b/src/osmo_gsm_tester/srs_enb.py</span><br><span>index 85180e4..1cfd212 100644</span><br><span>--- a/src/osmo_gsm_tester/srs_enb.py</span><br><span>+++ b/src/osmo_gsm_tester/srs_enb.py</span><br><span>@@ -25,6 +25,25 @@</span><br><span> def rf_type_valid(rf_type_str):</span><br><span>     return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF')</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#reference: srsLTE.git srslte_symbol_sz()</span><br><span style="color: hsl(120, 100%, 40%);">+def num_prb2symbol_sz(num_prb):</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 6:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 128</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 15:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 256</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 25:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 384</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 50:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 768</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 75:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 1024</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 110:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 1536</span><br><span style="color: hsl(120, 100%, 40%);">+    raise log.Error('invalid num_prb %r', num_prb)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+def num_prb2base_srate(num_prb):</span><br><span style="color: hsl(120, 100%, 40%);">+    return num_prb2symbol_sz(num_prb) * 15 * 1000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> class srsENB(log.Origin):</span><br><span> </span><br><span>     REMOTE_DIR = '/osmo-gsm-tester-srsenb'</span><br><span>@@ -56,6 +75,7 @@</span><br><span>         self.remote_config_rr_file = None</span><br><span>         self.remote_config_drb_file = None</span><br><span>         self.remote_log_file = None</span><br><span style="color: hsl(120, 100%, 40%);">+        self._num_prb = 0</span><br><span>         self.suite_run = suite_run</span><br><span>         self.remote_user = conf.get('remote_user', None)</span><br><span>         if not rf_type_valid(conf.get('rf_dev_type', None)):</span><br><span>@@ -161,15 +181,12 @@</span><br><span> </span><br><span>         # We need to set some specific variables programatically here to match IP addresses:</span><br><span>         if self._conf.get('rf_dev_type') == 'zmq':</span><br><span style="color: hsl(0, 100%, 40%);">-            num_prb = values['enb'].get('num_prb', None)</span><br><span style="color: hsl(0, 100%, 40%);">-            assert num_prb</span><br><span style="color: hsl(0, 100%, 40%);">-            if num_prb == 75:</span><br><span style="color: hsl(0, 100%, 40%);">-              base_srate=15.36e6</span><br><span style="color: hsl(0, 100%, 40%);">-            else:</span><br><span style="color: hsl(0, 100%, 40%);">-              base_srate=23.04e6</span><br><span style="color: hsl(120, 100%, 40%);">+            self._num_prb = int(values['enb'].get('num_prb', None))</span><br><span style="color: hsl(120, 100%, 40%);">+            assert self._num_prb</span><br><span style="color: hsl(120, 100%, 40%);">+            base_srate = num_prb2base_srate(self._num_prb)</span><br><span>             rf_dev_args = 'fail_on_disconnect=true,tx_port=tcp://' + self.addr() \</span><br><span style="color: hsl(0, 100%, 40%);">-                        + ':2000,rx_port=tcp://'+ self.ue.addr() \</span><br><span style="color: hsl(0, 100%, 40%);">-                        + ':2001,id=enb,base_srate='+ str(base_srate)</span><br><span style="color: hsl(120, 100%, 40%);">+                        + ':2000,rx_port=tcp://' + self.ue.addr() \</span><br><span style="color: hsl(120, 100%, 40%);">+                        + ':2001,id=enb,base_srate=' + str(base_srate)</span><br><span>             config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args)))</span><br><span> </span><br><span>         self.dbg('srsENB ' + filename + ':\n' + pprint.pformat(values))</span><br><span>@@ -202,4 +219,7 @@</span><br><span>     def addr(self):</span><br><span>         return self._addr</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def num_prb(self):</span><br><span style="color: hsl(120, 100%, 40%);">+        return self._num_prb</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> # vim: expandtab tabstop=4 shiftwidth=4</span><br><span>diff --git a/src/osmo_gsm_tester/srs_ue.py b/src/osmo_gsm_tester/srs_ue.py</span><br><span>index 8c6f73a..cbd8a68 100644</span><br><span>--- a/src/osmo_gsm_tester/srs_ue.py</span><br><span>+++ b/src/osmo_gsm_tester/srs_ue.py</span><br><span>@@ -27,6 +27,25 @@</span><br><span> def rf_type_valid(rf_type_str):</span><br><span>     return rf_type_str in ('zmq', 'UHD', 'soapy', 'bladeRF')</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+#reference: srsLTE.git srslte_symbol_sz()</span><br><span style="color: hsl(120, 100%, 40%);">+def num_prb2symbol_sz(num_prb):</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 6:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 128</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 15:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 256</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 25:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 384</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 50:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 768</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 75:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 1024</span><br><span style="color: hsl(120, 100%, 40%);">+    if num_prb <= 110:</span><br><span style="color: hsl(120, 100%, 40%);">+        return 1536</span><br><span style="color: hsl(120, 100%, 40%);">+    raise log.Error('invalid num_prb %r', num_prb)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+def num_prb2base_srate(num_prb):</span><br><span style="color: hsl(120, 100%, 40%);">+    return num_prb2symbol_sz(num_prb) * 15 * 1000</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> class srsUE(MS):</span><br><span> </span><br><span>     REMOTE_DIR = '/osmo-gsm-tester-srsue'</span><br><span>@@ -54,11 +73,6 @@</span><br><span>         self.remote_pcap_file = None</span><br><span>         self.remote_metrics_file = None</span><br><span>         self.suite_run = suite_run</span><br><span style="color: hsl(0, 100%, 40%);">-        self.nof_prb=50</span><br><span style="color: hsl(0, 100%, 40%);">-        if self.nof_prb == 75:</span><br><span style="color: hsl(0, 100%, 40%);">-          self.base_srate=15.36e6</span><br><span style="color: hsl(0, 100%, 40%);">-        else:</span><br><span style="color: hsl(0, 100%, 40%);">-          self.base_srate=23.04e6</span><br><span>         self.remote_user = conf.get('remote_user', None)</span><br><span>         if not rf_type_valid(conf.get('rf_dev_type', None)):</span><br><span>             raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None))</span><br><span>@@ -198,7 +212,11 @@</span><br><span> </span><br><span>         # We need to set some specific variables programatically here to match IP addresses:</span><br><span>         if self._conf.get('rf_dev_type') == 'zmq':</span><br><span style="color: hsl(0, 100%, 40%);">-            config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://'+ self.addr() +':2001,rx_port=tcp://'+ self.enb.addr() +':2000,id=ue,base_srate='+ str(self.base_srate))))</span><br><span style="color: hsl(120, 100%, 40%);">+            base_srate = num_prb2base_srate(self.enb.num_prb())</span><br><span style="color: hsl(120, 100%, 40%);">+            config.overlay(values, dict(ue=dict(rf_dev_args='tx_port=tcp://' + self.addr()</span><br><span style="color: hsl(120, 100%, 40%);">+                                                           +':2001,rx_port=tcp://' + self.enb.addr()</span><br><span style="color: hsl(120, 100%, 40%);">+                                                           +':2000,id=ue,base_srate='+ str(base_srate)</span><br><span style="color: hsl(120, 100%, 40%);">+                                                )))</span><br><span> </span><br><span>         self.dbg('SRSUE CONFIG:\n' + pprint.pformat(values))</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17312">change 17312</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-gsm-tester/+/17312"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I3e7817e822fb4d1f8bc9ef798162edf95a74d442 </div>
<div style="display:none"> Gerrit-Change-Number: 17312 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>