Commit 8c0b196f authored by WEI-TAI CHEN's avatar WEI-TAI CHEN

Fix the BIT STRING ERROR problem in MIB

parent 2b3818ce
...@@ -45,7 +45,7 @@ void handle_nr_nfapi_bch_pdu(PHY_VARS_gNB *gNB, ...@@ -45,7 +45,7 @@ void handle_nr_nfapi_bch_pdu(PHY_VARS_gNB *gNB,
AssertFatal(dl_config_pdu->bch_pdu_rel15.length == 3, "BCH PDU has length %d != 3\n", AssertFatal(dl_config_pdu->bch_pdu_rel15.length == 3, "BCH PDU has length %d != 3\n",
dl_config_pdu->bch_pdu_rel15.length); dl_config_pdu->bch_pdu_rel15.length);
LOG_I(PHY,"bch_pdu: %x,%x,%x\n",sdu[0],sdu[1],sdu[2]); LOG_I(PHY,"pbch_pdu[0]: %x,pbch_pdu[1]: %x,gNB->pbch_pdu[2]: %x\n",sdu[0],sdu[1],sdu[2]);
gNB->pbch_pdu[0] = sdu[2]; gNB->pbch_pdu[0] = sdu[2];
gNB->pbch_pdu[1] = sdu[1]; gNB->pbch_pdu[1] = sdu[1];
gNB->pbch_pdu[2] = sdu[0]; gNB->pbch_pdu[2] = sdu[0];
......
...@@ -38,13 +38,13 @@ int8_t mac_rrc_nr_data_req(const module_id_t Mod_idP, ...@@ -38,13 +38,13 @@ int8_t mac_rrc_nr_data_req(const module_id_t Mod_idP,
mib = &carrier->mib; mib = &carrier->mib;
if( (Srb_id & RAB_OFFSET ) == MIBCH) { if( (Srb_id & RAB_OFFSET ) == MIBCH) {
mib->message.choice.mib->systemFrameNumber.buf = &sfn_msb; mib->message.choice.mib->systemFrameNumber.buf = sfn_msb << 2;
enc_rval = uper_encode_to_buffer(&asn_DEF_NR_BCCH_BCH_Message, enc_rval = uper_encode_to_buffer(&asn_DEF_NR_BCCH_BCH_Message,
NULL, NULL,
(void *)mib, (void *)mib,
carrier->MIB, carrier->MIB,
24); 24);
LOG_I(NR_RRC,"Encoded MIB for frame %d (%p), bits %lu\n",sfn_msb,carrier->MIB,enc_rval.encoded); LOG_I(NR_RRC,"Encoded MIB for frame %d sfn_msb %d (%p), bits %lu\n",frameP,sfn_msb,carrier->MIB,enc_rval.encoded);
buffer_pP[0]=carrier->MIB[0]; buffer_pP[0]=carrier->MIB[0];
buffer_pP[1]=carrier->MIB[1]; buffer_pP[1]=carrier->MIB[1];
buffer_pP[2]=carrier->MIB[2]; buffer_pP[2]=carrier->MIB[2];
......
...@@ -206,7 +206,8 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier, ...@@ -206,7 +206,8 @@ uint8_t do_MIB_NR(rrc_gNB_carrier_data_t *carrier,
memset(mib->message.choice.mib,0,sizeof(struct NR_MIB)); memset(mib->message.choice.mib,0,sizeof(struct NR_MIB));
//36.331 SFN BIT STRING (SIZE (8) , 38.331 SFN BIT STRING (SIZE (6)) //36.331 SFN BIT STRING (SIZE (8) , 38.331 SFN BIT STRING (SIZE (6))
uint8_t sfn_msb = (uint8_t)((frame>>4)&0x3f); uint8_t sfn_msb = (uint8_t)((frame>>4)&0x3f);
mib->message.choice.mib->systemFrameNumber.buf = &sfn_msb; mib->message.choice.mib->systemFrameNumber.buf = CALLOC(1,sizeof(uint8_t));
mib->message.choice.mib->systemFrameNumber.buf = sfn_msb << 2;
mib->message.choice.mib->systemFrameNumber.size = 1; mib->message.choice.mib->systemFrameNumber.size = 1;
mib->message.choice.mib->systemFrameNumber.bits_unused=2; mib->message.choice.mib->systemFrameNumber.bits_unused=2;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment