Add support for band in neighbourConfiguration
This commit is contained in:
@@ -2057,6 +2057,7 @@ static void fill_neighbour_cell_configuration(uint8_t gnb_idx, gNB_RRC_INST *rrc
|
|||||||
neighbourCell.nrcell_id = (uint64_t) * (NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_NR_CELLID_IDX].u64ptr);
|
neighbourCell.nrcell_id = (uint64_t) * (NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_NR_CELLID_IDX].u64ptr);
|
||||||
neighbourCell.physicalCellId = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_PHYSICAL_ID_IDX].uptr;
|
neighbourCell.physicalCellId = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_PHYSICAL_ID_IDX].uptr;
|
||||||
neighbourCell.subcarrierSpacing = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_SCS_IDX].uptr;
|
neighbourCell.subcarrierSpacing = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_SCS_IDX].uptr;
|
||||||
|
neighbourCell.band = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_BAND_IDX].uptr;
|
||||||
neighbourCell.absoluteFrequencySSB = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_ABS_FREQ_SSB_IDX].i64ptr;
|
neighbourCell.absoluteFrequencySSB = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_ABS_FREQ_SSB_IDX].i64ptr;
|
||||||
neighbourCell.tac = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_TAC_IDX].uptr;
|
neighbourCell.tac = *NeighbourCellParamList.paramarray[l][GNB_CONFIG_N_CELL_TAC_IDX].uptr;
|
||||||
|
|
||||||
|
|||||||
@@ -308,6 +308,7 @@ typedef enum {
|
|||||||
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_PHYSICAL_ID "physical_cellId"
|
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_PHYSICAL_ID "physical_cellId"
|
||||||
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_ABS_FREQ_SSB "absoluteFrequencySSB"
|
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_ABS_FREQ_SSB "absoluteFrequencySSB"
|
||||||
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_SCS "subcarrierSpacing"
|
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_SCS "subcarrierSpacing"
|
||||||
|
#define GNB_CONFIG_STRING_NEIGHBOUR_CELL_BAND "band"
|
||||||
#define GNB_CONFIG_STRING_NEIGHBOUR_TRACKING_ARE_CODE "tracking_area_code"
|
#define GNB_CONFIG_STRING_NEIGHBOUR_TRACKING_ARE_CODE "tracking_area_code"
|
||||||
#define GNB_CONFIG_STRING_NEIGHBOUR_PLMN "plmn"
|
#define GNB_CONFIG_STRING_NEIGHBOUR_PLMN "plmn"
|
||||||
|
|
||||||
@@ -316,7 +317,8 @@ typedef enum {
|
|||||||
#define GNB_CONFIG_N_CELL_PHYSICAL_ID_IDX 2
|
#define GNB_CONFIG_N_CELL_PHYSICAL_ID_IDX 2
|
||||||
#define GNB_CONFIG_N_CELL_ABS_FREQ_SSB_IDX 3
|
#define GNB_CONFIG_N_CELL_ABS_FREQ_SSB_IDX 3
|
||||||
#define GNB_CONFIG_N_CELL_SCS_IDX 4
|
#define GNB_CONFIG_N_CELL_SCS_IDX 4
|
||||||
#define GNB_CONFIG_N_CELL_TAC_IDX 5
|
#define GNB_CONFIG_N_CELL_BAND_IDX 5
|
||||||
|
#define GNB_CONFIG_N_CELL_TAC_IDX 6
|
||||||
// clang-format off
|
// clang-format off
|
||||||
#define GNBNEIGHBOURCELLPARAMS_DESC { \
|
#define GNBNEIGHBOURCELLPARAMS_DESC { \
|
||||||
/* optname helpstr paramflags XXXptr def val type numelt */ \
|
/* optname helpstr paramflags XXXptr def val type numelt */ \
|
||||||
@@ -325,6 +327,7 @@ typedef enum {
|
|||||||
{GNB_CONFIG_STRING_NEIGHBOUR_CELL_PHYSICAL_ID, "neighbour cell physical id", PARAMFLAG_MANDATORY, .uptr=NULL, .defuintval=0, TYPE_UINT, 0}, \
|
{GNB_CONFIG_STRING_NEIGHBOUR_CELL_PHYSICAL_ID, "neighbour cell physical id", PARAMFLAG_MANDATORY, .uptr=NULL, .defuintval=0, TYPE_UINT, 0}, \
|
||||||
{GNB_CONFIG_STRING_NEIGHBOUR_CELL_ABS_FREQ_SSB, "neighbour cell abs freq ssb", PARAMFLAG_MANDATORY, .i64ptr=NULL, .defint64val=0, TYPE_INT64, 0}, \
|
{GNB_CONFIG_STRING_NEIGHBOUR_CELL_ABS_FREQ_SSB, "neighbour cell abs freq ssb", PARAMFLAG_MANDATORY, .i64ptr=NULL, .defint64val=0, TYPE_INT64, 0}, \
|
||||||
{GNB_CONFIG_STRING_NEIGHBOUR_CELL_SCS, "neighbour cell scs", PARAMFLAG_MANDATORY, .uptr=NULL, .defuintval=0, TYPE_UINT, 0}, \
|
{GNB_CONFIG_STRING_NEIGHBOUR_CELL_SCS, "neighbour cell scs", PARAMFLAG_MANDATORY, .uptr=NULL, .defuintval=0, TYPE_UINT, 0}, \
|
||||||
|
{GNB_CONFIG_STRING_NEIGHBOUR_CELL_BAND, "neighbour cell band", PARAMFLAG_MANDATORY, .uptr=NULL, .defuintval=78, TYPE_UINT, 0}, \
|
||||||
{GNB_CONFIG_STRING_NEIGHBOUR_TRACKING_ARE_CODE, "neighbour cell tracking area", PARAMFLAG_MANDATORY, .uptr=NULL, .defuintval=0, TYPE_UINT, 0}, \
|
{GNB_CONFIG_STRING_NEIGHBOUR_TRACKING_ARE_CODE, "neighbour cell tracking area", PARAMFLAG_MANDATORY, .uptr=NULL, .defuintval=0, TYPE_UINT, 0}, \
|
||||||
}
|
}
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|||||||
@@ -1048,7 +1048,7 @@ NR_MeasConfig_t *get_MeasConfig(const NR_MeasTiming_t *mt,
|
|||||||
if (neigh_seq) {
|
if (neigh_seq) {
|
||||||
int mo_id = 2;
|
int mo_id = 2;
|
||||||
FOR_EACH_SEQ_ARR(nr_neighbour_cell_t *, neigh_cell, neigh_seq) {
|
FOR_EACH_SEQ_ARR(nr_neighbour_cell_t *, neigh_cell, neigh_seq) {
|
||||||
NR_MeasObjectToAddMod_t *mo_neighbour = get_MeasObject(ft, band, neigh_cell->absoluteFrequencySSB, mo_id);
|
NR_MeasObjectToAddMod_t *mo_neighbour = get_MeasObject(ft, neigh_cell->band, neigh_cell->absoluteFrequencySSB, mo_id);
|
||||||
NR_MeasObjectNR_t *monr = mo_neighbour->measObject.choice.measObjectNR;
|
NR_MeasObjectNR_t *monr = mo_neighbour->measObject.choice.measObjectNR;
|
||||||
monr->cellsToAddModList = calloc_or_fail(1, sizeof(*monr->cellsToAddModList));
|
monr->cellsToAddModList = calloc_or_fail(1, sizeof(*monr->cellsToAddModList));
|
||||||
NR_CellsToAddMod_t *cell = calloc_or_fail(1, sizeof(*cell));
|
NR_CellsToAddMod_t *cell = calloc_or_fail(1, sizeof(*cell));
|
||||||
|
|||||||
@@ -314,6 +314,7 @@ typedef struct {
|
|||||||
int physicalCellId;
|
int physicalCellId;
|
||||||
int absoluteFrequencySSB;
|
int absoluteFrequencySSB;
|
||||||
int subcarrierSpacing;
|
int subcarrierSpacing;
|
||||||
|
int band;
|
||||||
plmn_identity_t plmn;
|
plmn_identity_t plmn;
|
||||||
uint32_t tac;
|
uint32_t tac;
|
||||||
bool isIntraFrequencyNeighbour;
|
bool isIntraFrequencyNeighbour;
|
||||||
|
|||||||
Reference in New Issue
Block a user