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
canghaiwuhen
OpenXG-RAN
Commits
90c53b11
Commit
90c53b11
authored
Feb 25, 2019
by
Louis Adrien Dufrene
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'eMTC-testing' into eMTC-testing-orange
parents
27d01dce
669724c1
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
86 additions
and
57 deletions
+86
-57
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+1
-1
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+4
-4
openair1/PHY/LTE_TRANSPORT/print_stats.c
openair1/PHY/LTE_TRANSPORT/print_stats.c
+1
-1
openair1/PHY/LTE_TRANSPORT/pucch.c
openair1/PHY/LTE_TRANSPORT/pucch.c
+6
-6
openair1/PHY/LTE_TRANSPORT/transport_eNB.h
openair1/PHY/LTE_TRANSPORT/transport_eNB.h
+2
-0
openair1/PHY/LTE_TRANSPORT/transport_proto.h
openair1/PHY/LTE_TRANSPORT/transport_proto.h
+5
-1
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
+1
-1
openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
+1
-1
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+2
-2
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+39
-14
openair2/COMMON/platform_types.h
openair2/COMMON/platform_types.h
+1
-1
openair2/COMMON/rrc_messages_types.h
openair2/COMMON/rrc_messages_types.h
+1
-1
openair2/LAYER2/MAC/defs.h
openair2/LAYER2/MAC/defs.h
+12
-12
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+2
-5
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
+4
-3
openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
+2
-2
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+2
-2
No files found.
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
View file @
90c53b11
...
...
@@ -86,7 +86,7 @@ int32_t lte_ul_channel_estimation(PHY_VARS_eNB *eNB,
int32_t
temp_in_ifft_0
[
2048
*
2
]
__attribute__
((
aligned
(
32
)));
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if
(
eNB
->
ulsch
[
UE_id
]
->
ue_type
>
0
)
harq_pid
=
0
;
else
#endif
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
90c53b11
...
...
@@ -300,7 +300,8 @@ void fill_dci_and_dlsch(PHY_VARS_eNB *eNB,int frame,int subframe,L1_rxtx_proc_t
dlsch0
=
eNB
->
dlsch
[
UE_id
][
0
];
dlsch1
=
eNB
->
dlsch
[
UE_id
][
1
];
dlsch0
->
ue_type
=
0
;
dlsch1
->
ue_type
=
0
;
beamforming_mode
=
eNB
->
transmission_mode
[(
uint8_t
)
UE_id
]
<
7
?
0
:
eNB
->
transmission_mode
[(
uint8_t
)
UE_id
];
dlsch0_harq
=
dlsch0
->
harq_processes
[
rel8
->
harq_process
];
dlsch0_harq
->
codeword
=
0
;
...
...
@@ -1559,7 +1560,6 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc,mDCI_ALLOC_t *dc
case
10
:
// Format 6-1A
dci_alloc
->
format
=
format6_1A
;
dlsch0
->
active
=
1
;
switch
(
fp
->
N_RB_DL
)
{
case
25
:
...
...
@@ -1630,7 +1630,6 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc,mDCI_ALLOC_t *dc
break
;
case
11
:
// Format 6-1B
dci_alloc
->
format
=
format6_1B
;
dlsch0
->
active
=
1
;
switch
(
fp
->
N_RB_DL
)
{
case
25
:
...
...
@@ -1670,7 +1669,6 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc,mDCI_ALLOC_t *dc
}
case
12
:
// Format 6-2
dci_alloc
->
format
=
format6_2
;
dlsch0
->
active
=
1
;
switch
(
fp
->
N_RB_DL
)
{
case
25
:
dci_alloc
->
dci_length
=
sizeof_DCI6_2_5MHz_t
;
...
...
@@ -1719,6 +1717,8 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc,mDCI_ALLOC_t *dc
}
AssertFatal
(
rel13
->
harq_process
<
8
,
"ERROR: Format 6_1A: harq_pid=%d >= 8
\n
"
,
rel13
->
harq_process
);
dlsch0
->
ue_type
=
rel13
->
ce_mode
;
dlsch0_harq
=
dlsch0
->
harq_processes
[
rel13
->
harq_process
];
dlsch0_harq
->
codeword
=
0
;
...
...
openair1/PHY/LTE_TRANSPORT/print_stats.c
View file @
90c53b11
...
...
@@ -507,7 +507,7 @@ int dump_ue_stats(PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,char* buffer, int length
len
+=
sprintf
(
&
buffer
[
len
],
"[UE PROC] DLSCH Total %d, Error %d, FER %d
\n
"
,
ue
->
dlsch_received
[
0
],
ue
->
dlsch_errors
[
0
],
ue
->
dlsch_fer
[
0
]);
len
+=
sprintf
(
&
buffer
[
len
],
"[UE PROC] DLSCH (SI) Total %d, Error %d
\n
"
,
ue
->
dlsch_SI_received
[
0
],
ue
->
dlsch_SI_errors
[
0
]);
len
+=
sprintf
(
&
buffer
[
len
],
"[UE PROC] DLSCH (RA) Total %d, Error %d
\n
"
,
ue
->
dlsch_ra_received
[
0
],
ue
->
dlsch_ra_errors
[
0
]);
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
int
i
=
0
;
//len += sprintf(&buffer[len], "[UE PROC] MCH Total %d\n", ue->dlsch_mch_received[0]);
...
...
openair1/PHY/LTE_TRANSPORT/pucch.c
View file @
90c53b11
...
...
@@ -719,7 +719,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB,
int
frame
,
uint8_t
subframe
,
uint8_t
pucch1_thres
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
uint8_t
br_flag
#endif
)
...
...
@@ -989,7 +989,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB,
//for (j=0,l=0;l<(nsymb-1);l++) {
for
(
j
=
0
,
l
=
0
;
l
<
nsymb
;
l
++
)
{
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if
(
br_flag
>
0
)
{
if
((
m
&
1
)
==
0
)
re_offset
=
(
m
*
6
)
+
frame_parms
->
first_carrier_offset
;
...
...
@@ -1226,9 +1226,9 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB,
}
//phase
stat_max
/=
(
12
);
//normalize to energy per symbol and RE
#ifdef DEBUG_PUCCH_RX
printf
(
"[eNB] PUCCH fmt1a/b: stat_max : %d, phase_max : %d
\n
"
,
stat_max
,
phase_max
);
#endif
//
#ifdef DEBUG_PUCCH_RX
LOG_I
(
PHY
,
"[eNB] PUCCH fmt1a/b: stat_max : %d (%d : sigma2 %d), phase_max : %d
\n
"
,
stat_max
,
dB_fixed
(
stat_max
),
sigma2_dB
,
phase_max
);
//
#endif
stat_re
=
0
;
stat_im
=
0
;
...
...
@@ -1385,7 +1385,7 @@ uint32_t rx_pucch(PHY_VARS_eNB *eNB,
#if defined(USRP_REC_PLAY)
LOG_D
(
PHY
,
"PUCCH 1a/b: NAK subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d
\n
"
,
subframe
,
sigma2_dB
,
dB_fixed
(
stat_max
),
pucch1_thres
);
#else
LOG_
D
(
PHY
,
"PUCCH 1a/b: subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d
\n
"
,
subframe
,
sigma2_dB
,
dB_fixed
(
stat_max
),
pucch1_thres
);
LOG_
I
(
PHY
,
"PUCCH 1a/b: subframe %d : sigma2_dB %d, stat_max %d, pucch1_thres %d
\n
"
,
subframe
,
sigma2_dB
,
dB_fixed
(
stat_max
),
pucch1_thres
);
#endif
*
payload
=
4
;
// DTX
((
int16_t
*
)
&
eNB
->
pucch1ab_stats
[
UE_id
][(
subframe
<<
10
)
+
(
eNB
->
pucch1ab_stats_cnt
[
UE_id
][
subframe
])])[
0
]
=
(
int16_t
)(
stat_re
);
...
...
openair1/PHY/LTE_TRANSPORT/transport_eNB.h
View file @
90c53b11
...
...
@@ -153,6 +153,8 @@ typedef struct {
#else
uint8_t
active
;
#endif
/// indicator of UE type (0 = LTE, 1,2 = Cat-M)
int
ue_type
;
/// HARQ process mask, indicates which processes are currently active
uint16_t
harq_mask
;
/// Indicator of TX activation per subframe. Used during PUCCH detection for ACK/NAK.
...
...
openair1/PHY/LTE_TRANSPORT/transport_proto.h
View file @
90c53b11
...
...
@@ -553,7 +553,11 @@ uint32_t rx_pucch(PHY_VARS_eNB *phy_vars_eNB,
uint8_t
*
payload
,
int
frame
,
uint8_t
subframe
,
uint8_t
pucch1_thres
);
uint8_t
pucch1_thres
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
int
br_flag
#endif
);
/*!
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_demodulation.c
View file @
90c53b11
...
...
@@ -1127,7 +1127,7 @@ void rx_ulsch(PHY_VARS_eNB *eNB,
int16_t
*
llrp
;
int
subframe
=
proc
->
subframe_rx
;
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if
(
ulsch
[
UE_id
]
->
ue_type
>
0
)
harq_pid
=
0
;
else
#endif
...
...
openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
View file @
90c53b11
...
...
@@ -1361,7 +1361,7 @@ void init_ul_hopping(LTE_DL_FRAME_PARMS *frame_parms);
@param nB nB from 36.304 (0=4T,1=2T,2=T,3=T/2,4=T/4,5=T/8,6=T/16,7=T/32*/
int
init_ue_paging_info
(
PHY_VARS_UE
*
ue
,
long
defaultPagingCycle
,
long
nB
);
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
void
init_mpdcch
(
PHY_VARS_eNB
*
eNB
);
#endif
...
...
openair1/SCHED/fapi_l1.c
View file @
90c53b11
...
...
@@ -652,7 +652,7 @@ void handle_uci_harq_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request_pdu
if
(
nfapi_mode
==
2
)
return
;
LOG_
D
(
PHY
,
"Frame %d, Subframe %d: Programming UCI_HARQ process (type %d)
\n
"
,
frame
,
subframe
,
HARQ
);
LOG_
I
(
PHY
,
"Frame %d, Subframe %d: Programming UCI_HARQ process (type %d)
\n
"
,
frame
,
subframe
,
HARQ
);
uci
->
frame
=
frame
;
uci
->
subframe
=
subframe
;
uci
->
rnti
=
ul_config_pdu
->
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
;
...
...
@@ -744,7 +744,7 @@ rel8->resource_block_start,rel8->number_of_resource_blocks);
AssertFatal
((
UE_id
=
find_uci
(
ul_config_pdu
->
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
,
proc
->
frame_tx
,
proc
->
subframe_tx
,
eNB
,
SEARCH_EXIST_OR_FREE
))
>=
0
,
"No available UE UCI for rnti %x
\n
"
,
ul_config_pdu
->
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
);
LOG_
D
(
PHY
,
"Applying UL UCI_HARQ config for UE %d, rnti %x for frame %d, subframe %d
\n
"
,
LOG_
I
(
PHY
,
"Applying UL UCI_HARQ config for UE %d, rnti %x for frame %d, subframe %d
\n
"
,
UE_id
,
ul_config_pdu
->
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
,
frame
,
subframe
);
handle_uci_harq_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
frame
,
subframe
,
srs_present
);
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
90c53b11
...
...
@@ -566,8 +566,11 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
harq_pid
=
dlsch0
->
harq_ids
[
frame
%
2
][
subframe
];
AssertFatal
(
harq_pid
>=
0
,
"harq_pid is negative
\n
"
);
if
(
harq_pid
>=
8
)
{
if
(
harq_pid
>=
8
)
{
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if
(
dlsch0
->
ue_type
==
0
)
#endif
LOG_E
(
PHY
,
"harq_pid:%d corrupt must be 0-7 UE_id:%d frame:%d subframe:%d rnti:%x [ %1d.%1d.%1d.%1d.%1d.%1d.%1d.%1d
\n
"
,
harq_pid
,
UE_id
,
frame
,
subframe
,
dlsch0
->
rnti
,
dlsch0
->
harq_ids
[
frame
%
2
][
0
],
dlsch0
->
harq_ids
[
frame
%
2
][
1
],
...
...
@@ -577,9 +580,8 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
dlsch0
->
harq_ids
[
frame
%
2
][
5
],
dlsch0
->
harq_ids
[
frame
%
2
][
6
],
dlsch0
->
harq_ids
[
frame
%
2
][
7
]);
}
else
{
}
else
{
// generate pdsch
pdsch_procedures
(
eNB
,
...
...
@@ -589,7 +591,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
dlsch1
,
&
eNB
->
UE_stats
[(
uint32_t
)
UE_id
],
0
);
}
}
}
...
...
@@ -743,7 +745,11 @@ void uci_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc)
&
SR_payload
,
frame
,
subframe
,
PUCCH1_THRES
);
PUCCH1_THRES
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
uci
->
ue_type
#endif
);
LOG_D
(
PHY
,
"[eNB %d][SR %x] Frame %d subframe %d Checking SR is %d (uci.type %d SR n1pucch is %d)
\n
"
,
eNB
->
Mod_id
,
uci
->
rnti
,
...
...
@@ -763,7 +769,7 @@ void uci_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc)
}
case
HARQ
:
if
(
fp
->
frame_type
==
FDD
)
{
LOG_
D
(
PHY
,
"Frame %d Subframe %d Demodulating PUCCH (UCI %d) for ACK/NAK (uci->pucch_fmt %d,uci->type %d.uci->frame %d, uci->subframe %d): n1_pucch0 %d SR_payload %d
\n
"
,
LOG_
I
(
PHY
,
"Frame %d Subframe %d Demodulating PUCCH (UCI %d) for ACK/NAK (uci->pucch_fmt %d,uci->type %d.uci->frame %d, uci->subframe %d): n1_pucch0 %d SR_payload %d
\n
"
,
frame
,
subframe
,
i
,
uci
->
pucch_fmt
,
uci
->
type
,
uci
->
frame
,
uci
->
subframe
,
uci
->
n_pucch_1
[
0
][
0
],
...
...
@@ -778,7 +784,12 @@ void uci_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc)
pucch_b0b1
[
0
],
frame
,
subframe
,
PUCCH1a_THRES
);
PUCCH1a_THRES
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
uci
->
ue_type
#endif
);
/* cancel SR detection if reception on n1_pucch0 is better than on SR PUCCH resource index, otherwise send it up to MAC */
...
...
@@ -798,11 +809,15 @@ void uci_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc)
pucch_b0b1
[
0
],
frame
,
subframe
,
PUCCH1a_THRES
);
PUCCH1a_THRES
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
uci
->
ue_type
#endif
);
}
LOG_
D
(
PHY
,
"[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (FDD) payload %d (metric %d)
\n
"
,
LOG_
I
(
PHY
,
"[eNB %d][PDSCH %x] Frame %d subframe %d pucch1a (FDD) payload %d (metric %d)
\n
"
,
eNB
->
Mod_id
,
uci
->
rnti
,
frame
,
subframe
,
...
...
@@ -828,7 +843,12 @@ void uci_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc)
pucch_b0b1
[
0
],
frame
,
subframe
,
PUCCH1a_THRES
);
PUCCH1a_THRES
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
uci
->
ue_type
#endif
);
if
(
uci
->
type
==
HARQ_SR
&&
metric
[
0
]
>
metric_SR
)
SR_payload
=
0
;
else
if
(
SR_payload
==
1
)
fill_sr_indication
(
eNB
,
uci
->
rnti
,
frame
,
subframe
,
metric_SR
);
...
...
@@ -843,7 +863,12 @@ void uci_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc)
pucch_b0b1
[
0
],
frame
,
subframe
,
PUCCH1a_THRES
);
PUCCH1a_THRES
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
uci
->
ue_type
#endif
);
}
#else
// if SR was detected, use the n1_pucch from SR
...
...
@@ -1289,7 +1314,7 @@ void pusch_procedures(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc)
stop_meas
(
&
eNB
->
ulsch_decoding_stats
);
LOG_
D
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d ulsch_harq->cqi_crc_status:%d ackBits:%d ulsch_decoding_stats[t:%lld max:%lld]
\n
"
,
LOG_
I
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d ulsch_harq->cqi_crc_status:%d ackBits:%d ulsch_decoding_stats[t:%lld max:%lld]
\n
"
,
eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
ulsch
->
rnti
,
...
...
openair2/COMMON/platform_types.h
View file @
90c53b11
...
...
@@ -236,7 +236,7 @@ typedef struct protocol_ctxt_s {
sub_frame_t
subframe
;
/*!< \brief LTE sub frame number.*/
eNB_index_t
eNB_index
;
/*!< \brief valid for UE indicating the index of connected eNB(s) */
boolean_t
configured
;
/*!< \brief flag indicating whether the instance is configured or not */
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
boolean_t
brOption
;
#endif
}
protocol_ctxt_t
;
...
...
openair2/COMMON/rrc_messages_types.h
View file @
90c53b11
...
...
@@ -146,7 +146,7 @@ typedef struct RadioResourceConfig_s {
long
ue_TimersAndConstants_n311
;
long
ue_TransmissionMode
;
long
ue_multiple_max
;
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
//SIB2 BR Options
long
*
preambleTransMax_CE_r13
;
BOOLEAN_t
prach_ConfigCommon_v1310
;
...
...
openair2/LAYER2/MAC/defs.h
View file @
90c53b11
...
...
@@ -61,13 +61,13 @@
#include "RACH-ConfigCommon.h"
#include "MeasObjectToAddModList.h"
#include "MobilityControlInfo.h"
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
#include "MBSFN-AreaInfoList-r9.h"
#include "MBSFN-SubframeConfigList.h"
#include "PMCH-InfoList-r9.h"
#include "SCellToAddMod-r10.h"
#endif
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
#include "SystemInformationBlockType1-v1310-IEs.h"
#endif
...
...
@@ -87,7 +87,7 @@
#define SCH_PAYLOAD_SIZE_MAX 4096
/// Logical channel ids from 36-311 (Note BCCH is not specified in 36-311, uses the same as first DRB)
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
// Mask for identifying subframe for MBMS
#define MBSFN_TDD_SF3 0x80// for TDD
...
...
@@ -283,7 +283,7 @@ typedef struct {
uint8_t
payload
[
PCCH_PAYLOAD_SIZE_MAX
]
;
}
__attribute__
((
__packed__
))
PCCH_PDU
;
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
/*! \brief MCCH payload */
typedef
struct
{
uint8_t
payload
[
MCCH_PAYLOAD_SIZE_MAX
]
;
...
...
@@ -340,7 +340,7 @@ typedef struct {
/*!\brief LCID of padding LCID for DLSCH */
#define SHORT_PADDING 31
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
// MCH LCHAN IDs (table6.2.1-4 TS36.321)
/*!\brief LCID of MCCH for DL */
#define MCCH_LCHANID 0
...
...
@@ -759,7 +759,7 @@ typedef struct {
eNB_UE_estimated_distances
distance
;
#endif
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint8_t
rach_resource_type
;
uint16_t
mpdcch_repetition_cnt
;
...
...
@@ -923,7 +923,7 @@ typedef struct {
uint8_t
msg4_rrc_sdu_length
;
uint32_t
msg4_delay
;
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
uint8_t
rach_resource_type
;
uint8_t
msg2_mpdcch_repetition_cnt
;
uint8_t
msg2_mpdcch_done
;
...
...
@@ -985,7 +985,7 @@ typedef struct {
uint32_t
dl_CarrierFreq
;
BCCH_BCH_Message_t
*
mib
;
RadioResourceConfigCommonSIB_t
*
radioResourceConfigCommon
;
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
RadioResourceConfigCommonSIB_t
*
radioResourceConfigCommon_BR
;
#endif
TDD_Config_t
*
tdd_Config
;
...
...
@@ -1012,7 +1012,7 @@ typedef struct {
struct
MBSFN_SubframeConfig
*
mbsfn_SubframeConfig
[
8
];
/// number of subframe allocation pattern available for MBSFN sync area
uint8_t
num_sf_allocation_pattern
;
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
/// MBMS Flag
uint8_t
MBMS_flag
;
/// Outgoing MCCH pdu for PHY
...
...
@@ -1034,7 +1034,7 @@ typedef struct {
/// Outgoing MCH pdu for PHY
MCH_PDU
MCH_pdu
;
#endif
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
/// Rel13 parameters from SIB1
SystemInformationBlockType1_v1310_IEs_t
*
sib1_v13ext
;
/// Counter for SIB1-BR scheduling
...
...
@@ -1222,7 +1222,7 @@ typedef struct {
struct
RACH_ConfigDedicated
*
rach_ConfigDedicated
;
/// pointer to RRC PHY configuration
struct
PhysicalConfigDedicated
*
physicalConfigDedicated
;
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
/// pointer to RRC PHY configuration SCEll
struct
PhysicalConfigDedicatedSCell_r10
*
physicalConfigDedicatedSCell_r10
;
#endif
...
...
@@ -1298,7 +1298,7 @@ typedef struct {
struct
MBSFN_SubframeConfig
*
mbsfn_SubframeConfig
[
8
];
// FIXME replace 8 by MAX_MBSFN_AREA?
/// number of subframe allocation pattern available for MBSFN sync area
uint8_t
num_sf_allocation_pattern
;
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
/// number of active MBSFN area
uint8_t
num_active_mbsfn_area
;
/// MBSFN Area Info
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
90c53b11
...
...
@@ -261,12 +261,9 @@ schedule_SR(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP)
ul_req_body
=
&
ul_req
->
ul_config_request_body
;
// drop the allocation if the UE hasn't send RRCConnectionSetupComplete yet
if
(
mac_eNB_get_rrc_status
(
module_idP
,
UE_RNTI
(
module_idP
,
UE_id
))
<
RRC_CONNECTED
)
continue
;
//
if (mac_eNB_get_rrc_status(module_idP, UE_RNTI(module_idP, UE_id)) < RRC_CONNECTED) continue;
AssertFatal
(
UE_list
->
UE_template
[
CC_id
][
UE_id
].
physicalConfigDedicated
!=
NULL
,
"physicalConfigDedicated is null for UE %d
\n
"
,
UE_id
);
if
(
UE_list
->
UE_template
[
CC_id
][
UE_id
].
physicalConfigDedicated
==
NULL
)
continue
;
if
((
SRconfig
=
UE_list
->
UE_template
[
CC_id
][
UE_id
].
physicalConfigDedicated
->
schedulingRequestConfig
)
!=
NULL
)
{
if
(
SRconfig
->
present
==
LTE_SchedulingRequestConfig_PR_setup
)
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_RA.c
View file @
90c53b11
...
...
@@ -1247,16 +1247,17 @@ check_Msg4_retransmission(module_id_t module_idP, int CC_idP,
dl_config_pdu
=
&
dl_req_body
->
dl_config_pdu_list
[
dl_req_body
->
number_pdu
];
N_RB_DL
=
to_prb
(
cc
[
CC_idP
].
mib
->
message
.
dl_Bandwidth
);
LOG_
D
(
MAC
,
LOG_
I
(
MAC
,
"[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d: Checking if Msg4 for harq_pid %d was acknowledged (round %d), UE_id: %d
\n
"
,
module_idP
,
CC_idP
,
frameP
,
subframeP
,
ra
->
harq_pid
,
round
,
UE_id
);
if
(
round
!=
8
)
{
#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if
(
ra
->
rach_resource_type
>
0
)
{
if
(
ra
->
rach_resource_type
>
0
&&
round
>
0
)
{
AssertFatal
(
1
==
0
,
"Msg4 Retransmissions not handled yet for BL/CE UEs
\n
"
);
"Msg4 Retransmissions not handled yet for BL/CE UEs, Frame %d, subframeP %d harq_pid %d round %d, UE_id: %d
\n
"
,
frameP
,
subframeP
,
ra
->
harq_pid
,
round
,
UE_id
);
}
else
#endif
{
...
...
openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
View file @
90c53b11
...
...
@@ -1451,7 +1451,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
MBMS_FLAG_NO
,
lcid
,
TBS
-
ta_len
-
header_len_dcch
-
sdu_length_total
-
header_len_dtch
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
0
,
0
#endif
);
...
...
@@ -1472,7 +1472,7 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
lcid
,
TBS
,
//not used
(
char
*
)
&
dlsch_buffer
[
sdu_length_total
]
#if
def Rel14
#if
(LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,
0
,
0
#endif
);
...
...
openair2/RRC/LTE/rrc_eNB.c
View file @
90c53b11
...
...
@@ -5371,7 +5371,7 @@ rrc_eNB_configure_rbs_handover(struct rrc_eNB_ue_context_s *ue_context_p, protoc
NULL
,
NULL
,
NULL
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
,
(
LTE_PMCH_InfoList_r9_t
*
)
NULL
#endif
,
NULL
);
...
...
@@ -5379,7 +5379,7 @@ rrc_eNB_configure_rbs_handover(struct rrc_eNB_ue_context_s *ue_context_p, protoc
ue_context_p
->
ue_context
.
SRB_configList
,
(
LTE_DRB_ToAddModList_t
*
)
NULL
,
(
LTE_DRB_ToReleaseList_t
*
)
NULL
#if
defined(Rel10) || defined(Rel14
)
#if
(LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)
)
,
(
LTE_PMCH_InfoList_r9_t
*
)
NULL
,
0
,
0
#endif
...
...
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