summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/target/trx_toolkit/burst_fwd.py11
-rw-r--r--src/target/trx_toolkit/ctrl_if_bb.py16
2 files changed, 19 insertions, 8 deletions
diff --git a/src/target/trx_toolkit/burst_fwd.py b/src/target/trx_toolkit/burst_fwd.py
index f3eeddda..746b2814 100644
--- a/src/target/trx_toolkit/burst_fwd.py
+++ b/src/target/trx_toolkit/burst_fwd.py
@@ -43,11 +43,10 @@ class BurstForwarder:
and transmit frequencies. It would be great to distinguish
between RX and TX frequencies for both BTS and MS.
- - ts_pass - currently active timeslot, configured by the MS.
- It can be activated or deactivated using SETSLOT control
- command from the MS.
+ - ts_pass_list - the list of active (i.e. configured)
+ timeslot numbers for the MS. A timeslot can be activated
+ or deactivated using SETSLOT control command from the MS.
- FIXME: only a single timeslot can be activated!
FIXME: there is no such list for the BTS side.
== Preprocessing and measurement simulation
@@ -152,7 +151,7 @@ class BurstForwarder:
self.burst_ul_drop_period = 1
# Init timeslot filter (drop everything by default)
- self.ts_pass = None
+ self.ts_pass_list = []
# Reset Timing Advance value
self.ta = 0
@@ -288,7 +287,7 @@ class BurstForwarder:
return None
# Timeslot filter
- if msg.tn != self.ts_pass:
+ if msg.tn not in self.ts_pass_list:
return None
# Path loss simulation
diff --git a/src/target/trx_toolkit/ctrl_if_bb.py b/src/target/trx_toolkit/ctrl_if_bb.py
index 3528c98d..97a3d9df 100644
--- a/src/target/trx_toolkit/ctrl_if_bb.py
+++ b/src/target/trx_toolkit/ctrl_if_bb.py
@@ -109,9 +109,21 @@ class CTRLInterfaceBB(CTRLInterface):
# TS activation / deactivation
# We don't care about ts_type
if ts_type == 0:
- self.burst_fwd.ts_pass = None
+ # Deactivate TS (remove from TS pass-filter list)
+ if ts in self.burst_fwd.ts_pass_list:
+ self.burst_fwd.ts_pass_list.remove(ts)
+ else:
+ print("[!] TS %u was not activated before" % ts)
+ # TODO: uncomment as soon as RESET is introduced
+ # return -1
else:
- self.burst_fwd.ts_pass = ts
+ # Activate TS (add to TS pass-filter list)
+ if ts not in self.burst_fwd.ts_pass_list:
+ self.burst_fwd.ts_pass_list.append(ts)
+ else:
+ print("[!] TS %u was already activated before" % ts)
+ # TODO: uncomment as soon as RESET is introduced
+ # return -1
return 0