Change in osmocom-bb[master]: trx_toolkit/transceiver.py: add optional transceiver name

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Mon Jan 14 01:22:41 UTC 2019


Vadim Yanitskiy has uploaded this change for review. ( https://gerrit.osmocom.org/12549


Change subject: trx_toolkit/transceiver.py: add optional transceiver name
......................................................................

trx_toolkit/transceiver.py: add optional transceiver name

Since fake_trx.py can handle multiple transceivers, it may be useful
to name transceivers. If transceiver has some name, it will appear
in logging messages, for example:

  [INFO] transceiver.py:104 Init transceiver 'BTS at 127.0.0.1:5700'
  [INFO] transceiver.py:104 Init transceiver 'MS at 127.0.0.1:6700'
  [INFO] transceiver.py:104 Init transceiver '127.0.0.1:5700/1'

This change additionally assigns names to the both default
transceivers, and extends the '--trx' option with ability
to specify some name, for example:

  --trx foo at 127.0.0.1:5700 or --trx bar at 127.0.0.1:5700/1
  --trx ipv6@[2001:0db8:85a3:0000:0000:8a2e:0370:7334]:6700

Change-Id: I2f58f02e7819bb008b8aab1a8bf9e0adeb2e44ec
---
M src/target/trx_toolkit/fake_trx.py
M src/target/trx_toolkit/transceiver.py
2 files changed, 26 insertions(+), 13 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/49/12549/1

diff --git a/src/target/trx_toolkit/fake_trx.py b/src/target/trx_toolkit/fake_trx.py
index 294a819..928333f 100755
--- a/src/target/trx_toolkit/fake_trx.py
+++ b/src/target/trx_toolkit/fake_trx.py
@@ -288,31 +288,34 @@
 		self.fake_pm.trx_list = self.trx_list
 
 		# Init TRX instance for BTS
-		self.append_trx(self.argv.bts_addr, self.argv.bts_base_port)
+		self.append_trx(self.argv.bts_addr,
+			self.argv.bts_base_port, name = "BTS")
 
 		# Init TRX instance for BB
-		self.append_trx(self.argv.bb_addr, self.argv.bb_base_port)
+		self.append_trx(self.argv.bb_addr,
+			self.argv.bb_base_port, name = "MS")
 
 		# Additional transceivers (optional)
 		if self.argv.trx_list is not None:
 			for trx_def in self.argv.trx_list:
-				(addr, port, idx) = trx_def
-				self.append_child_trx(addr, port, idx)
+				(name, addr, port, idx) = trx_def
+				self.append_child_trx(addr, port, idx, name)
 
 		# Burst forwarding between transceivers
 		self.burst_fwd = BurstForwarder(self.trx_list)
 
 		log.info("Init complete")
 
-	def append_trx(self, remote_addr, base_port):
+	def append_trx(self, remote_addr, base_port, name = None):
 		trx = FakeTRX(self.argv.trx_bind_addr, remote_addr, base_port,
-			clck_gen = self.clck_gen, pwr_meas = self.fake_pm)
+			clck_gen = self.clck_gen, pwr_meas = self.fake_pm,
+			name = name)
 		self.trx_list.add_trx(trx)
 
-	def append_child_trx(self, remote_addr, base_port, child_idx):
+	def append_child_trx(self, remote_addr, base_port, child_idx, name = None):
 		# Index 0 corresponds to the first transceiver
 		if child_idx is 0:
-			self.append_trx(remote_addr, base_port)
+			self.append_trx(remote_addr, base_port, name)
 			return
 
 		# Find 'parent' transceiver for a new child
@@ -323,7 +326,7 @@
 
 		# Allocate a new child
 		trx_child = FakeTRX(self.argv.trx_bind_addr, remote_addr, base_port,
-			child_idx = child_idx, pwr_meas = self.fake_pm)
+			child_idx = child_idx, pwr_meas = self.fake_pm, name = name)
 		self.trx_list.add_trx(trx_child)
 
 		# Link a new 'child' with its 'parent'
@@ -363,11 +366,12 @@
 	# format: REMOTE_ADDR:BIND_PORT[/TRX_NUM]
 	# e.g. [2001:0db8:85a3:0000:0000:8a2e:0370:7334]:5700/5
 	# e.g. 127.0.0.1:5700 or 127.0.0.1:5700/1
+	# e.g. foo at 127.0.0.1:5700 or bar at 127.0.0.1:5700/1
 	@staticmethod
 	def trx_def(val):
 		try:
-			result = re.match("(.+):([0-9]+)(\/[0-9]+)?", val)
-			(addr, port, idx) = result.groups()
+			result = re.match("(.+@)?(.+):([0-9]+)(\/[0-9]+)?", val)
+			(name, addr, port, idx) = result.groups()
 		except:
 			raise argparse.ArgumentTypeError("Invalid TRX definition: %s" % val)
 
@@ -376,7 +380,11 @@
 		else:
 			idx = 0
 
-		return (addr, int(port), idx)
+		# Cut '@' from TRX name
+		if name is not None:
+			name = name[:-1]
+
+		return (name, addr, int(port), idx)
 
 	def parse_argv(self):
 		parser = argparse.ArgumentParser(prog = "fake_trx",
diff --git a/src/target/trx_toolkit/transceiver.py b/src/target/trx_toolkit/transceiver.py
index 55e4ebd..fcbb61d 100644
--- a/src/target/trx_toolkit/transceiver.py
+++ b/src/target/trx_toolkit/transceiver.py
@@ -90,7 +90,7 @@
 
 	"""
 
-	def __init__(self, bind_addr, remote_addr, base_port,
+	def __init__(self, bind_addr, remote_addr, base_port, name = None,
 			child_idx = 0, clck_gen = None, pwr_meas = None):
 		# Connection info
 		self.remote_addr = remote_addr
@@ -98,6 +98,9 @@
 		self.base_port = base_port
 		self.child_idx = child_idx
 
+		# Meta info
+		self.name = name
+
 		log.info("Init transceiver '%s'" % self)
 
 		# Child transceiver cannot have its own clock
@@ -141,6 +144,8 @@
 		desc = "%s:%d" % (self.remote_addr, self.base_port)
 		if self.child_idx > 0:
 			desc += "/%d" % self.child_idx
+		if self.name is not None:
+			desc = "%s@%s" % (self.name, desc)
 
 		return desc
 

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

Gerrit-Project: osmocom-bb
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2f58f02e7819bb008b8aab1a8bf9e0adeb2e44ec
Gerrit-Change-Number: 12549
Gerrit-PatchSet: 1
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190114/25c0f51a/attachment.htm>


More information about the gerrit-log mailing list