<p>Vadim Yanitskiy <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/12182">View Change</a></p><div style="white-space:pre-wrap">Approvals:
Jenkins Builder: Verified
Pau Espin Pedrol: Looks good to me, approved
</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">trx_toolkit/burst_fwd.py: properly pass-filter multiple time-slots<br><br>Previously it was only possible to configure a single time-slot<br>that would be pass-filtered by a BurstForwarder instance. In some<br>applications it would be useful to configure multiple time-slots,<br>so let's refactor the time-slot pass-filtering algorithm.<br><br>Change-Id: Ie1490adaf7a7c62c966aeb60c1898eaf3b5a1e84<br>---<br>M src/target/trx_toolkit/burst_fwd.py<br>M src/target/trx_toolkit/ctrl_if_bb.py<br>2 files changed, 19 insertions(+), 8 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/target/trx_toolkit/burst_fwd.py b/src/target/trx_toolkit/burst_fwd.py</span><br><span>index f3eeddd..746b281 100644</span><br><span>--- a/src/target/trx_toolkit/burst_fwd.py</span><br><span>+++ b/src/target/trx_toolkit/burst_fwd.py</span><br><span>@@ -43,11 +43,10 @@</span><br><span> and transmit frequencies. It would be great to distinguish</span><br><span> between RX and TX frequencies for both BTS and MS.</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- - ts_pass - currently active timeslot, configured by the MS.</span><br><span style="color: hsl(0, 100%, 40%);">- It can be activated or deactivated using SETSLOT control</span><br><span style="color: hsl(0, 100%, 40%);">- command from the MS.</span><br><span style="color: hsl(120, 100%, 40%);">+ - ts_pass_list - the list of active (i.e. configured)</span><br><span style="color: hsl(120, 100%, 40%);">+ timeslot numbers for the MS. A timeslot can be activated</span><br><span style="color: hsl(120, 100%, 40%);">+ or deactivated using SETSLOT control command from the MS.</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- FIXME: only a single timeslot can be activated!</span><br><span> FIXME: there is no such list for the BTS side.</span><br><span> </span><br><span> == Preprocessing and measurement simulation</span><br><span>@@ -152,7 +151,7 @@</span><br><span> self.burst_ul_drop_period = 1</span><br><span> </span><br><span> # Init timeslot filter (drop everything by default)</span><br><span style="color: hsl(0, 100%, 40%);">- self.ts_pass = None</span><br><span style="color: hsl(120, 100%, 40%);">+ self.ts_pass_list = []</span><br><span> </span><br><span> # Reset Timing Advance value</span><br><span> self.ta = 0</span><br><span>@@ -288,7 +287,7 @@</span><br><span> return None</span><br><span> </span><br><span> # Timeslot filter</span><br><span style="color: hsl(0, 100%, 40%);">- if msg.tn != self.ts_pass:</span><br><span style="color: hsl(120, 100%, 40%);">+ if msg.tn not in self.ts_pass_list:</span><br><span> return None</span><br><span> </span><br><span> # Path loss simulation</span><br><span>diff --git a/src/target/trx_toolkit/ctrl_if_bb.py b/src/target/trx_toolkit/ctrl_if_bb.py</span><br><span>index 3528c98..97a3d9d 100644</span><br><span>--- a/src/target/trx_toolkit/ctrl_if_bb.py</span><br><span>+++ b/src/target/trx_toolkit/ctrl_if_bb.py</span><br><span>@@ -109,9 +109,21 @@</span><br><span> # TS activation / deactivation</span><br><span> # We don't care about ts_type</span><br><span> if ts_type == 0:</span><br><span style="color: hsl(0, 100%, 40%);">- self.burst_fwd.ts_pass = None</span><br><span style="color: hsl(120, 100%, 40%);">+ # Deactivate TS (remove from TS pass-filter list)</span><br><span style="color: hsl(120, 100%, 40%);">+ if ts in self.burst_fwd.ts_pass_list:</span><br><span style="color: hsl(120, 100%, 40%);">+ self.burst_fwd.ts_pass_list.remove(ts)</span><br><span style="color: hsl(120, 100%, 40%);">+ else:</span><br><span style="color: hsl(120, 100%, 40%);">+ print("[!] TS %u was not activated before" % ts)</span><br><span style="color: hsl(120, 100%, 40%);">+ # TODO: uncomment as soon as RESET is introduced</span><br><span style="color: hsl(120, 100%, 40%);">+ # return -1</span><br><span> else:</span><br><span style="color: hsl(0, 100%, 40%);">- self.burst_fwd.ts_pass = ts</span><br><span style="color: hsl(120, 100%, 40%);">+ # Activate TS (add to TS pass-filter list)</span><br><span style="color: hsl(120, 100%, 40%);">+ if ts not in self.burst_fwd.ts_pass_list:</span><br><span style="color: hsl(120, 100%, 40%);">+ self.burst_fwd.ts_pass_list.append(ts)</span><br><span style="color: hsl(120, 100%, 40%);">+ else:</span><br><span style="color: hsl(120, 100%, 40%);">+ print("[!] TS %u was already activated before" % ts)</span><br><span style="color: hsl(120, 100%, 40%);">+ # TODO: uncomment as soon as RESET is introduced</span><br><span style="color: hsl(120, 100%, 40%);">+ # return -1</span><br><span> </span><br><span> return 0</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/12182">change 12182</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/12182"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: osmocom-bb </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: Ie1490adaf7a7c62c966aeb60c1898eaf3b5a1e84 </div>
<div style="display:none"> Gerrit-Change-Number: 12182 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Vadim Yanitskiy <axilirator@gmail.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder (1000002) </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Vadim Yanitskiy <axilirator@gmail.com> </div>