+/**
+ *@brief Fills the slotCfg from CellCfg
+ *
+ * @details
+ *
+ * Function : schFillSlotConfig
+ *
+ * This API Fills the slotCfg from CellCfg
+ *
+ * @param[in] SchCellCb *cell, TDDCfg tddCfg
+ * @return void
+ * **/
+void schFillSlotConfig(SchCellCb *cell, TDDCfg tddCfg)
+{
+ uint8_t slotIdx = 0, symbolIdx = 0;
+
+ for(slotIdx =0 ;slotIdx < MAX_TDD_PERIODICITY_SLOTS; slotIdx++)
+ {
+ for(symbolIdx = 0; symbolIdx < MAX_SYMB_PER_SLOT; symbolIdx++)
+ {
+ /*Fill Full-DL Slots as well as DL symbols ini 1st Flexi Slo*/
+ if(slotIdx < tddCfg.nrOfDlSlots || \
+ (slotIdx == tddCfg.nrOfDlSlots && symbolIdx < tddCfg.nrOfDlSymbols))
+ {
+ cell->slotCfg[slotIdx][symbolIdx] = DL_SYMBOL;
+ }
+
+ /*Fill Full-FLEXI SLOT and as well as Flexi Symbols in 1 slot preceding FULL-UL slot*/
+ else if(slotIdx < (MAX_TDD_PERIODICITY_SLOTS - tddCfg.nrOfUlSlots -1) || \
+ (slotIdx == (MAX_TDD_PERIODICITY_SLOTS - tddCfg.nrOfUlSlots -1) && \
+ symbolIdx < (MAX_SYMB_PER_SLOT - tddCfg.nrOfUlSymbols)))
+ {
+ cell->slotCfg[slotIdx][symbolIdx] = FLEXI_SYMBOL;
+ }
+ /*Fill Partial UL symbols and Full-UL slot*/
+ else
+ {
+ cell->slotCfg[slotIdx][symbolIdx] = UL_SYMBOL;
+ }
+ }
+ }
+}