SRSUE: fix last reported RI state

master
Xavier Arteaga 4 years ago committed by Andre Puschmann
parent 5cef780789
commit d74f70289e

@ -69,6 +69,9 @@ public:
// Time Aligment Controller, internal thread safe // Time Aligment Controller, internal thread safe
ta_control ta; ta_control ta;
// Last reported RI
std::atomic<uint32_t> last_ri = {0};
phy_common(srslog::basic_logger& logger); phy_common(srslog::basic_logger& logger);
~phy_common(); ~phy_common();

@ -807,10 +807,16 @@ uint32_t cc_worker::get_wideband_cqi()
void cc_worker::set_uci_periodic_cqi(srsran_uci_data_t* uci_data) void cc_worker::set_uci_periodic_cqi(srsran_uci_data_t* uci_data)
{ {
// Load last reported RI
ue_dl_cfg.last_ri = phy->last_ri;
srsran_ue_dl_gen_cqi_periodic(&ue_dl, &ue_dl_cfg, get_wideband_cqi(), CURRENT_TTI_TX, uci_data); srsran_ue_dl_gen_cqi_periodic(&ue_dl, &ue_dl_cfg, get_wideband_cqi(), CURRENT_TTI_TX, uci_data);
// Store serving cell index for logging purposes // Store serving cell index for logging purposes
uci_data->cfg.cqi.scell_index = cc_idx; uci_data->cfg.cqi.scell_index = cc_idx;
// Store the reported RI
phy->last_ri = ue_dl_cfg.last_ri;
} }
void cc_worker::set_uci_aperiodic_cqi(srsran_uci_data_t* uci_data) void cc_worker::set_uci_aperiodic_cqi(srsran_uci_data_t* uci_data)

@ -871,6 +871,7 @@ void phy_common::reset()
cur_pusch_power = 0; cur_pusch_power = 0;
sr_last_tx_tti = -1; sr_last_tx_tti = -1;
pcell_report_period = 20; pcell_report_period = 20;
last_ri = 0;
ZERO_OBJECT(pathloss); ZERO_OBJECT(pathloss);
ZERO_OBJECT(avg_sinr_db); ZERO_OBJECT(avg_sinr_db);

Loading…
Cancel
Save