Add neighboring cell measurements
Implement intra-frequency neighboring cell measurements including: - Measurement configuration structures - Blind search and known PCI validation - RSRP measurements for neighbor cells Co-authored-by: Roberto Louro Magueta <rmagueta@allbesmart.pt>
This commit is contained in:
co-authored by
Roberto Louro Magueta
parent
dfd3ad267e
commit
3fdbe01157
@@ -2858,3 +2858,17 @@ void nr_rrc_mac_config_req_cg(module_id_t module_id,
|
||||
ret = pthread_mutex_unlock(&mac->if_mutex);
|
||||
AssertFatal(!ret, "mutex failed %d\n", ret);
|
||||
}
|
||||
|
||||
void nr_rrc_mac_config_req_meas(module_id_t module_id, const nr_neighbor_cell_info_t *neighbor_cells, int num_neighbors)
|
||||
{
|
||||
NR_UE_MAC_INST_t *mac = get_mac_inst(module_id);
|
||||
|
||||
for (int i = 0; i < num_neighbors && i < NUMBER_OF_NEIGHBORING_CELLS_MAX; i++) {
|
||||
fapi_nr_neighboring_cell_t *phy_cell = &mac->phy_config.config_req.meas_config.nr_neighboring_cell[i];
|
||||
phy_cell->Nid_cell = neighbor_cells[i].Nid_cell;
|
||||
phy_cell->ssb_freq = neighbor_cells[i].ssb_freq;
|
||||
phy_cell->active = neighbor_cells[i].active;
|
||||
}
|
||||
|
||||
mac->if_module->phy_config_request(&mac->phy_config);
|
||||
}
|
||||
|
||||
@@ -97,6 +97,14 @@ void nr_rrc_mac_config_other_sib(module_id_t module_id, NR_SIB19_r17_t *sib19_r1
|
||||
void nr_rrc_mac_resume_rb(module_id_t module_id, bool is_srb, int rb_id);
|
||||
void nr_rrc_mac_config_req_reset(module_id_t module_id, NR_UE_MAC_reset_cause_t cause);
|
||||
|
||||
typedef struct nr_neighbor_cell_info {
|
||||
int16_t Nid_cell; // Physical Cell ID
|
||||
uint32_t ssb_freq; // SSB frequency (ARFCN)
|
||||
uint8_t active; // 1 = active, 0 = inactive
|
||||
} nr_neighbor_cell_info_t;
|
||||
|
||||
void nr_rrc_mac_config_req_meas(module_id_t module_id, const nr_neighbor_cell_info_t *neighbor_cells, int num_neighbors);
|
||||
|
||||
/**\brief initialization NR UE MAC instance(s)*/
|
||||
NR_UE_MAC_INST_t * nr_l2_init_ue(int nb_inst);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user