Change in osmo-trx[master]: Add support for TRXC MUTE command

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/.

laforge gerrit-no-reply at lists.osmocom.org
Wed Sep 2 10:25:53 UTC 2020


laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/19828 )

Change subject: Add support for TRXC MUTE command
......................................................................

Add support for TRXC MUTE command

Related: SYS#4920
Change-Id: I39983d026ad54c479aa224968e9491d01f30dc35
---
M Transceiver52M/Transceiver.cpp
M Transceiver52M/Transceiver.h
2 files changed, 16 insertions(+), 2 deletions(-)

Approvals:
  fixeria: Looks good to me, but someone else must approve
  laforge: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index 32e0226..76ae3d3 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -62,7 +62,8 @@
 }
 
 TransceiverState::TransceiverState()
-  : mFiller(FILLER_ZERO), mRetrans(false), mNoiseLev(0.0), mNoises(NOISE_CNT), mPower(0.0)
+  : mFiller(FILLER_ZERO), mRetrans(false), mNoiseLev(0.0), mNoises(NOISE_CNT),
+    mPower(0.0), mMuted(false)
 {
   for (int i = 0; i < 8; i++) {
     chanType[i] = Transceiver::NONE;
@@ -440,7 +441,7 @@
     state = &mStates[i];
     ratectr_changed = false;
 
-    zeros[i] = state->chanType[TN] == NONE;
+    zeros[i] = state->chanType[TN] == NONE || state->mMuted;
 
     Mutex *mtx = mTxPriorityQueues[i].getMutex();
     mtx->lock();
@@ -678,6 +679,10 @@
     return -ENOENT;
   }
 
+  /* If TRX RF is locked/muted by BTS, send idle burst indications */
+  if (state->mMuted)
+    goto ret_idle;
+
   /* Select the diversity channel with highest energy */
   for (size_t i = 0; i < radio_burst->chans(); i++) {
     float pow = energyDetect(*radio_burst->getVector(i), 20 * mSPSRx);
@@ -1006,6 +1011,12 @@
       mVersionTRXD[chan] = version_recv;
       sprintf(response, "RSP SETFORMAT %u %u", version_recv, version_recv);
     }
+  } else if (match_cmd(command, "RFMUTE", &params)) {
+    // (Un)mute RF TX and RX
+    unsigned mute;
+    sscanf(params, "%u", &mute);
+    mStates[chan].mMuted = mute ? true : false;
+    sprintf(response, "RSP RFMUTE 0 %u", mute);
   } else if (match_cmd(command, "_SETBURSTTODISKMASK", &params)) {
     // debug command! may change or disappear without notice
     // set a mask which bursts to dump to disk
diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h
index 39298aa..7a05ac5 100644
--- a/Transceiver52M/Transceiver.h
+++ b/Transceiver52M/Transceiver.h
@@ -85,6 +85,9 @@
   /* Shadowed downlink attenuation */
   int mPower;
 
+  /* RF emission and reception disabled, as per NM Administrative State Locked */
+  bool mMuted;
+
   /* counters */
   struct trx_counters ctrs;
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/19828
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I39983d026ad54c479aa224968e9491d01f30dc35
Gerrit-Change-Number: 19828
Gerrit-PatchSet: 3
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: tnt <tnt at 246tNt.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200902/b9e3ee76/attachment.htm>


More information about the gerrit-log mailing list