added TDD configuration information to F1-Setup-Request based on the configuration file contents.. Corrected some bugs in F1AP encoding for TDD.
This commit is contained in:
@@ -40,6 +40,15 @@
|
|||||||
extern f1ap_setup_req_t *f1ap_du_data;
|
extern f1ap_setup_req_t *f1ap_du_data;
|
||||||
extern RAN_CONTEXT_t RC;
|
extern RAN_CONTEXT_t RC;
|
||||||
|
|
||||||
|
int nrb_lut[29] = {11, 18, 24, 25, 31, 32, 38, 51, 52, 65, 66, 78, 79, 93, 106, 107, 121, 132, 133, 135, 160, 162, 189, 216, 217, 245, 264, 270, 273};
|
||||||
|
|
||||||
|
int to_NRNRB(int nrb) {
|
||||||
|
|
||||||
|
for (int i=0;i<29;i++) if (nrb_lut[i] == nrb) return i;
|
||||||
|
AssertFatal(1==0,"nrb %d is not in the list of possible NRNRB\n");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
int DU_handle_RESET(instance_t instance,
|
int DU_handle_RESET(instance_t instance,
|
||||||
uint32_t assoc_id,
|
uint32_t assoc_id,
|
||||||
uint32_t stream,
|
uint32_t stream,
|
||||||
@@ -299,10 +308,10 @@ int DU_send_F1_SETUP_REQUEST(instance_t instance) {
|
|||||||
|
|
||||||
/* FDD.3 UL Transmission Bandwidth */
|
/* FDD.3 UL Transmission Bandwidth */
|
||||||
fDD_Info->uL_Transmission_Bandwidth.nRSCS = f1ap_du_data->nr_mode_info[i].fdd.ul_scs;
|
fDD_Info->uL_Transmission_Bandwidth.nRSCS = f1ap_du_data->nr_mode_info[i].fdd.ul_scs;
|
||||||
fDD_Info->uL_Transmission_Bandwidth.nRNRB = f1ap_du_data->nr_mode_info[i].fdd.ul_nrb;
|
fDD_Info->uL_Transmission_Bandwidth.nRNRB = to_NRNRB(f1ap_du_data->nr_mode_info[i].fdd.ul_nrb);
|
||||||
/* FDD.4 DL Transmission Bandwidth */
|
/* FDD.4 DL Transmission Bandwidth */
|
||||||
fDD_Info->dL_Transmission_Bandwidth.nRSCS = f1ap_du_data->nr_mode_info[i].fdd.dl_scs;
|
fDD_Info->dL_Transmission_Bandwidth.nRSCS = f1ap_du_data->nr_mode_info[i].fdd.dl_scs;
|
||||||
fDD_Info->dL_Transmission_Bandwidth.nRNRB = f1ap_du_data->nr_mode_info[i].fdd.dl_nrb;
|
fDD_Info->dL_Transmission_Bandwidth.nRNRB = to_NRNRB(f1ap_du_data->nr_mode_info[i].fdd.dl_nrb);
|
||||||
|
|
||||||
nR_Mode_Info.choice.fDD = fDD_Info;
|
nR_Mode_Info.choice.fDD = fDD_Info;
|
||||||
} else { // TDD
|
} else { // TDD
|
||||||
@@ -353,7 +362,7 @@ int DU_send_F1_SETUP_REQUEST(instance_t instance) {
|
|||||||
|
|
||||||
/* TDD.2 transmission_Bandwidth */
|
/* TDD.2 transmission_Bandwidth */
|
||||||
tDD_Info->transmission_Bandwidth.nRSCS = f1ap_du_data->nr_mode_info[i].tdd.scs;
|
tDD_Info->transmission_Bandwidth.nRSCS = f1ap_du_data->nr_mode_info[i].tdd.scs;
|
||||||
tDD_Info->transmission_Bandwidth.nRNRB = f1ap_du_data->nr_mode_info[i].tdd.nrb;
|
tDD_Info->transmission_Bandwidth.nRNRB = to_NRNRB(f1ap_du_data->nr_mode_info[i].tdd.nrb);
|
||||||
|
|
||||||
nR_Mode_Info.choice.tDD = tDD_Info;
|
nR_Mode_Info.choice.tDD = tDD_Info;
|
||||||
} // if nR_Mode_Info
|
} // if nR_Mode_Info
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
#include "f1ap_common.h"
|
#include "f1ap_common.h"
|
||||||
#include "f1ap_encoder.h"
|
#include "f1ap_encoder.h"
|
||||||
|
|
||||||
int asn1_encoder_xer_print = 0;
|
int asn1_encoder_xer_print = 1;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
static inline int f1ap_encode_initiating(f1ap_message *message,
|
static inline int f1ap_encode_initiating(f1ap_message *message,
|
||||||
|
|||||||
@@ -1483,19 +1483,18 @@ int RCconfig_NR_DU_F1(MessageDef *msg_p, uint32_t i) {
|
|||||||
rrc->configuration.mnc[0] = F1AP_SETUP_REQ (msg_p).mnc[k];
|
rrc->configuration.mnc[0] = F1AP_SETUP_REQ (msg_p).mnc[k];
|
||||||
rrc->configuration.tac = F1AP_SETUP_REQ (msg_p).tac[k];
|
rrc->configuration.tac = F1AP_SETUP_REQ (msg_p).tac[k];
|
||||||
rrc->nr_cellid = F1AP_SETUP_REQ (msg_p).nr_cellid[k];
|
rrc->nr_cellid = F1AP_SETUP_REQ (msg_p).nr_cellid[k];
|
||||||
// F1AP_SETUP_REQ (msg_p).nr_pci[k] = rrc->carrier.physCellId;
|
F1AP_SETUP_REQ (msg_p).nr_pci[k] = *rrc->configuration.scc->physCellId;
|
||||||
F1AP_SETUP_REQ (msg_p).nr_pci[k] = 0;
|
|
||||||
F1AP_SETUP_REQ (msg_p).num_ssi[k] = 0;
|
F1AP_SETUP_REQ (msg_p).num_ssi[k] = 0;
|
||||||
|
|
||||||
if (0) {
|
if (rrc->configuration.scc->tdd_UL_DL_ConfigurationCommon) {
|
||||||
LOG_I(GNB_APP,"ngran_DU: Configuring Cell %d for TDD\n",k);
|
LOG_I(GNB_APP,"ngran_DU: Configuring Cell %d for TDD\n",k);
|
||||||
F1AP_SETUP_REQ (msg_p).fdd_flag = 0;
|
F1AP_SETUP_REQ (msg_p).fdd_flag = 0;
|
||||||
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.nr_arfcn = 26200UL;
|
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.nr_arfcn = rrc->configuration.scc->downlinkConfigCommon->frequencyInfoDL->absoluteFrequencyPointA;
|
||||||
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.scs = 0;
|
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.scs = rrc->configuration.scc->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList.list.array[0]->subcarrierSpacing;
|
||||||
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.nrb = 0;
|
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.nrb = rrc->configuration.scc->downlinkConfigCommon->frequencyInfoDL->scs_SpecificCarrierList.list.array[0]->carrierBandwidth;
|
||||||
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.num_frequency_bands = 1;
|
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.num_frequency_bands = 1;
|
||||||
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.nr_band[0] = 1;
|
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.nr_band[0] = *rrc->configuration.scc->downlinkConfigCommon->frequencyInfoDL->frequencyBandList.list.array[0];
|
||||||
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].fdd.sul_active = 0;
|
F1AP_SETUP_REQ (msg_p).nr_mode_info[k].tdd.sul_active = 0;
|
||||||
} else {
|
} else {
|
||||||
/***************** for test *****************/
|
/***************** for test *****************/
|
||||||
LOG_I(GNB_APP,"ngran_DU: Configuring Cell %d for FDD\n",k);
|
LOG_I(GNB_APP,"ngran_DU: Configuring Cell %d for FDD\n",k);
|
||||||
|
|||||||
Reference in New Issue
Block a user