Commit 14379074 authored by Raymond Knopp's avatar Raymond Knopp

added TDD configuration information to F1-Setup-Request based on the...

added TDD configuration information to F1-Setup-Request based on the configuration file contents.. Corrected some bugs in F1AP encoding for TDD.
parent 6b5a4708
...@@ -40,6 +40,15 @@ ...@@ -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) { ...@@ -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) { ...@@ -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 @@ ...@@ -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) { ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment