#include "BWP-DownlinkCommon.h"
#include "BWP-UplinkCommon.h"
+#ifdef O1_ENABLE
+
+#include "Config.h"
+extern StartupConfig g_cfg;
+
+#endif
+
DuCfgParams duCfgParam;
char encBuf[ENC_BUF_MAX_LEN];
uint8_t slot = 0;
uint8_t symbol =0;
- memset(duCfgParam.macCellCfg.tddCfg.slotCfg, 0, sizeof(duCfgParam.macCellCfg.tddCfg.slotCfg[0][0]*\
- MAXIMUM_TDD_PERIODICITY*MAX_SYMB_PER_SLOT));
+ memset(duCfgParam.macCellCfg.tddCfg.slotCfg, 0, sizeof(duCfgParam.macCellCfg.tddCfg.slotCfg[slot][symbol]* \
+ MAX_TDD_PERIODICITY_SLOTS*MAX_SYMB_PER_SLOT));
- //Filling the DL Slots
- for(slot =0; slot < NUM_DL_SLOTS; slot++)
+ //Filling the DL Slots and initializing flexi slot
+ for(slot = 0; slot <= NUM_DL_SLOTS; slot++)
{
for(symbol =0; symbol < MAX_SYMB_PER_SLOT; symbol++)
{
duCfgParam.macCellCfg.tddCfg.slotCfg[slot][symbol] = DL_SLOT;
}
}
-
- //Filling the Flexi Slot
- for(symbol =0; symbol < NUM_DL_SYMBOLS; symbol++)
- {
- duCfgParam.macCellCfg.tddCfg.slotCfg[GUARD_SLOT_IDX][symbol] = DL_SLOT;
- }
- duCfgParam.macCellCfg.tddCfg.slotCfg[GUARD_SLOT_IDX][symbol] = GUARD_SLOT;
- symbol++;
- duCfgParam.macCellCfg.tddCfg.slotCfg[GUARD_SLOT_IDX][symbol] = UL_SLOT;
-
- //Filling the UL Slot
- for(slot = GUARD_SLOT_IDX + 1; slot < MAXIMUM_TDD_PERIODICITY; slot++)
+
+ //Filling UL Slots
+ for(slot = NUM_DL_SLOTS+1; slot <= NUM_DL_SLOTS+NUM_UL_SLOTS; slot++)
{
- for(symbol =0; symbol < MAX_SYMB_PER_SLOT; symbol++)
- {
+ for(symbol = 0; symbol < MAX_SYMB_PER_SLOT; symbol++)
duCfgParam.macCellCfg.tddCfg.slotCfg[slot][symbol] = UL_SLOT;
- }
- }
+ }
+ //Updating Flexi Slot
+ slot = NUM_DL_SLOTS;
+ duCfgParam.macCellCfg.tddCfg.slotCfg[slot][12] = FLEXI_SLOT;
+ duCfgParam.macCellCfg.tddCfg.slotCfg[slot][13] = UL_SLOT;
}
#endif
* ****************************************************************/
uint8_t fillDuPort(uint16_t *duPort)
{
+
+#ifdef O1_ENABLE
+ duPort[F1_INTERFACE] = g_cfg.DU_Port;
+ duPort[E2_INTERFACE] = g_cfg.RIC_Port;
+#else
duPort[F1_INTERFACE] = DU_PORT; /* DU Port idx 0 38472 */
duPort[E2_INTERFACE] = RIC_PORT; /* RIC Port idx 1 38482 */
-
+#endif
return ROK;
}
MibParams mib;
Sib1Params sib1;
+#ifdef O1_ENABLE
+ if( getStartupConfig(&g_cfg) != ROK )
+ {
+ RETVALUE(RFAILED);
+ }
+ cmInetAddr((S8*)g_cfg.DU_IPV4_Addr, &ipv4_du);
+ cmInetAddr((S8*)g_cfg.CU_IPV4_Addr, &ipv4_cu);
+ cmInetAddr((S8*)g_cfg.RIC_IPV4_Addr, &ipv4_ric);
+
+ duCfgParam.sctpParams.cuPort = g_cfg.CU_Port;
+ duCfgParam.sctpParams.ricPort = g_cfg.RIC_Port;
+#else
cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du);
cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu);
cmInetAddr((S8*)RIC_IP_V4_ADDR, &ipv4_ric);
+
+ duCfgParam.sctpParams.cuPort = CU_PORT;
+ duCfgParam.sctpParams.ricPort = RIC_PORT;
+#endif
+
fillDuPort(duCfgParam.sctpParams.duPort);
/* F1 DU IP Address and Port*/
/* F1 CU IP Address and Port*/
duCfgParam.sctpParams.cuIpAddr.ipV4Addr = ipv4_cu;
- duCfgParam.sctpParams.cuPort = CU_PORT;
/* Fill RIC Params */
duCfgParam.sctpParams.ricIpAddr.ipV4Addr = ipv4_ric;
- duCfgParam.sctpParams.ricPort = RIC_PORT;
+
/* EGTP Parameters */
duCfgParam.egtpParams.localIp.ipV4Pres = TRUE;
duCfgParam.egtpParams.localIp.ipV4Addr = ipv4_du;