consider enb sib config when activating UL 64QAM

master
Francisco Paisana 4 years ago committed by Andre Puschmann
parent bf7c587e4f
commit b369d6d5d5

@ -62,10 +62,9 @@ void ue_cfg_apply_srb_updates(ue_cfg_t& ue_cfg, const srb_to_add_mod_list_l& srb
* Adds to sched_interface::ue_cfg_t the changes present in the asn1 RRCReconfiguration message that should
* only take effect after the RRCReconfigurationComplete is received
*/
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
const rrc_conn_recfg_r8_ies_s& conn_recfg,
const cell_ctxt_dedicated_list& ue_cell_list,
const srslte::rrc_ue_capabilities_t& uecaps);
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
const rrc_conn_recfg_r8_ies_s& conn_recfg,
const cell_ctxt_dedicated_list& ue_cell_list);
/**
* Adds to sched_interface::ue_cfg_t the changes present in the asn1 RRCReconfiguration message related to
@ -73,6 +72,8 @@ void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& u
*/
void ue_cfg_apply_phy_cfg_ded(ue_cfg_t& ue_cfg, const asn1::rrc::phys_cfg_ded_s& phy_cfg, const rrc_cfg_t& rrc_cfg);
void ue_cfg_apply_capabilities(ue_cfg_t& ue_cfg, const rrc_cfg_t& rrc_cfg, const srslte::rrc_ue_capabilities_t& uecaps);
/***************************
* MAC Controller class
**************************/
@ -201,7 +202,8 @@ void rrc::ue::mac_controller::handle_con_reconf(const asn1::rrc::rrc_conn_recfg_
// Store MAC updates that are applied once RRCReconfigurationComplete is received
next_sched_ue_cfg = current_sched_ue_cfg;
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list, uecaps);
ue_cfg_apply_capabilities(next_sched_ue_cfg, *rrc_cfg, uecaps);
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list);
// Temporarily freeze new allocations for DRBs (SRBs are needed to send RRC Reconf Message)
set_drb_activation(false);
@ -248,7 +250,8 @@ void rrc::ue::mac_controller::handle_target_enb_ho_cmd(const asn1::rrc::rrc_conn
}
next_sched_ue_cfg = current_sched_ue_cfg;
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list, uecaps);
ue_cfg_apply_capabilities(next_sched_ue_cfg, *rrc_cfg, uecaps);
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list);
// Temporarily freeze new allocations for DRBs (SRBs are needed to send RRC Reconf Message)
set_drb_activation(false);
@ -269,7 +272,8 @@ void rrc::ue::mac_controller::handle_intraenb_ho_cmd(const asn1::rrc::rrc_conn_r
if (conn_recfg.rr_cfg_ded_present and conn_recfg.rr_cfg_ded.phys_cfg_ded_present) {
ue_cfg_apply_phy_cfg_ded(next_sched_ue_cfg, conn_recfg.rr_cfg_ded.phys_cfg_ded, *rrc_cfg);
}
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list, uecaps);
ue_cfg_apply_capabilities(next_sched_ue_cfg, *rrc_cfg, uecaps);
ue_cfg_apply_reconf_complete_updates(next_sched_ue_cfg, conn_recfg, rrc_ue->cell_ded_list);
// Freeze SCells
// NOTE: this avoids that the UE receives an HOCmd retx from target cell and do an incorrect RLC-level concatenation
@ -385,10 +389,9 @@ void ue_cfg_apply_srb_updates(ue_cfg_t& ue_cfg, const srb_to_add_mod_list_l& srb
}
}
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
const rrc_conn_recfg_r8_ies_s& conn_recfg,
const cell_ctxt_dedicated_list& ue_cell_list,
const srslte::rrc_ue_capabilities_t& uecaps)
void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& ue_cfg,
const rrc_conn_recfg_r8_ies_s& conn_recfg,
const cell_ctxt_dedicated_list& ue_cell_list)
{
// Configure RadioResourceConfigDedicated
if (conn_recfg.rr_cfg_ded_present) {
@ -453,11 +456,12 @@ void ue_cfg_apply_reconf_complete_updates(ue_cfg_t& u
}
}
}
}
// Params non-dependent on Reconf message content
if (uecaps.support_ul_64qam) {
ue_cfg.support_ul_64qam = true;
}
void ue_cfg_apply_capabilities(ue_cfg_t& ue_cfg, const rrc_cfg_t& rrc_cfg, const srslte::rrc_ue_capabilities_t& uecaps)
{
ue_cfg.support_ul_64qam =
uecaps.support_ul_64qam and rrc_cfg.sibs[1].sib2().rr_cfg_common.pusch_cfg_common.pusch_cfg_basic.enable64_qam;
}
} // namespace srsenb

Loading…
Cancel
Save