Put back cell_group_config when do-ra
This commit is contained in:
@@ -212,7 +212,7 @@ void config_common_ue(NR_UE_MAC_INST_t *mac,
|
|||||||
frequency_range_t frequency_range = band<100?FR1:FR2;
|
frequency_range_t frequency_range = band<100?FR1:FR2;
|
||||||
|
|
||||||
lte_frame_type_t frame_type = get_frame_type(*scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0], *scc->ssbSubcarrierSpacing);
|
lte_frame_type_t frame_type = get_frame_type(*scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0], *scc->ssbSubcarrierSpacing);
|
||||||
|
|
||||||
// cell config
|
// cell config
|
||||||
|
|
||||||
cfg->cell_config.phy_cell_id = *scc->physCellId;
|
cfg->cell_config.phy_cell_id = *scc->physCellId;
|
||||||
@@ -734,12 +734,26 @@ int nr_rrc_mac_config_req_ue(
|
|||||||
// Setup the SSB to Rach Occasions mapping according to the config
|
// Setup the SSB to Rach Occasions mapping according to the config
|
||||||
build_ssb_to_ro_map(mac);
|
build_ssb_to_ro_map(mac);
|
||||||
}
|
}
|
||||||
else if (cell_group_config != NULL ){
|
else if (cell_group_config != NULL){
|
||||||
LOG_I(MAC,"Applying CellGroupConfig from gNodeB\n");
|
LOG_I(MAC,"Applying CellGroupConfig from gNodeB\n");
|
||||||
mac->cg = cell_group_config;
|
mac->cg = cell_group_config;
|
||||||
mac->servCellIndex = cell_group_config->spCellConfig->servCellIndex ? *cell_group_config->spCellConfig->servCellIndex : 0;
|
mac->servCellIndex = cell_group_config->spCellConfig->servCellIndex ? *cell_group_config->spCellConfig->servCellIndex : 0;
|
||||||
// config_control_ue(mac);
|
if(get_softmodem_params()->phy_test==1 || get_softmodem_params()->do_ra==1) {
|
||||||
// config_common_ue(mac,module_id,cc_idP);
|
config_control_ue(mac);
|
||||||
|
if (cell_group_config->spCellConfig->reconfigurationWithSync) {
|
||||||
|
if (cell_group_config->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated) {
|
||||||
|
ra->rach_ConfigDedicated = cell_group_config->spCellConfig->reconfigurationWithSync->rach_ConfigDedicated->choice.uplink;
|
||||||
|
}
|
||||||
|
mac->scc = cell_group_config->spCellConfig->reconfigurationWithSync->spCellConfigCommon;
|
||||||
|
config_common_ue(mac,module_id,cc_idP);
|
||||||
|
mac->crnti = cell_group_config->spCellConfig->reconfigurationWithSync->newUE_Identity;
|
||||||
|
LOG_I(MAC,"Configuring CRNTI %x\n",mac->crnti);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setup the SSB to Rach Occasions mapping according to the config
|
||||||
|
build_ssb_to_ro_map(mac);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
if(mac_cell_group_configP != NULL){
|
if(mac_cell_group_configP != NULL){
|
||||||
if(mac_cell_group_configP->drx_Config != NULL ){
|
if(mac_cell_group_configP->drx_Config != NULL ){
|
||||||
|
|||||||
@@ -52,17 +52,26 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst)
|
|||||||
//init mac here
|
//init mac here
|
||||||
nr_ue_mac_inst = (NR_UE_MAC_INST_t *)calloc(sizeof(NR_UE_MAC_INST_t),NB_NR_UE_MAC_INST);
|
nr_ue_mac_inst = (NR_UE_MAC_INST_t *)calloc(sizeof(NR_UE_MAC_INST_t),NB_NR_UE_MAC_INST);
|
||||||
for (int j=0;j<NB_NR_UE_MAC_INST;j++)
|
for (int j=0;j<NB_NR_UE_MAC_INST;j++)
|
||||||
for (int i=0;i<NR_MAX_HARQ_PROCESSES;i++) nr_ue_mac_inst[j].first_ul_tx[i]=1;
|
for (int i=0;i<NR_MAX_HARQ_PROCESSES;i++)
|
||||||
|
nr_ue_mac_inst[j].first_ul_tx[i]=1;
|
||||||
|
|
||||||
if (rrc_inst && rrc_inst->scell_group_config) {
|
if (rrc_inst && (rrc_inst->scell_group_config || rrc_inst->cell_group_config)) {
|
||||||
nr_rrc_mac_config_req_ue(0,0,0,NULL,NULL,NULL,rrc_inst->scell_group_config);
|
|
||||||
|
if(rrc_inst->scell_group_config) {
|
||||||
// if (IS_SOFTMODEM_NOS1){
|
nr_rrc_mac_config_req_ue(0,0,0,NULL,NULL,NULL,rrc_inst->scell_group_config);
|
||||||
//if (1) {
|
//if (IS_SOFTMODEM_NOS1){
|
||||||
// AssertFatal(rlc_module_init(0) == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__);
|
// AssertFatal(rlc_module_init(0) == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__);
|
||||||
// nr_pdcp_layer_init();
|
// nr_pdcp_layer_init();
|
||||||
//nr_DRB_preconfiguration(nr_ue_mac_inst->crnti);
|
// nr_DRB_preconfiguration(nr_ue_mac_inst->crnti);
|
||||||
//}
|
//}
|
||||||
|
} else if (rrc_inst->cell_group_config) {
|
||||||
|
nr_rrc_mac_config_req_ue(0,0,0,NULL,NULL,rrc_inst->cell_group_config,NULL);
|
||||||
|
if (IS_SOFTMODEM_NOS1){
|
||||||
|
AssertFatal(rlc_module_init(0) == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__);
|
||||||
|
pdcp_layer_init();
|
||||||
|
nr_DRB_preconfiguration(nr_ue_mac_inst->crnti);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Allocate memory for ul_config_request in the mac instance. This is now a pointer and will
|
// Allocate memory for ul_config_request in the mac instance. This is now a pointer and will
|
||||||
// point to a list of structures (one for each UL slot) to store PUSCH scheduling parameters
|
// point to a list of structures (one for each UL slot) to store PUSCH scheduling parameters
|
||||||
@@ -74,8 +83,8 @@ NR_UE_MAC_INST_t * nr_l2_init_ue(NR_UE_RRC_INST_t* rrc_inst)
|
|||||||
LOG_D(MAC, "Initializing ul_config_request. num_slots_ul = %d\n", num_slots_ul);
|
LOG_D(MAC, "Initializing ul_config_request. num_slots_ul = %d\n", num_slots_ul);
|
||||||
nr_ue_mac_inst->ul_config_request = (fapi_nr_ul_config_request_t *)calloc(num_slots_ul, sizeof(fapi_nr_ul_config_request_t));
|
nr_ue_mac_inst->ul_config_request = (fapi_nr_ul_config_request_t *)calloc(num_slots_ul, sizeof(fapi_nr_ul_config_request_t));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
} else {
|
||||||
LOG_I(MAC,"Running without CellGroupConfig\n");
|
LOG_I(MAC,"Running without CellGroupConfig\n");
|
||||||
nr_rrc_mac_config_req_ue(0,0,0,NULL,NULL,NULL,NULL);
|
nr_rrc_mac_config_req_ue(0,0,0,NULL,NULL,NULL,NULL);
|
||||||
AssertFatal(rlc_module_init(0) == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__);
|
AssertFatal(rlc_module_init(0) == 0, "%s: Could not initialize RLC layer\n", __FUNCTION__);
|
||||||
|
|||||||
Reference in New Issue
Block a user