X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_cfg.c;h=7217d10c0cdf17b4ff13ad4f56036c8e7f309818;hb=43f9a063a851c5318a609e9966cdc0b30f0abaf5;hp=a142f356043ced735f9ff09640f293537e179cf1;hpb=8660dd47a5ef27b62300fabf6b027852f1d5d026;p=o-du%2Fl2.git diff --git a/src/du_app/du_cfg.c b/src/du_app/du_cfg.c index a142f3560..7217d10c0 100644 --- a/src/du_app/du_cfg.c +++ b/src/du_app/du_cfg.c @@ -17,7 +17,7 @@ *******************************************************************************/ /* This file contains all utility functions */ -#include "du_cfg.h" +#include "du_mgr.h" #include "MIB.h" #include "PLMN-IdentityInfo.h" #include "odu_common_codec.h" @@ -136,15 +136,17 @@ S16 readMacCfg() /* SSB configuration */ duCfgParam.macCellCfg.ssbCfg.ssbPbchPwr = SSB_PBCH_PWR; - duCfgParam.macCellCfg.ssbCfg.bchPayloadOption = BCH_PAYLOAD; + duCfgParam.macCellCfg.ssbCfg.bchPayloadFlag = BCH_PAYLOAD; duCfgParam.macCellCfg.ssbCfg.scsCmn = SUBCARRIER_SPACING; - duCfgParam.macCellCfg.ssbCfg.ssbPrbOffset = PRB_OFFSET; + duCfgParam.macCellCfg.ssbCfg.ssbOffsetPointA = OFFSET_TO_POINT_A; duCfgParam.macCellCfg.ssbCfg.betaPss = BETA_PSS; duCfgParam.macCellCfg.ssbCfg.ssbPeriod = SSB_PERIODICITTY; - duCfgParam.macCellCfg.ssbCfg.ssbSubcOffset = SSB_SUBCARRIER_OFFSET; - duCfgParam.macCellCfg.ssbCfg.mibPdu = 104; - duCfgParam.macCellCfg.ssbCfg.nSSBMask[0] = 2162721; - duCfgParam.macCellCfg.ssbCfg.nSSBMask[1] = 0; + duCfgParam.macCellCfg.ssbCfg.ssbScOffset = SSB_SUBCARRIER_OFFSET; + duCfgParam.macCellCfg.ssbCfg.mibPdu[0] = 0x01; + duCfgParam.macCellCfg.ssbCfg.mibPdu[1] = 0x01; + duCfgParam.macCellCfg.ssbCfg.mibPdu[2] = 0x84; + duCfgParam.macCellCfg.ssbCfg.ssbMask[0] = 1; /* only one SSB is transmitted */ + duCfgParam.macCellCfg.ssbCfg.ssbMask[1] = 0; duCfgParam.macCellCfg.ssbCfg.multCarrBand = SSB_MULT_CARRIER_BAND; duCfgParam.macCellCfg.ssbCfg.multCellCarr = MULT_CELL_CARRIER; @@ -178,12 +180,41 @@ S16 readMacCfg() /* RSSI Measurement configuration */ duCfgParam.macCellCfg.rssiUnit = RSS_MEASUREMENT_UNIT; + /* fill SIB1 configuration */ + duCfgParam.macCellCfg.sib1Cfg.sib1PduLen = duCfgParam.srvdCellLst[0].duSysInfo.sib1Len; + DU_ALLOC(duCfgParam.macCellCfg.sib1Cfg.sib1Pdu,duCfgParam.srvdCellLst[0].duSysInfo.sib1Len); + memcpy(duCfgParam.macCellCfg.sib1Cfg.sib1Pdu, duCfgParam.srvdCellLst[0].duSysInfo.sib1Msg, \ + duCfgParam.srvdCellLst[0].duSysInfo.sib1Len); + duCfgParam.macCellCfg.sib1Cfg.sib1NewTxPeriod = SIB1_NEW_TX_PERIOD; + duCfgParam.macCellCfg.sib1Cfg.sib1RepetitionPeriod = SIB1_REPETITION_PERIOD; + duCfgParam.macCellCfg.sib1Cfg.coresetZeroIndex = CORESET_0_INDEX; + duCfgParam.macCellCfg.sib1Cfg.searchSpaceZeroIndex = SEARCHSPACE_0_INDEX; + duCfgParam.macCellCfg.sib1Cfg.sib1Mcs = SIB1_MCS; + /* This should be calculated based on (number of mandatory parameters) + (number of otional parameters being filled) */ duCfgParam.macCellCfg.numTlv = 39; RETVALUE(ROK); } + +/******************************************************************* + * + * @brief Configures the DU Parameters + * + * @details + * + * Function : fillDuPort + * + * Functionality: + * - fills the DU Ports. + * + * @params[in] duPort array to be filled + * @return ROK - success + * RFAILED - failure + * + * ****************************************************************/ + S16 fillDuPort(U16 *duPort) { duPort[F1_INTERFACE] = DU_PORT; /* DU Port idx 0 38472 */ @@ -228,12 +259,10 @@ S16 readCfg() /* F1 CU IP Address and Port*/ duCfgParam.sctpParams.cuIpAddr.ipV4Addr = ipv4_cu; duCfgParam.sctpParams.cuPort = CU_PORT; - duCfgParam.sctpParams.itfType.f1Itf = F1_INTERFACE; /* Fill RIC Params */ duCfgParam.sctpParams.ricIpAddr.ipV4Addr = ipv4_ric; duCfgParam.sctpParams.ricPort = RIC_PORT; - duCfgParam.sctpParams.itfType.e2Itf = E2_INTERFACE; /* EGTP Parameters */ @@ -412,6 +441,7 @@ S16 readCfg() return RFAILED; } strcpy(duCfgParam.srvdCellLst[i].duSysInfo.mibMsg, encBuf); + duCfgParam.srvdCellLst[i].duSysInfo.mibLen = encBufSize; /*gnb DU System Info mib msg*/ BuildSib1Msg(); @@ -422,11 +452,9 @@ S16 readCfg() DU_LOG("\nDU_APP: Memory allocation failure"); return RFAILED; } - for(int x=0; xsize + 7 )/8; - for(idx=0; idx< numOctets; idx++) + for(idx=0; idxsize-1; idx++) { *val |= bitString->buf[idx]; *val <<= 8; } - *val |= bitString->buf[numOctets -1]; - *val >>= ((numOctets * 8) - bitString->size); + *val |= bitString->buf[idx]; + *val >>= bitString->bits_unused; return ROK; }