mac: move and check boolean from funcion to caller

Signed-off-by: Carlo Galiotto <carlo@srs.io>
master
Carlo Galiotto 3 years ago committed by carlo-gal
parent 1a52cdcdaa
commit a57ccdabf5

@ -59,7 +59,7 @@ public:
void metrics_phr(float phr);
void metrics_dl_ri(uint32_t dl_cqi);
void metrics_dl_pmi(uint32_t dl_cqi);
void metrics_dl_cqi(const srsran_uci_cfg_nr_t& cfg_, uint32_t dl_cqi, bool valid_cqi);
void metrics_dl_cqi(const srsran_uci_cfg_nr_t& cfg_, uint32_t dl_cqi);
void metrics_dl_mcs(uint32_t mcs);
void metrics_ul_mcs(uint32_t mcs);
void metrics_cnt();

@ -367,7 +367,9 @@ bool mac_nr::handle_uci_data(const uint16_t rnti, const srsran_uci_cfg_nr_t& cfg
}
// Process CQI
ue_db[rnti]->metrics_dl_cqi(cfg_, value.csi->wideband_cri_ri_pmi_cqi.cqi, value.valid);
if (value.valid) {
ue_db[rnti]->metrics_dl_cqi(cfg_, value.csi->wideband_cri_ri_pmi_cqi.cqi);
}
return true;
}

@ -194,14 +194,14 @@ void ue_nr::metrics_read(mac_ue_metrics_t* metrics_)
ue_metrics = {};
}
void ue_nr::metrics_dl_cqi(const srsran_uci_cfg_nr_t& cfg_, uint32_t dl_cqi, bool valid_cqi)
void ue_nr::metrics_dl_cqi(const srsran_uci_cfg_nr_t& cfg_, uint32_t dl_cqi)
{
std::lock_guard<std::mutex> lock(metrics_mutex);
// Process CQI
for (uint32_t i = 0; i < cfg_.nof_csi; i++) {
// Skip if invalid or not supported CSI report
if (not valid_cqi or cfg_.csi[i].cfg.quantity != SRSRAN_CSI_REPORT_QUANTITY_CRI_RI_PMI_CQI or
if (cfg_.csi[i].cfg.quantity != SRSRAN_CSI_REPORT_QUANTITY_CRI_RI_PMI_CQI or
cfg_.csi[i].cfg.freq_cfg != SRSRAN_CSI_REPORT_FREQ_WIDEBAND) {
continue;
}

Loading…
Cancel
Save