Disabled TX continuous and sleep on cell search

master
Ismael Gomez 7 years ago
parent fb53a515da
commit 0fcb065ae8

@ -253,14 +253,14 @@ private:
n_retx = 0; n_retx = 0;
} }
// Save grant
grant.last_ndi[tid] = cur_grant.ndi[tid];
grant.last_tti = cur_grant.tti;
memcpy(&cur_grant, &grant, sizeof(Tgrant));
// If data has not yet been successfully decoded // If data has not yet been successfully decoded
if (!ack) { if (!ack) {
// Save grant
grant.last_ndi[tid] = cur_grant.ndi[tid];
grant.last_tti = cur_grant.tti;
memcpy(&cur_grant, &grant, sizeof(Tgrant));
// Instruct the PHY To combine the received data and attempt to decode it // Instruct the PHY To combine the received data and attempt to decode it
if (pid == HARQ_BCCH_PID) { if (pid == HARQ_BCCH_PID) {
payload_buffer_ptr = harq_entity->demux_unit->request_buffer_bcch(cur_grant.n_bytes[tid]); payload_buffer_ptr = harq_entity->demux_unit->request_buffer_bcch(cur_grant.n_bytes[tid]);
@ -281,7 +281,8 @@ private:
} else { } else {
action->default_ack[tid] = true; action->default_ack[tid] = true;
Warning("DL PID %d: Received duplicate TB. Discarting and retransmitting ACK\n", pid); Warning("DL PID %d: Received duplicate TB. Discarting and retransmitting ACK (grant_tti=%d, ndi=%d, sz=%d)\n",
pid, cur_grant.tti, cur_grant.ndi[tid], cur_grant.n_bytes[tid]);
} }
if (pid == HARQ_BCCH_PID || harq_entity->timer_aligment_timer->is_expired()) { if (pid == HARQ_BCCH_PID || harq_entity->timer_aligment_timer->is_expired()) {

@ -27,7 +27,7 @@
#ifndef UEPHYWORKERCOMMON_H #ifndef UEPHYWORKERCOMMON_H
#define UEPHYWORKERCOMMON_H #define UEPHYWORKERCOMMON_H
#define TX_MODE_CONTINUOUS 1 #define TX_MODE_CONTINUOUS 0
#include <pthread.h> #include <pthread.h>

@ -935,6 +935,7 @@ phch_recv::search::ret_code phch_recv::search::run(srslte_cell_t *cell)
if (ret < 0) { if (ret < 0) {
Error("SYNC: Error decoding MIB: Error searching PSS\n"); Error("SYNC: Error decoding MIB: Error searching PSS\n");
p->stop_rx();
return ERROR; return ERROR;
} else if (ret == 0) { } else if (ret == 0) {
p->stop_rx(); p->stop_rx();

@ -173,6 +173,7 @@ void nas::plmn_search_end() {
} else { } else {
nas_log->info("Finished searching PLMN in current EARFCN set but no networks were found.\n"); nas_log->info("Finished searching PLMN in current EARFCN set but no networks were found.\n");
if (state == EMM_STATE_REGISTERED_INITIATED && plmn_selection == PLMN_NOT_SELECTED) { if (state == EMM_STATE_REGISTERED_INITIATED && plmn_selection == PLMN_NOT_SELECTED) {
sleep(1);
rrc->plmn_search(); rrc->plmn_search();
} }
} }

Loading…
Cancel
Save