fix for long SSB bitmap in config file
This commit is contained in:
@@ -366,14 +366,14 @@
|
|||||||
{GNB_CONFIG_STRING_HOPPINGID, NULL,0,i64ptr:scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->hoppingId,defint64val:40,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_HOPPINGID, NULL,0,i64ptr:scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->hoppingId,defint64val:40,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_P0NOMINAL, NULL,0,i64ptr:scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->p0_nominal,defint64val:1,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_P0NOMINAL, NULL,0,i64ptr:scc->uplinkConfigCommon->initialUplinkBWP->pucch_ConfigCommon->choice.setup->p0_nominal,defint64val:1,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_SSBPOSITIONSINBURSTPR,NULL,0,uptr:&scc->ssb_PositionsInBurst->present,defuintval:NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap,TYPE_UINT,0/*139*/}, \
|
{GNB_CONFIG_STRING_SSBPOSITIONSINBURSTPR,NULL,0,uptr:&scc->ssb_PositionsInBurst->present,defuintval:NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap,TYPE_UINT,0/*139*/}, \
|
||||||
{GNB_CONFIG_STRING_SSBPOSITIONSINBURST,NULL,0,iptr:&ssb_bitmap,defintval:0xff,TYPE_INT,0}, \
|
{GNB_CONFIG_STRING_SSBPOSITIONSINBURST,NULL,0,u64ptr:&ssb_bitmap,defintval:0xff,TYPE_UINT64,0}, \
|
||||||
{GNB_CONFIG_STRING_REFERENCESUBCARRIERSPACING,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->referenceSubcarrierSpacing,defint64val:NR_SubcarrierSpacing_kHz30,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_REFERENCESUBCARRIERSPACING,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->referenceSubcarrierSpacing,defint64val:NR_SubcarrierSpacing_kHz30,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.dl_UL_TransmissionPeriodicity,defint64val:NR_TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms0p5,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.dl_UL_TransmissionPeriodicity,defint64val:NR_TDD_UL_DL_Pattern__dl_UL_TransmissionPeriodicity_ms0p5,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_NROFDOWNLINKSLOTS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofDownlinkSlots,defint64val:7,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_NROFDOWNLINKSLOTS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofDownlinkSlots,defint64val:7,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_NROFDOWNLINKSYMBOLS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofDownlinkSymbols,defint64val:6,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_NROFDOWNLINKSYMBOLS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofDownlinkSymbols,defint64val:6,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_NROFUPLINKSLOTS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSlots,defint64val:2,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_NROFUPLINKSLOTS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSlots,defint64val:2,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_NROFUPLINKSYMBOLS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSymbols,defint64val:4,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_NROFUPLINKSYMBOLS,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSymbols,defint64val:4,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY2,NULL,0,iptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->dl_UL_TransmissionPeriodicity,defintval:-1,TYPE_INT,0},\
|
{GNB_CONFIG_STRING_DLULTRANSMISSIONPERIODICITY2,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->dl_UL_TransmissionPeriodicity,defintval:-1,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_NROFDOWNLINKSLOTS2,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->nrofDownlinkSlots,defint64val:-1,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_NROFDOWNLINKSLOTS2,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->nrofDownlinkSlots,defint64val:-1,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_NROFDOWNLINKSYMBOLS2,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->nrofDownlinkSymbols,defint64val:-1,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_NROFDOWNLINKSYMBOLS2,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->nrofDownlinkSymbols,defint64val:-1,TYPE_INT64,0},\
|
||||||
{GNB_CONFIG_STRING_NROFUPLINKSLOTS2,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->nrofUplinkSlots,defint64val:-1,TYPE_INT64,0},\
|
{GNB_CONFIG_STRING_NROFUPLINKSLOTS2,NULL,0,i64ptr:&scc->tdd_UL_DL_ConfigurationCommon->pattern2->nrofUplinkSlots,defint64val:-1,TYPE_INT64,0},\
|
||||||
|
|||||||
@@ -213,8 +213,7 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void fix_scc(NR_ServingCellConfigCommon_t *scc,int ssbmap) {
|
void fix_scc(NR_ServingCellConfigCommon_t *scc,uint64_t ssbmap) {
|
||||||
|
|
||||||
|
|
||||||
int ssbmaplen = (int)scc->ssb_PositionsInBurst->present;
|
int ssbmaplen = (int)scc->ssb_PositionsInBurst->present;
|
||||||
AssertFatal(ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap || ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap || ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_longBitmap, "illegal ssbmaplen %d\n",ssbmaplen);
|
AssertFatal(ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_shortBitmap || ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap || ssbmaplen==NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_longBitmap, "illegal ssbmaplen %d\n",ssbmaplen);
|
||||||
@@ -232,14 +231,8 @@ void fix_scc(NR_ServingCellConfigCommon_t *scc,int ssbmap) {
|
|||||||
scc->ssb_PositionsInBurst->choice.longBitmap.size = 8;
|
scc->ssb_PositionsInBurst->choice.longBitmap.size = 8;
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.bits_unused = 0;
|
scc->ssb_PositionsInBurst->choice.longBitmap.bits_unused = 0;
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf = CALLOC(1,8);
|
scc->ssb_PositionsInBurst->choice.longBitmap.buf = CALLOC(1,8);
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[0] = 0xff;
|
for (int i=0; i<8; i++)
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[1] = 0xff;
|
scc->ssb_PositionsInBurst->choice.longBitmap.buf[i] = (ssbmap>>(i<<3))&(0xff);
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[2] = 0xff;
|
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[3] = 0xff;
|
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[4] = 0xff;
|
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[5] = 0xff;
|
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[6] = 0xff;
|
|
||||||
scc->ssb_PositionsInBurst->choice.longBitmap.buf[7] = 0xff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// fix UL absolute frequency
|
// fix UL absolute frequency
|
||||||
@@ -520,7 +513,7 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
|
|||||||
NR_ServingCellConfigCommon_t *scc = calloc(1,sizeof(NR_ServingCellConfigCommon_t));
|
NR_ServingCellConfigCommon_t *scc = calloc(1,sizeof(NR_ServingCellConfigCommon_t));
|
||||||
int ssb_SubcarrierOffset = 0;
|
int ssb_SubcarrierOffset = 0;
|
||||||
int pdsch_AntennaPorts = 1;
|
int pdsch_AntennaPorts = 1;
|
||||||
int ssb_bitmap=0xff;
|
uint64_t ssb_bitmap=0xff;
|
||||||
memset((void*)scc,0,sizeof(NR_ServingCellConfigCommon_t));
|
memset((void*)scc,0,sizeof(NR_ServingCellConfigCommon_t));
|
||||||
prepare_scc(scc);
|
prepare_scc(scc);
|
||||||
paramdef_t SCCsParams[] = SCCPARAMS_DESC(scc);
|
paramdef_t SCCsParams[] = SCCPARAMS_DESC(scc);
|
||||||
|
|||||||
@@ -234,6 +234,7 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
|
|||||||
default:
|
default:
|
||||||
AssertFatal(1==0,"SSB bitmap size value %d undefined (allowed values 1,2,3) \n", scc->ssb_PositionsInBurst->present);
|
AssertFatal(1==0,"SSB bitmap size value %d undefined (allowed values 1,2,3) \n", scc->ssb_PositionsInBurst->present);
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg->ssb_table.ssb_mask_list[0].ssb_mask.tl.tag = NFAPI_NR_CONFIG_SSB_MASK_TAG;
|
cfg->ssb_table.ssb_mask_list[0].ssb_mask.tl.tag = NFAPI_NR_CONFIG_SSB_MASK_TAG;
|
||||||
cfg->num_tlv++;
|
cfg->num_tlv++;
|
||||||
|
|
||||||
@@ -318,7 +319,7 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
|
|||||||
){
|
){
|
||||||
|
|
||||||
if (scc != NULL ) {
|
if (scc != NULL ) {
|
||||||
AssertFatal(scc->ssb_PositionsInBurst->present == NR_ServingCellConfigCommon__ssb_PositionsInBurst_PR_mediumBitmap, "SSB Bitmap is not 8-bits!\n");
|
AssertFatal((scc->ssb_PositionsInBurst->present > 0) && (scc->ssb_PositionsInBurst->present < 4), "SSB Bitmap type %d is not valid\n",scc->ssb_PositionsInBurst->present);
|
||||||
|
|
||||||
LOG_I(MAC,"Configuring common parameters from NR ServingCellConfig\n");
|
LOG_I(MAC,"Configuring common parameters from NR ServingCellConfig\n");
|
||||||
|
|
||||||
|
|||||||
@@ -147,12 +147,12 @@ gNBs =
|
|||||||
p0_nominal = -90;
|
p0_nominal = -90;
|
||||||
# ssb_PositionsInBurs_BitmapPR
|
# ssb_PositionsInBurs_BitmapPR
|
||||||
# 1=short, 2=medium, 3=long
|
# 1=short, 2=medium, 3=long
|
||||||
ssb_PositionsInBurst_PR = 2;
|
ssb_PositionsInBurst_PR = 3;
|
||||||
ssb_PositionsInBurst_Bitmap = 1;
|
ssb_PositionsInBurst_Bitmap = 1;
|
||||||
|
|
||||||
# ssb_periodicityServingCell
|
# ssb_periodicityServingCell
|
||||||
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||||
ssb_periodicityServingCell = 2;
|
ssb_periodicityServingCell = 1;
|
||||||
|
|
||||||
# dmrs_TypeA_position
|
# dmrs_TypeA_position
|
||||||
# 0 = pos2, 1 = pos3
|
# 0 = pos2, 1 = pos3
|
||||||
@@ -238,7 +238,7 @@ RUs = (
|
|||||||
max_rxgain = 114;
|
max_rxgain = 114;
|
||||||
eNB_instances = [0];
|
eNB_instances = [0];
|
||||||
sdr_addrs = "type=x300";
|
sdr_addrs = "type=x300";
|
||||||
if_freq = 3500000000;
|
if_freq = 3000000000;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ gNBs =
|
|||||||
p0_nominal = -90;
|
p0_nominal = -90;
|
||||||
# ssb_PositionsInBurs_BitmapPR
|
# ssb_PositionsInBurs_BitmapPR
|
||||||
# 1=short, 2=medium, 3=long
|
# 1=short, 2=medium, 3=long
|
||||||
ssb_PositionsInBurst_PR = 2;
|
ssb_PositionsInBurst_PR = 3;
|
||||||
ssb_PositionsInBurst_Bitmap = 1;
|
ssb_PositionsInBurst_Bitmap = 1;
|
||||||
|
|
||||||
# ssb_periodicityServingCell
|
# ssb_periodicityServingCell
|
||||||
|
|||||||
Reference in New Issue
Block a user