Pau Espin Pedrol has submitted this change and it was merged. ( 
https://gerrit.osmocom.org/11432 )

Change subject: fake_trx: introduce CTRL commands for RSSI simulation
......................................................................

fake_trx: introduce CTRL commands for RSSI simulation

Since FakeTRX is a proxy, it basically emulates transceiver for
both osmo-bts-trx and trxcon, hence there are two separate and
independent control interfaces (usually, ports 6701 and 5701).

All simulation commands (see 'FAKE_*') are usually implemented
on both interfaces separately:

  - ctrl_if_bb.py - simulation commands affecting Uplink,
  - ctrl_if_bts.py - simulation commands affecting Downlink.

This change introduces the 'FAKE_RSSI' command for both CTRL
interfaces in two variations:

  - absolute: CMD FAKE_RSSI <BASE> <THRESH>
  - relative: CMD FAKE_RSSI <+-BASE_DELTA>

where 'THRESH' affects optional value randomization.

Change-Id: Ic01c31fb0304345dd7337c3ee1c7ee3c2d3e8460
---
M src/target/trx_toolkit/ctrl_if_bb.py
M src/target/trx_toolkit/ctrl_if_bts.py
2 files changed, 42 insertions(+), 0 deletions(-)

Approvals:
  Jenkins Builder: Verified
  Pau Espin Pedrol: Looks good to me, approved



diff --git a/src/target/trx_toolkit/ctrl_if_bb.py 
b/src/target/trx_toolkit/ctrl_if_bb.py
index 808c880..3528c98 100644
--- a/src/target/trx_toolkit/ctrl_if_bb.py
+++ b/src/target/trx_toolkit/ctrl_if_bb.py
@@ -144,6 +144,27 @@

                        return 0

+               # RSSI simulation for Uplink
+               # Absolute form: CMD FAKE_RSSI <BASE> <THRESH>
+               elif self.verify_cmd(request, "FAKE_RSSI", 2):
+                       print("[i] Recv FAKE_RSSI cmd")
+
+                       # Parse and apply both base and threshold
+                       self.burst_fwd.rssi_ul_base = int(request[1])
+                       self.burst_fwd.rssi_ul_threshold = int(request[2])
+
+                       return 0
+
+               # RSSI simulation for Uplink
+               # Relative form: CMD FAKE_RSSI <+-BASE_DELTA>
+               elif self.verify_cmd(request, "FAKE_RSSI", 1):
+                       print("[i] Recv FAKE_RSSI cmd")
+
+                       # Parse and apply delta
+                       self.burst_fwd.rssi_ul_base += int(request[1])
+
+                       return 0
+
                # Path loss simulation for UL: burst dropping
                # Syntax: CMD FAKE_DROP <AMOUNT>
                # Dropping pattern: fn % 1 == 0
diff --git a/src/target/trx_toolkit/ctrl_if_bts.py 
b/src/target/trx_toolkit/ctrl_if_bts.py
index 72a0371..6ac8ffb 100644
--- a/src/target/trx_toolkit/ctrl_if_bts.py
+++ b/src/target/trx_toolkit/ctrl_if_bts.py
@@ -118,6 +118,27 @@

                        return 0

+               # RSSI simulation for Downlink
+               # Absolute form: CMD FAKE_RSSI <BASE> <THRESH>
+               elif self.verify_cmd(request, "FAKE_RSSI", 2):
+                       print("[i] Recv FAKE_RSSI cmd")
+
+                       # Parse and apply both base and threshold
+                       self.burst_fwd.rssi_dl_base = int(request[1])
+                       self.burst_fwd.rssi_dl_threshold = int(request[2])
+
+                       return 0
+
+               # RSSI simulation for Downlink
+               # Relative form: CMD FAKE_RSSI <+-BASE_DELTA>
+               elif self.verify_cmd(request, "FAKE_RSSI", 1):
+                       print("[i] Recv FAKE_RSSI cmd")
+
+                       # Parse and apply delta
+                       self.burst_fwd.rssi_dl_base += int(request[1])
+
+                       return 0
+
                # Path loss simulation for DL: burst dropping
                # Syntax: CMD FAKE_DROP <AMOUNT>
                # Dropping pattern: fn % 1 == 0

--
To view, visit https://gerrit.osmocom.org/11432
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ic01c31fb0304345dd7337c3ee1c7ee3c2d3e8460
Gerrit-Change-Number: 11432
Gerrit-PatchSet: 2
Gerrit-Owner: Pau Espin Pedrol <pes...@sysmocom.de>
Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Pau Espin Pedrol <pes...@sysmocom.de>
Gerrit-Reviewer: Vadim Yanitskiy <axilira...@gmail.com>

Reply via email to