[MERGED] osmo-bts[master]: octphy: set tx attenuation via VTY

Harald Welte gerrit-no-reply at lists.osmocom.org
Mon Jan 23 12:23:18 UTC 2017


Harald Welte has submitted this change and it was merged.

Change subject: octphy: set tx attenuation via VTY
......................................................................


octphy: set tx attenuation via VTY

add code to configure the transmision power via VTY

Change-Id: I76bb8660eb1d8baeb6b8f69da4a6ba9ab7319981
---
M include/osmo-bts/phy_link.h
M src/osmo-bts-octphy/l1_oml.c
M src/osmo-bts-octphy/octphy_vty.c
3 files changed, 30 insertions(+), 7 deletions(-)

Approvals:
  Neels Hofmeyr: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/include/osmo-bts/phy_link.h b/include/osmo-bts/phy_link.h
index 6b2f21e..1f8450b 100644
--- a/include/osmo-bts/phy_link.h
+++ b/include/osmo-bts/phy_link.h
@@ -63,6 +63,7 @@
 			/* configuration */
 			uint32_t rf_port_index;
 			uint32_t rx_gain_db;
+			bool tx_atten_flag;
 			uint32_t tx_atten_db;
 #if OCTPHY_MULTI_TRX == 1
 			/* arfcn used by TRX with id 0 */
diff --git a/src/osmo-bts-octphy/l1_oml.c b/src/osmo-bts-octphy/l1_oml.c
index 5865625..da8ff03 100644
--- a/src/osmo-bts-octphy/l1_oml.c
+++ b/src/osmo-bts-octphy/l1_oml.c
@@ -1373,7 +1373,13 @@
 	oc->Config.usTsc = trx->bts->bsic & 0x7;
 	oc->RfConfig.ulRxGainDb = plink->u.octphy.rx_gain_db;
 	/* FIXME: compute this based on nominal transmit power, etc. */
-	oc->RfConfig.ulTxAttndB = plink->u.octphy.tx_atten_db;
+	if (plink->u.octphy.tx_atten_flag) {
+		oc->RfConfig.ulTxAttndB = plink->u.octphy.tx_atten_db;
+	} else {
+		/* Take the Tx Attn received in set radio attribures
+		 * x4 is for the value in db */
+		oc->RfConfig.ulTxAttndB = (trx->max_power_red) << 2;
+	}
 
 #if OCTPHY_MULTI_TRX == 1
 	LOGP(DL1C, LOGL_INFO, "Tx TRX-OPEN.req(trx=%u, rf_port=%u, arfcn=%u, "
diff --git a/src/osmo-bts-octphy/octphy_vty.c b/src/osmo-bts-octphy/octphy_vty.c
index 3ea576c..e134fc5 100644
--- a/src/osmo-bts-octphy/octphy_vty.c
+++ b/src/osmo-bts-octphy/octphy_vty.c
@@ -136,10 +136,16 @@
 }
 
 DEFUN(cfg_phy_tx_atten_db, cfg_phy_tx_atten_db_cmd,
-	"octphy tx-attenuation <0-359>",
-	OCT_STR "Configure the Tx Attenuation in quarter-dB\n"
-	"Tx attenuation in quarter-dB\n")
+	"octphy tx-attenuation (oml|<0-359>)",
+	OCT_STR "Set attenuation on transmitted RF\n"
+	"Use tx-attenuation according to OML instructions from BSC\n"
+	"Fixed tx-attenuation in quarter-dB\n")
 {
+
+
+
+
+
 	struct phy_link *plink = vty->index;
 
 	if (plink->state != PHY_LINK_SHUTDOWN) {
@@ -148,7 +154,12 @@
 		return CMD_WARNING;
 	}
 
-	plink->u.octphy.tx_atten_db = atoi(argv[0]);
+	if (strcmp(argv[0], "oml") == 0) {
+		plink->u.octphy.tx_atten_flag = false;
+	} else {
+		plink->u.octphy.tx_atten_db = atoi(argv[0]);
+		plink->u.octphy.tx_atten_flag = true;
+	}
 
 	return CMD_SUCCESS;
 }
@@ -202,8 +213,13 @@
 		VTY_NEWLINE);
 	vty_out(vty, "  rx-gain %u%s", plink->u.octphy.rx_gain_db,
 		VTY_NEWLINE);
-	vty_out(vty, "  tx-attenuation %u%s", plink->u.octphy.tx_atten_db,
-		VTY_NEWLINE);
+
+	if (plink->u.octphy.tx_atten_flag) {
+		vty_out(vty, "  tx-attenuation %u%s",
+			plink->u.octphy.tx_atten_db, VTY_NEWLINE);
+	} else
+		vty_out(vty, "  tx-attenuation oml%s", VTY_NEWLINE);
+
 	vty_out(vty, "  rf-port-index %u%s", plink->u.octphy.rf_port_index,
 		VTY_NEWLINE);
 }

-- 
To view, visit https://gerrit.osmocom.org/905
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I76bb8660eb1d8baeb6b8f69da4a6ba9ab7319981
Gerrit-PatchSet: 13
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Owner: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>


More information about the gerrit-log mailing list