Commit 3ab28fd2 authored by Raymond Knopp's avatar Raymond Knopp

Reverted ASN.1 source to original Rel10 version, small updates in RRC for Rel8/Rel10 compatibility

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6302 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent d76d5724
......@@ -607,9 +607,9 @@ uint8_t do_SIB23(uint8_t Mod_id,
, RrcConfigurationReq *configuration
#endif
) {
struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib2_part,*sib3_part;
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part;
#ifdef Rel10
struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib13_part;
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part;
MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList;
MBSFN_AreaInfoList_r9_t *MBSFNArea_list;
struct MBSFN_AreaInfo_r9 *MBSFN_Area1, *MBSFN_Area2;
......@@ -637,22 +637,22 @@ uint8_t do_SIB23(uint8_t Mod_id,
#else
LOG_I(RRC,"[eNB %d] Configuration SIB2/3\n", Mod_id);
#endif
sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
sib3_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
memset(sib3_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
sib3_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
memset(sib3_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
sib2_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2;
sib3_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3;
sib2_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2;
sib3_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3;
*sib2 = &sib2_part->choice.sib2;
*sib3 = &sib3_part->choice.sib3;
#ifdef Rel10
if (MBMS_flag > 0) {
sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
memset(sib13_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
sib13_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920;
sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
memset(sib13_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
sib13_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920;
*sib13 = &sib13_part->choice.sib13_v920;
}
#endif
......
......@@ -78,6 +78,21 @@
#include "UE-EUTRA-Capability.h"
#include "MeasResults.h"
// This corrects something generated by asn1c which is different between Rel8 and Rel10
#ifndef Rel10
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member SystemInformation_r8_IEs_sib_TypeAndInfo_Member
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib4
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib5
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib6
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib7
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib8
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib9
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib10
#define SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11 SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib11
#endif
//#include "L3_rrc_defs.h"
#ifndef NO_RRM
#include "L3_rrc_interface.h"
......
......@@ -1855,11 +1855,14 @@ int decode_BCCH_DLSCH_Message(module_id_t ue_mod_idP, frame_t frameP,uint8_t eNB
rrc_set_sub_state (ue_mod_idP, RRC_SUB_STATE_IDLE_RECEIVING_SIB);
//memset(&bcch_message,0,sizeof(BCCH_DL_SCH_Message_t));
// LOG_D(RRC,"[UE %d] Decoding DL_BCCH_DLSCH_Message\n",ue_mod_idP)
/*
for (i=0;i<Sdu_len;i++)
printf("%x.",Sdu[i]);
printf("\n");*/
LOG_D(RRC,"[UE %d] Decoding DL_BCCH_DLSCH_Message\n",ue_mod_idP);
int i;
for (i=0;i<Sdu_len;i++)
printf("%x.",Sdu[i]);
printf("\n");
*/
dec_rval = uper_decode_complete(NULL,
&asn_DEF_BCCH_DL_SCH_Message,
(void **)&bcch_message,
......@@ -2202,11 +2205,12 @@ void dump_sib13(SystemInformationBlockType13_r9_t *sib13) {
#endif
//const char SIBPeriod[7][7]= {"80ms\0","160ms\0","320ms\0","640ms\0","1280ms\0","2560ms\0","5120ms\0"};
int decode_SI(module_id_t ue_mod_idP, frame_t frameP,uint8_t eNB_index,uint8_t si_window) {
SystemInformation_t **si=&UE_rrc_inst[ue_mod_idP].si[eNB_index][si_window];
int i;
struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *typeandinfo;
struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *typeandinfo;
vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SI , VCD_FUNCTION_IN);
......@@ -2225,7 +2229,7 @@ int decode_SI(module_id_t ue_mod_idP, frame_t frameP,uint8_t eNB_index,uint8_t s
typeandinfo=(*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.array[i];
switch(typeandinfo->present) {
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2:
UE_rrc_inst[ue_mod_idP].sib2[eNB_index] = &typeandinfo->choice.sib2;
LOG_D(RRC,"[UE %d] Frame %d Found SIB2 from eNB %d\n",ue_mod_idP,frameP,eNB_index);
dump_sib2(UE_rrc_inst[ue_mod_idP].sib2[eNB_index]);
......@@ -2302,7 +2306,7 @@ int decode_SI(module_id_t ue_mod_idP, frame_t frameP,uint8_t eNB_index,uint8_t s
#endif
}
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3:
UE_rrc_inst[ue_mod_idP].sib3[eNB_index] = &typeandinfo->choice.sib3;
LOG_I(RRC,"[UE %d] Frame %d Found SIB3 from eNB %d\n",ue_mod_idP,frameP,eNB_index);
dump_sib3(UE_rrc_inst[ue_mod_idP].sib3[eNB_index]);
......@@ -2310,44 +2314,44 @@ int decode_SI(module_id_t ue_mod_idP, frame_t frameP,uint8_t eNB_index,uint8_t s
rrc_set_sub_state (ue_mod_idP, RRC_SUB_STATE_IDLE_SIB_COMPLETE);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib4:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4:
UE_rrc_inst[ue_mod_idP].sib4[eNB_index] = &typeandinfo->choice.sib4;
LOG_I(RRC,"[UE %d] Frame %d Found SIB4 from eNB %d\n",ue_mod_idP,frameP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib5:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5:
UE_rrc_inst[ue_mod_idP].sib5[eNB_index] = &typeandinfo->choice.sib5;
LOG_I(RRC,"[UE %d] Found SIB5 from eNB %d\n",ue_mod_idP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib6:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
UE_rrc_inst[ue_mod_idP].sib6[eNB_index] = &typeandinfo->choice.sib6;
LOG_I(RRC,"[UE %d] Found SIB6 from eNB %d\n",ue_mod_idP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib7:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7:
UE_rrc_inst[ue_mod_idP].sib7[eNB_index] = &typeandinfo->choice.sib7;
LOG_I(RRC,"[UE %d] Found SIB7 from eNB %d\n",ue_mod_idP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib8:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8:
UE_rrc_inst[ue_mod_idP].sib8[eNB_index] = &typeandinfo->choice.sib8;
LOG_I(RRC,"[UE %d] Found SIB8 from eNB %d\n",ue_mod_idP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib9:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9:
UE_rrc_inst[ue_mod_idP].sib9[eNB_index] = &typeandinfo->choice.sib9;
LOG_I(RRC,"[UE %d] Found SIB9 from eNB %d\n",ue_mod_idP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib10:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10:
UE_rrc_inst[ue_mod_idP].sib10[eNB_index] = &typeandinfo->choice.sib10;
LOG_I(RRC,"[UE %d] Found SIB10 from eNB %d\n",ue_mod_idP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib11:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11:
UE_rrc_inst[ue_mod_idP].sib11[eNB_index] = &typeandinfo->choice.sib11;
LOG_I(RRC,"[UE %d] Found SIB11 from eNB %d\n",ue_mod_idP,eNB_index);
break;
#ifdef Rel10
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib12_v920:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
UE_rrc_inst[ue_mod_idP].sib12[eNB_index] = &typeandinfo->choice.sib12_v920;
LOG_I(RRC,"[RRC][UE %d] Found SIB12 from eNB %d\n",ue_mod_idP,eNB_index);
break;
case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920:
case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920:
UE_rrc_inst[ue_mod_idP].sib13[eNB_index] = &typeandinfo->choice.sib13_v920;
LOG_I(RRC,"[RRC][UE %d] Found SIB13 from eNB %d\n",ue_mod_idP,eNB_index);
dump_sib13(UE_rrc_inst[ue_mod_idP].sib13[eNB_index]);
......
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