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>