Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG-RAN
Commits
22bcc7a5
Commit
22bcc7a5
authored
Oct 17, 2017
by
Tien-Thinh Nguyen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add SIB19 support - eNB
parent
2de24be2
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
390 additions
and
100 deletions
+390
-100
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+31
-12
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+110
-13
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/enb_paramdef.h
+34
-6
openair2/RRC/LITE/MESSAGES/asn1_msg.c
openair2/RRC/LITE/MESSAGES/asn1_msg.c
+93
-34
openair2/RRC/LITE/defs.h
openair2/RRC/LITE/defs.h
+1
-1
openair2/RRC/LITE/rrc_UE.c
openair2/RRC/LITE/rrc_UE.c
+36
-3
openair2/RRC/LITE/rrc_eNB.c
openair2/RRC/LITE/rrc_eNB.c
+65
-28
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
...ENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
+20
-3
No files found.
openair2/COMMON/rrc_messages_types.h
View file @
22bcc7a5
...
@@ -41,6 +41,7 @@
...
@@ -41,6 +41,7 @@
#include "SubframeBitmapSL-r12.h"
#include "SubframeBitmapSL-r12.h"
#include "SL-CP-Len-r12.h"
#include "SL-CP-Len-r12.h"
#include "SL-PeriodComm-r12.h"
#include "SL-PeriodComm-r12.h"
#include "SL-DiscResourcePool-r12.h"
//-------------------------------------------------------------------------------------------//
//-------------------------------------------------------------------------------------------//
...
@@ -172,19 +173,37 @@ typedef struct RrcConfigurationReq_s {
...
@@ -172,19 +173,37 @@ typedef struct RrcConfigurationReq_s {
long
ue_TimersAndConstants_n311
[
MAX_NUM_CCs
];
long
ue_TimersAndConstants_n311
[
MAX_NUM_CCs
];
long
ue_TransmissionMode
[
MAX_NUM_CCs
];
long
ue_TransmissionMode
[
MAX_NUM_CCs
];
//TTN - for D2D
//TTN - for D2D
e_SL_CP_Len_r12
rxPool_sc_CP_Len
[
MAX_NUM_CCs
];
//SIB18
e_SL_PeriodComm_r12
rxPool_sc_Period
[
MAX_NUM_CCs
];
e_SL_CP_Len_r12
rxPool_sc_CP_Len
[
MAX_NUM_CCs
];
e_SL_CP_Len_r12
rxPool_data_CP_Len
[
MAX_NUM_CCs
];
e_SL_PeriodComm_r12
rxPool_sc_Period
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_prb_Num
[
MAX_NUM_CCs
];
e_SL_CP_Len_r12
rxPool_data_CP_Len
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_prb_Start
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_prb_Num
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_prb_End
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_prb_Start
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_prb_End
[
MAX_NUM_CCs
];
SL_OffsetIndicator_r12_PR
rxPool_ResourceConfig_offsetIndicator_present
[
MAX_NUM_CCs
];
SL_OffsetIndicator_r12_PR
rxPool_ResourceConfig_offsetIndicator_present
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_offsetIndicator_choice
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_offsetIndicator_choice
[
MAX_NUM_CCs
];
SubframeBitmapSL_r12_PR
rxPool_ResourceConfig_subframeBitmap_present
[
MAX_NUM_CCs
];
SubframeBitmapSL_r12_PR
rxPool_ResourceConfig_subframeBitmap_present
[
MAX_NUM_CCs
];
char
*
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
[
MAX_NUM_CCs
];
char
*
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
[
MAX_NUM_CCs
];
long
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
[
MAX_NUM_CCs
];
//SIB19
SL_CP_Len_r12_t
discRxPool_cp_Len
[
MAX_NUM_CCs
];
e_SL_DiscResourcePool_r12__discPeriod_r12
discRxPool_discPeriod
[
MAX_NUM_CCs
];
long
discRxPool_numRetx
[
MAX_NUM_CCs
];
long
discRxPool_numRepetition
[
MAX_NUM_CCs
];
long
discRxPool_ResourceConfig_prb_Num
[
MAX_NUM_CCs
];
long
discRxPool_ResourceConfig_prb_Start
[
MAX_NUM_CCs
];
long
discRxPool_ResourceConfig_prb_End
[
MAX_NUM_CCs
];
SL_OffsetIndicator_r12_PR
discRxPool_ResourceConfig_offsetIndicator_present
[
MAX_NUM_CCs
];
long
discRxPool_ResourceConfig_offsetIndicator_choice
[
MAX_NUM_CCs
];
SubframeBitmapSL_r12_PR
discRxPool_ResourceConfig_subframeBitmap_present
[
MAX_NUM_CCs
];
char
*
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
[
MAX_NUM_CCs
];
long
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
[
MAX_NUM_CCs
];
long
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
[
MAX_NUM_CCs
];
...
...
openair2/ENB_APP/enb_config.c
View file @
22bcc7a5
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_paramdef.h
View file @
22bcc7a5
...
@@ -373,6 +373,7 @@ static int DEFENBS[] = {0};
...
@@ -373,6 +373,7 @@ static int DEFENBS[] = {0};
#define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE "ue_TransmissionMode"
#define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE "ue_TransmissionMode"
//TTN - for D2D
//TTN - for D2D
//SIB18
#define ENB_CONFIG_STRING_RXPOOL_SC_CP_LEN "rxPool_sc_CP_Len"
#define ENB_CONFIG_STRING_RXPOOL_SC_CP_LEN "rxPool_sc_CP_Len"
#define ENB_CONFIG_STRING_RXPOOL_SC_PRIOD "rxPool_sc_Period"
#define ENB_CONFIG_STRING_RXPOOL_SC_PRIOD "rxPool_sc_Period"
#define ENB_CONFIG_STRING_RXPOOL_DATA_CP_LEN "rxPool_data_CP_Len"
#define ENB_CONFIG_STRING_RXPOOL_DATA_CP_LEN "rxPool_data_CP_Len"
...
@@ -380,11 +381,25 @@ static int DEFENBS[] = {0};
...
@@ -380,11 +381,25 @@ static int DEFENBS[] = {0};
#define ENB_CONFIG_STRING_RXPOOL_RC_PRB_START "rxPool_ResourceConfig_prb_Start"
#define ENB_CONFIG_STRING_RXPOOL_RC_PRB_START "rxPool_ResourceConfig_prb_Start"
#define ENB_CONFIG_STRING_RXPOOL_RC_PRB_END "rxPool_ResourceConfig_prb_End"
#define ENB_CONFIG_STRING_RXPOOL_RC_PRB_END "rxPool_ResourceConfig_prb_End"
#define ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_PRESENT "rxPool_ResourceConfig_offsetIndicator_present"
#define ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_PRESENT "rxPool_ResourceConfig_offsetIndicator_present"
#define ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_CHOICE "rxPool_ResourceConfig_offsetIndicator_choice"
#define ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_CHOICE
"rxPool_ResourceConfig_offsetIndicator_choice"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_PRESENT "rxPool_ResourceConfig_subframeBitmap_present"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_PRESENT "rxPool_ResourceConfig_subframeBitmap_present"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_BUF "rxPool_ResourceConfig_subframeBitmap_choice_bs_buf"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_BUF "rxPool_ResourceConfig_subframeBitmap_choice_bs_buf"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE "rxPool_ResourceConfig_subframeBitmap_choice_bs_size"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE "rxPool_ResourceConfig_subframeBitmap_choice_bs_size"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused"
#define ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused"
//SIB19
#define ENB_CONFIG_STRING_DISCRXPOOL_CP_LEN "discRxPool_cp_Len"
#define ENB_CONFIG_STRING_DISCRXPOOL_DISCPERIOD "discRxPool_discPeriod"
#define ENB_CONFIG_STRING_DISCRXPOOL_NUMRETX "discRxPool_numRetx"
#define ENB_CONFIG_STRING_DISCRXPOOL_NUMREPETITION "discRxPool_numRepetition"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_NUM "discRxPool_ResourceConfig_prb_Num"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_START "discRxPool_ResourceConfig_prb_Start"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_END "discRxPool_ResourceConfig_prb_End"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_PRESENT "discRxPool_ResourceConfig_offsetIndicator_present"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_CHOICE "discRxPool_ResourceConfig_offsetIndicator_choice"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_PRESENT "discRxPool_ResourceConfig_subframeBitmap_present"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_BUF "discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE "discRxPool_ResourceConfig_subframeBitmap_choice_bs_size"
#define ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED "discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused"
...
@@ -471,8 +486,21 @@ static int DEFENBS[] = {0};
...
@@ -471,8 +486,21 @@ static int DEFENBS[] = {0};
{ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_CHOICE, NULL, 0, iptr:&rxPool_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_OFFSETIND_CHOICE, NULL, 0, iptr:&rxPool_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_PRESENT, NULL, 0, strptr:&rxPool_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_PRESENT, NULL, 0, strptr:&rxPool_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:&rxPool_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:&rxPool_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:&rxPool_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:&rxPool_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:&rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0} \
{ENB_CONFIG_STRING_RXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED, NULL, 0, iptr:&rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_CP_LEN, NULL, 0, strptr:&discRxPool_cp_Len, defstrval:"normal", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_DISCPERIOD, NULL, 0, strptr:&discRxPool_discPeriod, defstrval:"rf32", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_NUMRETX, NULL, 0, iptr:&discRxPool_numRetx, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_NUMREPETITION, NULL, 0, iptr:&discRxPool_numRepetition, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_NUM, NULL, 0, iptr:&discRxPool_ResourceConfig_prb_Num, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_START, NULL, 0, iptr:&discRxPool_ResourceConfig_prb_Start, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_PRB_END, NULL, 0, iptr:&discRxPool_ResourceConfig_prb_End, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_PRESENT, NULL, 0, strptr:&discRxPool_ResourceConfig_offsetIndicator_present, defstrval:"prNothing", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_OFFSETIND_CHOICE, NULL, 0, iptr:&discRxPool_ResourceConfig_offsetIndicator_choice, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_PRESENT, NULL, 0, strptr:&discRxPool_ResourceConfig_subframeBitmap_present, defstrval:"prNothing", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_BUF, NULL, 0, strptr:&discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf, defstrval:"001001", TYPE_STRING, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_SIZE, NULL, 0, iptr:&discRxPool_ResourceConfig_subframeBitmap_choice_bs_size, defintval:1, TYPE_UINT, 0}, \
{ENB_CONFIG_STRING_DISCRXPOOL_RC_SFBITMAP_CHOICE_BS_ASN_BITS_UNUSED,NULL, 0, iptr:&discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused, defintval:1, TYPE_UINT, 0} \
}
}
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
...
...
openair2/RRC/LITE/MESSAGES/asn1_msg.c
View file @
22bcc7a5
This diff is collapsed.
Click to expand it.
openair2/RRC/LITE/defs.h
View file @
22bcc7a5
...
@@ -591,7 +591,7 @@ typedef struct UE_RRC_INST_s {
...
@@ -591,7 +591,7 @@ typedef struct UE_RRC_INST_s {
SystemInformationBlockType11_t
*
sib11
[
NB_CNX_UE
];
SystemInformationBlockType11_t
*
sib11
[
NB_CNX_UE
];
//TTN - SIB18
//TTN - SIB18
SystemInformationBlockType18_r12_t
*
sib18
[
NB_CNX_UE
];
SystemInformationBlockType18_r12_t
*
sib18
[
NB_CNX_UE
];
SystemInformationBlockType19_r12_t
*
sib19
[
NB_CNX_UE
];
#if defined(Rel10) || defined(Rel14)
#if defined(Rel10) || defined(Rel14)
uint8_t
MBMS_flag
;
uint8_t
MBMS_flag
;
...
...
openair2/RRC/LITE/rrc_UE.c
View file @
22bcc7a5
...
@@ -3520,7 +3520,7 @@ static void dump_sib13( SystemInformationBlockType13_r9_t *sib13 )
...
@@ -3520,7 +3520,7 @@ static void dump_sib13( SystemInformationBlockType13_r9_t *sib13 )
}
}
#endif
#endif
//TTN
//TTN
- SIB18
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
static
void
dump_sib18
(
SystemInformationBlockType18_r12_t
*
sib18
){
static
void
dump_sib18
(
SystemInformationBlockType18_r12_t
*
sib18
){
LOG_I
(
RRC
,
"[UE] Dumping SIB18
\n
"
);
LOG_I
(
RRC
,
"[UE] Dumping SIB18
\n
"
);
...
@@ -3533,11 +3533,26 @@ static void dump_sib18(SystemInformationBlockType18_r12_t *sib18){
...
@@ -3533,11 +3533,26 @@ static void dump_sib18(SystemInformationBlockType18_r12_t *sib18){
LOG_I
(
RRC
,
" SIB18 prb_Start_r12: %d
\n
"
,
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
i
]
->
sc_TF_ResourceConfig_r12
.
prb_Start_r12
);
LOG_I
(
RRC
,
" SIB18 prb_Start_r12: %d
\n
"
,
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
i
]
->
sc_TF_ResourceConfig_r12
.
prb_Start_r12
);
LOG_I
(
RRC
,
" SIB18 prb_End_r12: %d
\n
"
,
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
i
]
->
sc_TF_ResourceConfig_r12
.
prb_End_r12
);
LOG_I
(
RRC
,
" SIB18 prb_End_r12: %d
\n
"
,
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
i
]
->
sc_TF_ResourceConfig_r12
.
prb_End_r12
);
//to add more log
//to add more log
}
}
}
//TTN - SIB19
//-----------------------------------------------------------------------------
static
void
dump_sib19
(
SystemInformationBlockType19_r12_t
*
sib19
){
LOG_I
(
RRC
,
"[UE] Dumping SIB19
\n
"
);
for
(
int
i
=
0
;
i
<
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
count
;
i
++
)
{
LOG_I
(
RRC
,
" Contents of SIB18 %d/%d
\n
"
,
i
+
1
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
count
);
LOG_I
(
RRC
,
" SIB19 cp_Len_r12: %d
\n
"
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
i
]
->
cp_Len_r12
);
LOG_I
(
RRC
,
" SIB19 discPeriod_r12: %d
\n
"
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
i
]
->
discPeriod_r12
);
LOG_I
(
RRC
,
" SIB19 numRetx_r12: %d
\n
"
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
i
]
->
numRetx_r12
);
LOG_I
(
RRC
,
" SIB19 numRepetition_r12: %d
\n
"
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
i
]
->
numRepetition_r12
);
LOG_I
(
RRC
,
" SIB19 prb_Num_r12: %d
\n
"
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
i
]
->
tf_ResourceConfig_r12
.
prb_Num_r12
);
LOG_I
(
RRC
,
" SIB19 prb_Start_r12: %d
\n
"
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
i
]
->
tf_ResourceConfig_r12
.
prb_Start_r12
);
LOG_I
(
RRC
,
" SIB19 prb_End_r12: %d
\n
"
,
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
i
]
->
tf_ResourceConfig_r12
.
prb_End_r12
);
//to add more log
}
}
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
static
int
decode_SI
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
uint8_t
eNB_index
)
static
int
decode_SI
(
const
protocol_ctxt_t
*
const
ctxt_pP
,
const
uint8_t
eNB_index
)
{
{
...
@@ -3806,6 +3821,24 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
...
@@ -3806,6 +3821,24 @@ static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_in
}
}
break
;
break
;
//TTN - SIB19
case
SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250
:
if
((
UE_rrc_inst
[
ctxt_pP
->
module_id
].
Info
[
eNB_index
].
SIStatus
&
16384
)
==
0
)
{
UE_rrc_inst
[
ctxt_pP
->
module_id
].
Info
[
eNB_index
].
SIStatus
|=
16384
;
new_sib
=
1
;
memcpy
(
UE_rrc_inst
[
ctxt_pP
->
module_id
].
sib19
[
eNB_index
],
&
typeandinfo
->
choice
.
sib19_v1250
,
sizeof
(
SystemInformationBlockType19_r12_t
)
);
LOG_I
(
RRC
,
"[UE %"
PRIu8
"] Frame %"
PRIu32
" Found SIB19 from eNB %"
PRIu8
"
\n
"
,
ctxt_pP
->
module_id
,
ctxt_pP
->
frame
,
eNB_index
);
dump_sib19
(
UE_rrc_inst
[
ctxt_pP
->
module_id
].
sib19
[
eNB_index
]
);
// adding here function to store necessary parameters to transfer to PHY layer
LOG_I
(
RRC
,
"[FRAME %05"
PRIu32
"][RRC_UE][MOD %02"
PRIu8
"][][--- MAC_CONFIG_REQ (SIB19 params eNB %"
PRIu8
") --->][MAC_UE][MOD %02"
PRIu8
"][]
\n
"
,
ctxt_pP
->
frame
,
ctxt_pP
->
module_id
,
eNB_index
,
ctxt_pP
->
module_id
);
//should modify function rrc_mac_config_req_ue() to transfer SL-related parameters to PHY
//rrc_mac_config_req_ue();
}
break
;
default:
default:
break
;
break
;
}
}
...
...
openair2/RRC/LITE/rrc_eNB.c
View file @
22bcc7a5
...
@@ -225,37 +225,74 @@ init_SI(
...
@@ -225,37 +225,74 @@ init_SI(
//TTN - SIB 18
//TTN - SIB 18
for
(
int
j
=
0
;
j
<
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
count
;
j
++
)
{
for
(
int
j
=
0
;
j
<
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
count
;
j
++
)
{
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" Contents of SIB18 %d/%d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" Contents of SIB18 %d/%d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
j
+
1
,
j
+
1
,
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
count
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
count
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 rxPool_sc_CP_Len: %d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 rxPool_sc_CP_Len: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_CP_Len_r12
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_CP_Len_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 sc_Period_r12: %d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 sc_Period_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_Period_r12
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_Period_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 data_CP_Len_r12: %d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 data_CP_Len_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
data_CP_Len_r12
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
data_CP_Len_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 prb_Num_r12: %d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 prb_Num_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
prb_Num_r12
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
prb_Num_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 prb_Start_r12: %d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 prb_Start_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
prb_Start_r12
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
prb_Start_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 prb_End_r12: %d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 prb_End_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
prb_End_r12
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
prb_End_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 offsetIndicator: %d
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 offsetIndicator: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
offsetIndicator_r12
.
choice
.
small_r12
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
offsetIndicator_r12
.
choice
.
small_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 subframeBitmap_choice_bs_buf: %s
\n
"
,
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB18 subframeBitmap_choice_bs_buf: %s
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
subframeBitmap_r12
.
choice
.
bs16_r12
.
buf
);
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib18
->
commConfig_r12
->
commRxPool_r12
.
list
.
array
[
j
]
->
sc_TF_ResourceConfig_r12
.
subframeBitmap_r12
.
choice
.
bs16_r12
.
buf
);
}
}
//TTN - SIB 19
for
(
int
j
=
0
;
j
<
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
count
;
j
++
)
{
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" Contents of SIB19 %d/%d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
j
+
1
,
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
count
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 cp_Len_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
cp_Len_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 discPeriod_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
discPeriod_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 numRetx_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
numRetx_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 numRepetition_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
numRepetition_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 tf_ResourceConfig_r12 prb_Num_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
tf_ResourceConfig_r12
.
prb_Num_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 tf_ResourceConfig_r12 prb_Start_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
tf_ResourceConfig_r12
.
prb_Start_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 tf_ResourceConfig_r12 prb_End_r12: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
tf_ResourceConfig_r12
.
prb_End_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 tf_ResourceConfig_r12 offsetIndicator: %d
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
tf_ResourceConfig_r12
.
offsetIndicator_r12
.
choice
.
small_r12
);
LOG_I
(
RRC
,
PROTOCOL_RRC_CTXT_FMT
" SIB19 tf_ResourceConfig_r12 subframeBitmap_choice_bs_buf: %s
\n
"
,
PROTOCOL_RRC_CTXT_ARGS
(
ctxt_pP
),
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
sib19
->
discConfig_r12
->
discRxPool_r12
.
list
.
array
[
j
]
->
tf_ResourceConfig_r12
.
subframeBitmap_r12
.
choice
.
bs16_r12
.
buf
);
}
#if defined(Rel10) || defined(Rel14)
#if defined(Rel10) || defined(Rel14)
if
(
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
MBMS_flag
>
0
)
{
if
(
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
carrier
[
CC_id
].
MBMS_flag
>
0
)
{
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210-d2d.conf
View file @
22bcc7a5
...
@@ -106,6 +106,7 @@ eNBs =
...
@@ -106,6 +106,7 @@ eNBs =
ue_TimersAndConstants_n311
=
1
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
ue_TransmissionMode
=
1
;
//
Parameters
for
SIB18
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_Period
=
"sf80"
;
rxPool_sc_Period
=
"sf80"
;
rxPool_data_CP_Len
=
"normal"
;
rxPool_data_CP_Len
=
"normal"
;
...
@@ -118,9 +119,25 @@ eNBs =
...
@@ -118,9 +119,25 @@ eNBs =
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"1100110011001100"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"1100110011001100"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
16
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
16
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
rxPool_ResourceConfig_dataHoppingConfig_hoppingParameter
=
0
;
/*
rxPool_dataHoppingConfig_hoppingParameter
=
0
;
rxPool_dataHoppingConfig_numSubbands
=
"ns1"
;
rxPool_dataHoppingConfig_rbOffset
=
0
;
rxPool_commTxResourceUC
-
ReqAllowed
=
"TRUE"
;
*/
//
Parameters
for
SIB19
discRxPool_cp_Len
=
"normal"
discRxPool_discPeriod
=
"rf64"
discRxPool_numRetx
=
1
;
discRxPool_numRepetition
=
2
;
discRxPool_ResourceConfig_prb_Num
=
3
;
discRxPool_ResourceConfig_prb_Start
=
4
;
discRxPool_ResourceConfig_prb_End
=
5
;
discRxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
discRxPool_ResourceConfig_offsetIndicator_choice
=
4
;
discRxPool_ResourceConfig_subframeBitmap_present
=
"prBs16"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"1001100110011001"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
16
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
}
}
);
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment