diff --git a/lib/include/srslte/phy/ch_estimation/chest_dl.h b/lib/include/srslte/phy/ch_estimation/chest_dl.h index 5f7731305..653ee0075 100644 --- a/lib/include/srslte/phy/ch_estimation/chest_dl.h +++ b/lib/include/srslte/phy/ch_estimation/chest_dl.h @@ -113,10 +113,10 @@ SRSLTE_API void srslte_chest_dl_free(srslte_chest_dl_t *q); SRSLTE_API int srslte_chest_dl_set_mbsfn_area_id(srslte_chest_dl_t *q, uint16_t mbsfn_area_id); + SRSLTE_API int srslte_chest_dl_set_cell(srslte_chest_dl_t *q, srslte_cell_t cell); - SRSLTE_API void srslte_chest_dl_set_smooth_filter(srslte_chest_dl_t *q, float *filter, uint32_t filter_len); diff --git a/srsue/src/phy/phch_recv.cc b/srsue/src/phy/phch_recv.cc index 3d8d7f3cf..143fd3b2f 100644 --- a/srsue/src/phy/phch_recv.cc +++ b/srsue/src/phy/phch_recv.cc @@ -363,6 +363,8 @@ void phch_recv::run_thread() cf_t *buffer[SRSLTE_MAX_PORTS] = {NULL}; uint32_t sf_idx = 0; + bool is_end_of_burst = false; + cf_t *dummy_buffer[SRSLTE_MAX_PORTS]; for (int i=0;istart_worker(worker); @@ -505,6 +509,10 @@ void phch_recv::run_thread() if (!radio_h->rx_now(dummy_buffer, nsamples, NULL)) { printf("SYNC: Receiving from radio while in IDLE_RX\n"); } + if (is_end_of_burst) { + radio_h->tx_end(); + is_end_of_burst = true; + } } else { usleep(1000); } @@ -896,6 +904,7 @@ phch_recv::search::ret_code phch_recv::search::run(srslte_cell_t *cell) if (p->srate_mode != SRATE_FIND) { p->srate_mode = SRATE_FIND; p->radio_h->set_rx_srate(1.92e6); + p->radio_h->set_tx_srate(1.92e6); Info("SYNC: Setting Cell Search sampling rate\n"); }