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
spbro
OpenXG-RAN
Commits
16209b05
Commit
16209b05
authored
Jun 24, 2020
by
Andrew Burger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changes for supporting UL_config req and DCI0_req
parent
6a34a8ad
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
59 additions
and
30 deletions
+59
-30
openair2/PHY_INTERFACE/phy_stub_UE.c
openair2/PHY_INTERFACE/phy_stub_UE.c
+47
-24
openair2/PHY_INTERFACE/phy_stub_UE.h
openair2/PHY_INTERFACE/phy_stub_UE.h
+12
-6
No files found.
openair2/PHY_INTERFACE/phy_stub_UE.c
View file @
16209b05
...
@@ -438,7 +438,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -438,7 +438,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
uint16_t
frame
,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
subframe
,
uint8_t
srs_present
,
uint8_t
srs_present
,
int
index
)
{
int
index
,
nfapi_ul_config_request_t
*
ul_config_req
)
{
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_PDU_TYPE
)
{
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_PDU_TYPE
)
{
LOG_D
(
PHY
,
LOG_D
(
PHY
,
"Applying UL config for UE, rnti %x for frame %d, subframe %d
\n
"
,
"Applying UL config for UE, rnti %x for frame %d, subframe %d
\n
"
,
...
@@ -457,7 +458,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -457,7 +458,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
Mod_id
,
Mod_id
,
frame
,
frame
,
subframe
);
subframe
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -465,7 +467,7 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -465,7 +467,7 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
// Modification
// Modification
UE_mac_inst
[
Mod_id
].
UE_mode
[
0
]
=
PUSCH
;
UE_mac_inst
[
Mod_id
].
UE_mode
[
0
]
=
PUSCH
;
...
@@ -475,7 +477,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -475,7 +477,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
}
else
{
}
else
{
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -483,7 +486,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -483,7 +486,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
ulsch_buffer
,
ulsch_buffer
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
}
}
}
}
}
}
...
@@ -502,7 +506,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -502,7 +506,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
uint8_t
access_mode
=
SCHEDULED_ACCESS
;
uint8_t
access_mode
=
SCHEDULED_ACCESS
;
if
(
buflen
>
0
)
{
if
(
buflen
>
0
)
{
if
(
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
==
1
)
{
// Msg3 case
if
(
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
==
1
)
{
// Msg3 case
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -510,7 +515,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -510,7 +515,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
// Modification
// Modification
...
@@ -518,7 +524,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -518,7 +524,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
=
0
;
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
=
0
;
}
else
{
}
else
{
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -526,12 +533,14 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -526,12 +533,14 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
ulsch_buffer
,
ulsch_buffer
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
}
}
}
}
if
(
ulsch_harq_information
!=
NULL
)
if
(
ulsch_harq_information
!=
NULL
)
fill_ulsch_harq_indication_UE_MAC
(
fill_ulsch_harq_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
);
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
,
ul_config_req
);
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_CQI_RI_PDU_TYPE
)
{
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_CQI_RI_PDU_TYPE
)
{
uint8_t
ulsch_buffer
[
5477
]
__attribute__
((
aligned
(
32
)));
uint8_t
ulsch_buffer
[
5477
]
__attribute__
((
aligned
(
32
)));
...
@@ -541,7 +550,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -541,7 +550,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
uint8_t
access_mode
=
SCHEDULED_ACCESS
;
uint8_t
access_mode
=
SCHEDULED_ACCESS
;
if
(
buflen
>
0
)
{
if
(
buflen
>
0
)
{
if
(
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
==
1
)
{
// Msg3 case
if
(
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
==
1
)
{
// Msg3 case
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -549,7 +559,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -549,7 +559,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
// Modification
// Modification
...
@@ -557,7 +568,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -557,7 +568,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
=
0
;
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
=
0
;
}
else
{
}
else
{
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -565,7 +577,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -565,7 +577,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
ulsch_buffer
,
ulsch_buffer
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
}
}
}
}
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_CQI_HARQ_RI_PDU_TYPE
)
{
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_CQI_HARQ_RI_PDU_TYPE
)
{
...
@@ -578,7 +591,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -578,7 +591,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
uint8_t
access_mode
=
SCHEDULED_ACCESS
;
uint8_t
access_mode
=
SCHEDULED_ACCESS
;
if
(
buflen
>
0
)
{
if
(
buflen
>
0
)
{
if
(
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
==
1
)
{
// Msg3 case
if
(
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
==
1
)
{
// Msg3 case
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -586,7 +600,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -586,7 +600,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
UE_mac_inst
[
Mod_id
].
RA_prach_resources
.
Msg3
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
Msg3_transmitted
(
Mod_id
,
0
,
frame
,
0
);
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
// UE_mac_inst[Mod_id].first_ULSCH_Tx = 0;
// Modification
// Modification
...
@@ -594,7 +609,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -594,7 +609,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
=
0
;
UE_mac_inst
[
Mod_id
].
first_ULSCH_Tx
=
0
;
}
else
{
}
else
{
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
ue_get_sdu
(
Mod_id
,
0
,
frame
,
subframe
,
0
,
ulsch_buffer
,
buflen
,
&
access_mode
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
);
fill_crc_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
0
,
index
,
rnti
,
ul_config_req
);
fill_rx_indication_UE_MAC
(
Mod_id
,
fill_rx_indication_UE_MAC
(
Mod_id
,
frame
,
frame
,
subframe
,
subframe
,
...
@@ -602,18 +618,21 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -602,18 +618,21 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
ulsch_buffer
,
ulsch_buffer
,
buflen
,
buflen
,
rnti
,
rnti
,
index
);
index
,
ul_config_req
);
}
}
}
}
if
(
ulsch_harq_information
!=
NULL
)
if
(
ulsch_harq_information
!=
NULL
)
fill_ulsch_harq_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
);
fill_ulsch_harq_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
,
ul_config_req
);
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE
)
{
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE
)
{
uint16_t
rnti
=
ul_config_pdu
->
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
;
uint16_t
rnti
=
ul_config_pdu
->
uci_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
;
nfapi_ul_config_harq_information
*
ulsch_harq_information
=
&
ul_config_pdu
->
uci_harq_pdu
.
harq_information
;
nfapi_ul_config_harq_information
*
ulsch_harq_information
=
&
ul_config_pdu
->
uci_harq_pdu
.
harq_information
;
if
(
ulsch_harq_information
!=
NULL
)
if
(
ulsch_harq_information
!=
NULL
)
fill_uci_harq_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
);
fill_uci_harq_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
,
ul_config_req
);
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_CQI_PDU_TYPE
)
{
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_CQI_PDU_TYPE
)
{
AssertFatal
(
1
==
0
,
"NFAPI_UL_CONFIG_UCI_CQI_PDU_TYPE not handled yet
\n
"
);
AssertFatal
(
1
==
0
,
"NFAPI_UL_CONFIG_UCI_CQI_PDU_TYPE not handled yet
\n
"
);
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_CQI_HARQ_PDU_TYPE
)
{
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_CQI_HARQ_PDU_TYPE
)
{
...
@@ -627,7 +646,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -627,7 +646,8 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
ul_config_pdu
->
uci_sr_pdu
.
ue_information
.
ue_information_rel8
.
rnti
;
ul_config_pdu
->
uci_sr_pdu
.
ue_information
.
ue_information_rel8
.
rnti
;
if
(
ue_get_SR
(
Mod_id
,
0
,
frame
,
0
,
rnti
,
subframe
))
if
(
ue_get_SR
(
Mod_id
,
0
,
frame
,
0
,
rnti
,
subframe
))
fill_sr_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
rnti
);
fill_sr_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
rnti
,
ul_config_req
);
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_SR_HARQ_PDU_TYPE
)
{
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_UCI_SR_HARQ_PDU_TYPE
)
{
// AssertFatal((UE_id =
// AssertFatal((UE_id =
...
@@ -641,13 +661,15 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
...
@@ -641,13 +661,15 @@ void handle_nfapi_ul_pdu_UE_MAC(module_id_t Mod_id,
// We fill the sr_indication only if ue_get_sr() would normally instruct PHY
// We fill the sr_indication only if ue_get_sr() would normally instruct PHY
// to send a SR.
// to send a SR.
if
(
ue_get_SR
(
Mod_id
,
0
,
frame
,
0
,
rnti
,
subframe
))
if
(
ue_get_SR
(
Mod_id
,
0
,
frame
,
0
,
rnti
,
subframe
))
fill_sr_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
rnti
);
fill_sr_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
rnti
,
ul_config_req
);
nfapi_ul_config_harq_information
*
ulsch_harq_information
=
nfapi_ul_config_harq_information
*
ulsch_harq_information
=
&
ul_config_pdu
->
uci_sr_harq_pdu
.
harq_information
;
&
ul_config_pdu
->
uci_sr_harq_pdu
.
harq_information
;
if
(
ulsch_harq_information
!=
NULL
)
if
(
ulsch_harq_information
!=
NULL
)
fill_uci_harq_indication_UE_MAC
(
fill_uci_harq_indication_UE_MAC
(
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
);
Mod_id
,
frame
,
subframe
,
UL_INFO
,
ulsch_harq_information
,
rnti
,
ul_config_req
);
}
}
}
}
...
@@ -693,7 +715,7 @@ int ul_config_req_UE_MAC(nfapi_ul_config_request_t *req,
...
@@ -693,7 +715,7 @@ int ul_config_req_UE_MAC(nfapi_ul_config_request_t *req,
||
(
pdu_type
==
NFAPI_UL_CONFIG_UCI_SR_HARQ_PDU_TYPE
||
(
pdu_type
==
NFAPI_UL_CONFIG_UCI_SR_HARQ_PDU_TYPE
&&
pdu
->
uci_cqi_sr_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
==
rnti
))
{
&&
pdu
->
uci_cqi_sr_harq_pdu
.
ue_information
.
ue_information_rel8
.
rnti
==
rnti
))
{
handle_nfapi_ul_pdu_UE_MAC
(
handle_nfapi_ul_pdu_UE_MAC
(
Mod_id
,
pdu
,
sfn
,
sf
,
req
->
ul_config_request_body
.
srs_present
,
i
);
Mod_id
,
pdu
,
sfn
,
sf
,
req
->
ul_config_request_body
.
srs_present
,
i
,
req
);
}
else
{
}
else
{
// NFAPI_TRACE(NFAPI_TRACE_ERROR, "%s() PDU:%i UNKNOWN type :%d\n",
// NFAPI_TRACE(NFAPI_TRACE_ERROR, "%s() PDU:%i UNKNOWN type :%d\n",
// __FUNCTION__, i, ul_config_pdu_list[i].pdu_type);
// __FUNCTION__, i, ul_config_pdu_list[i].pdu_type);
...
@@ -1202,6 +1224,7 @@ void *ue_standalone_pnf_task(void *context)
...
@@ -1202,6 +1224,7 @@ void *ue_standalone_pnf_task(void *context)
// check to see if ul_config_req is null
// check to see if ul_config_req is null
memcpy_ul_config_req
(
NULL
,
NULL
,
&
ul_config_req
);
memcpy_ul_config_req
(
NULL
,
NULL
,
&
ul_config_req
);
}
}
break
;
}
}
default:
default:
LOG_E
(
MAC
,
"Case Statement has no corresponding nfapi message
\n
"
);
LOG_E
(
MAC
,
"Case Statement has no corresponding nfapi message
\n
"
);
...
...
openair2/PHY_INTERFACE/phy_stub_UE.h
View file @
16209b05
...
@@ -62,16 +62,19 @@ void send_nfapi_UL_indications(UL_IND_t UL_INFO);
...
@@ -62,16 +62,19 @@ void send_nfapi_UL_indications(UL_IND_t UL_INFO);
//void fill_rx_indication_UE_MAC(module_id_t Mod_id,int frame,int subframe);
//void fill_rx_indication_UE_MAC(module_id_t Mod_id,int frame,int subframe);
void
fill_rx_indication_UE_MAC
(
module_id_t
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint8_t
*
ulsch_buffer
,
uint16_t
buflen
,
uint16_t
rnti
,
int
index
);
void
fill_rx_indication_UE_MAC
(
module_id_t
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint8_t
*
ulsch_buffer
,
uint16_t
buflen
,
uint16_t
rnti
,
int
index
,
nfapi_ul_config_request_t
*
ul_config_req
);
// This function should be indicating directly to the eNB when there is a planned scheduling request at the MAC layer
// This function should be indicating directly to the eNB when there is a planned scheduling request at the MAC layer
// of the UE. It should get called from ue_get_SR()
// of the UE. It should get called from ue_get_SR()
void
fill_sr_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint16_t
rnti
);
void
fill_sr_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint16_t
rnti
,
nfapi_ul_config_request_t
*
ul_config_req
);
// In our case the this function will be always indicating ACK to the MAC of the eNB (i.e. always assuming)
// In our case the this function will be always indicating ACK to the MAC of the eNB (i.e. always assuming)
// successful decoding.
// successful decoding.
void
fill_crc_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint8_t
crc_flag
,
int
index
,
uint16_t
rnti
);
void
fill_crc_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint8_t
crc_flag
,
int
index
,
uint16_t
rnti
,
nfapi_ul_config_request_t
*
ul_config_req
);
void
fill_rach_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint8_t
ra_PreambleIndex
,
uint16_t
ra_RNTI
);
void
fill_rach_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
uint8_t
ra_PreambleIndex
,
uint16_t
ra_RNTI
);
...
@@ -80,9 +83,11 @@ void fill_rach_indication_UE_MAC(int Mod_id,int frame,int subframe, UL_IND_t *UL
...
@@ -80,9 +83,11 @@ void fill_rach_indication_UE_MAC(int Mod_id,int frame,int subframe, UL_IND_t *UL
void
fill_ulsch_cqi_indication_UE_MAC
(
int
Mod_id
,
uint16_t
frame
,
uint8_t
subframe
,
UL_IND_t
*
UL_INFO
,
uint16_t
rnti
);
void
fill_ulsch_cqi_indication_UE_MAC
(
int
Mod_id
,
uint16_t
frame
,
uint8_t
subframe
,
UL_IND_t
*
UL_INFO
,
uint16_t
rnti
);
void
fill_ulsch_harq_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
nfapi_ul_config_ulsch_harq_information
*
harq_information
,
uint16_t
rnti
);
void
fill_ulsch_harq_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
nfapi_ul_config_ulsch_harq_information
*
harq_information
,
uint16_t
rnti
,
nfapi_ul_config_request_t
*
ul_config_req
);
void
fill_uci_harq_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
nfapi_ul_config_harq_information
*
harq_information
,
uint16_t
rnti
void
fill_uci_harq_indication_UE_MAC
(
int
Mod_id
,
int
frame
,
int
subframe
,
UL_IND_t
*
UL_INFO
,
nfapi_ul_config_harq_information
*
harq_information
,
uint16_t
rnti
,
nfapi_ul_config_request_t
*
ul_config_req
/*uint8_t tdd_mapping_mode,
/*uint8_t tdd_mapping_mode,
uint16_t tdd_multiplexing_mask*/
);
uint16_t tdd_multiplexing_mask*/
);
...
@@ -90,7 +95,8 @@ int ul_config_req_UE_MAC(nfapi_ul_config_request_t* req, int frame, int subframe
...
@@ -90,7 +95,8 @@ int ul_config_req_UE_MAC(nfapi_ul_config_request_t* req, int frame, int subframe
void
handle_nfapi_ul_pdu_UE_MAC
(
module_id_t
Mod_id
,
void
handle_nfapi_ul_pdu_UE_MAC
(
module_id_t
Mod_id
,
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
,
int
index
);
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
,
int
index
,
nfapi_ul_config_request_t
*
ul_config_req
);
void
dl_config_req_UE_MAC_dci
(
int
sfn
,
void
dl_config_req_UE_MAC_dci
(
int
sfn
,
int
sf
,
int
sf
,
...
...
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