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/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has submitted this change and it was merged. ( https://gerrit.osmocom.org/c/osmo-trx/+/15436 )
Change subject: Transceiver: Don't stop TRX if pulling from OFF timeslot
......................................................................
Transceiver: Don't stop TRX if pulling from OFF timeslot
BTS may have any timeslot disabled, or may have not yet sent initial
SETSLOT cmd to properly configure the timeslot.
Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f
---
M Transceiver52M/Transceiver.cpp
M Transceiver52M/Transceiver.h
2 files changed, 17 insertions(+), 9 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, but someone else must approve
pespin: Looks good to me, approved
diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index 3901997..2f4018c 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -587,9 +587,11 @@
/*
* Pull bursts from the FIFO and handle according to the slot
* and burst correlation type. Equalzation is currently disabled.
- * returns true on success (bi filled), false on error (bi content undefined).
+ * returns 0 on success (bi filled), negative on error (bi content undefined):
+ * -ENOENT: timeslot is off (fn and tn in bi are filled),
+ * -EIO: read error
*/
-bool Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi)
+int Transceiver::pullRadioVector(size_t chan, struct trx_ul_burst_ind *bi)
{
int rc;
struct estim_burst_params ebp;
@@ -605,7 +607,7 @@
radioVector *radio_burst = mReceiveFIFO[chan]->read();
if (!radio_burst) {
LOGCHAN(chan, DMAIN, ERROR) << "ReceiveFIFO->read() returned no burst";
- return false;
+ return -EIO;
}
/* Set time and determine correlation type */
@@ -635,7 +637,7 @@
* Not even power level or noise calculation. */
if (type == OFF) {
delete radio_burst;
- return false;
+ return -ENOENT;
}
/* Select the diversity channel with highest energy */
@@ -702,12 +704,12 @@
delete rxBurst;
delete radio_burst;
- return true;
+ return 0;
ret_idle:
bi->idle = true;
delete radio_burst;
- return true;
+ return 0;
}
void Transceiver::reset()
@@ -1032,9 +1034,15 @@
bool Transceiver::driveReceiveFIFO(size_t chan)
{
struct trx_ul_burst_ind bi;
+ int rc;
- if (!pullRadioVector(chan, &bi))
- return false;
+ if ((rc = pullRadioVector(chan, &bi)) < 0) {
+ if (rc == -ENOENT) { /* timeslot off, continue processing */
+ LOGCHAN(chan, DMAIN, DEBUG) << unsigned(bi.tn) << ":" << bi.fn << " timeslot is off";
+ return true;
+ }
+ return false; /* other errors: we want to stop the process */
+ }
if (!bi.idle)
logRxBurst(chan, &bi);
diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h
index 0d09854..30f6a60 100644
--- a/Transceiver52M/Transceiver.h
+++ b/Transceiver52M/Transceiver.h
@@ -182,7 +182,7 @@
void pushRadioVector(GSM::Time &nowTime);
/** Pull and demodulate a burst from the receive FIFO */
- bool pullRadioVector(size_t chan, struct trx_ul_burst_ind *ind);
+ int pullRadioVector(size_t chan, struct trx_ul_burst_ind *ind);
/** Set modulus for specific timeslot */
void setModulus(size_t timeslot, size_t chan);
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15436
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: Icf62e5d1200c7a440f255bb46023cdbf61532b7f
Gerrit-Change-Number: 15436
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <axilirator at gmail.com>
Gerrit-Reviewer: laforge <laforge at gnumonks.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190913/64d3bc26/attachment.htm>