+ } else if (strcmp(key, KEY_NPRBELEM_UL ) == 0) {
+ config->PrbMapUl.nPrbElm = atoi(value);
+ if (config->PrbMapUl.nPrbElm > XRAN_MAX_PRBS)
+ {
+ printf("nTddPeriod is larger than max allowed, invalid!\n");
+ config->PrbMapUl.nPrbElm = XRAN_MAX_PRBS;
+ }
+ printf("nPrbElemUl: %d\n",config->PrbMapUl.nPrbElm);
+ } else if (strncmp(key, KEY_PRBELEM_UL, strlen(KEY_PRBELEM_UL)) == 0) {
+ unsigned int section_idx = 0;
+ sscanf(key,"PrbElemUl%u",§ion_idx);
+ if (section_idx >= config->PrbMapUl.nPrbElm){
+ printf("section_idx %d exceeds nPrbElem\n",section_idx);
+ }
+ else{
+ struct xran_prb_elm *pPrbElem = &config->PrbMapUl.prbMap[section_idx];
+ sscanf(value, "%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd",
+ (int16_t*)&pPrbElem->nRBStart,
+ (int16_t*)&pPrbElem->nRBSize,
+ (int16_t*)&pPrbElem->nStartSymb,
+ (int16_t*)&pPrbElem->numSymb,
+ (int16_t*)&pPrbElem->nBeamIndex,
+ (int16_t*)&pPrbElem->bf_weight_update,
+ (int16_t*)&pPrbElem->compMethod,
+ (int16_t*)&pPrbElem->iqWidth,
+ (int16_t*)&pPrbElem->BeamFormingType);
+ printf("nPrbElemUl%d: ",section_idx);
+ printf("nRBStart %d,nRBSize %d,nStartSymb %d,numSymb %d,nBeamIndex %d, bf_weight_update %d compMethod %d, iqWidth %d BeamFormingType %d\n",
+ pPrbElem->nRBStart,pPrbElem->nRBSize,pPrbElem->nStartSymb,pPrbElem->numSymb,pPrbElem->nBeamIndex, pPrbElem->bf_weight_update, pPrbElem->compMethod, pPrbElem->iqWidth, pPrbElem->BeamFormingType);
+ }
+ }else if (strcmp(key, KEY_NPRBELEM_DL ) == 0) {
+ config->PrbMapDl.nPrbElm = atoi(value);
+ if (config->PrbMapDl.nPrbElm > XRAN_MAX_PRBS)
+ {
+ printf("nTddPeriod is larger than max allowed, invalid!\n");
+ config->PrbMapDl.nPrbElm = XRAN_MAX_PRBS;
+ }
+ printf("nPrbElemDl: %d\n",config->PrbMapDl.nPrbElm);
+ } else if (strncmp(key, KEY_PRBELEM_DL, strlen(KEY_PRBELEM_DL)) == 0) {
+ unsigned int section_idx = 0;
+ sscanf(key,"PrbElemDl%u",§ion_idx);
+ if (section_idx >= config->PrbMapDl.nPrbElm){
+ printf("section_idx %d exceeds nPrbElem\n",section_idx);
+ }
+ else{
+ struct xran_prb_elm *pPrbElem = &config->PrbMapDl.prbMap[section_idx];
+ sscanf(value, "%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd,%hd",
+ (int16_t*)&pPrbElem->nRBStart,
+ (int16_t*)&pPrbElem->nRBSize,
+ (int16_t*)&pPrbElem->nStartSymb,
+ (int16_t*)&pPrbElem->numSymb,
+ (int16_t*)&pPrbElem->nBeamIndex,
+ (int16_t*)&pPrbElem->bf_weight_update,
+ (int16_t*)&pPrbElem->compMethod,
+ (int16_t*)&pPrbElem->iqWidth,
+ (int16_t*)&pPrbElem->BeamFormingType);
+ printf("nPrbElemDl%d: ",section_idx);
+ printf("nRBStart %d,nRBSize %d,nStartSymb %d,numSymb %d,nBeamIndex %d, bf_weight_update %d compMethod %d, iqWidth %d BeamFormingType %d\n",
+ pPrbElem->nRBStart,pPrbElem->nRBSize,pPrbElem->nStartSymb,pPrbElem->numSymb,pPrbElem->nBeamIndex, pPrbElem->bf_weight_update, pPrbElem->compMethod, pPrbElem->iqWidth, pPrbElem->BeamFormingType);
+ }