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
0752dd20
Commit
0752dd20
authored
Jun 10, 2021
by
Melissa Elkadi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Filling rx_ind with tx_req information
parent
d5a7a1a3
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
59 additions
and
16 deletions
+59
-16
executables/nr-ue.c
executables/nr-ue.c
+1
-12
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+57
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+1
-3
No files found.
executables/nr-ue.c
View file @
0752dd20
...
...
@@ -226,8 +226,8 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
LOG_E
(
NR_MAC
,
"mac->ul_config is null!
\n
"
);
continue
;
}
ul_config
->
number_pdus
=
0
;
mac
->
ul_config_request
[
2
].
number_pdus
=
0
;
fapi_nr_ul_config_prach_pdu
*
prach_pdu
=
&
ul_config
->
ul_config_list
[
ul_config
->
number_pdus
].
prach_config_pdu
;
uint8_t
nr_prach
=
nr_ue_get_rach
(
&
prach_resources
,
prach_pdu
,
mod_id
,
CC_id
,
ul_info
.
frame_tx
,
gNB_id
,
ul_info
.
slot_tx
);
...
...
@@ -240,18 +240,7 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
else
if
(
nr_prach
==
2
)
{
LOG_I
(
NR_PHY
,
"In %s: [UE %d] RA completed, setting UE mode to PUSCH
\n
"
,
__FUNCTION__
,
mod_id
);
return
NULL
;
#if 0
See if we can receive DCI format 0-1; then program ulsch
if (ul_config....msg3 flag == 1 && frame = ulcconfig.frame && slot == ul_config.slot)
{
fill_rx_ind of the gNb(&ul_config or &txdata_req);
nr_Msg3_transmitted(0, 0, frame, gNB_id);
}
// Melissa call this in the right slot and fill rx_ind for gNB: Msg3_transmitted(0, 0, frame, 0);
//UE->UE_mode[0] = PUSCH;
#endif
}
else
if
(
nr_prach
==
3
)
{
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
0752dd20
...
...
@@ -50,7 +50,63 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
because it requires PHY_vars_UE_g. We are basically not using layer
one here so we are calling a stub version of this scheduled response.
The original scheduled_response sends downlink information for the DCIs.
The physical layer provides this information. We dont need this yet.*/
The physical layer provides this information. We dont need this yet.
if we have a tx req we need to fill it and may need to go into the ul_config
to get other information. Need rnti., Fill rx_ind that goes up on socket */
if
(
scheduled_response
!=
NULL
){
module_id_t
module_id
=
scheduled_response
->
module_id
;
uint8_t
cc_id
=
scheduled_response
->
CC_id
;
int
slot
=
scheduled_response
->
slot
;
int
thread_id
=
scheduled_response
->
thread_id
;
if
(
scheduled_response
->
ul_config
!=
NULL
){
fapi_nr_ul_config_request_t
*
ul_config
=
scheduled_response
->
ul_config
;
for
(
int
i
=
0
;
i
<
ul_config
->
number_pdus
;
++
i
)
{
LOG_I
(
PHY
,
"Melissa In %s: processing %s PDU of %d total UL PDUs (ul_config %p)
\n
"
,
__FUNCTION__
,
ul_pdu_type
[
ul_config
->
ul_config_list
[
i
].
pdu_type
-
1
],
ul_config
->
number_pdus
,
ul_config
);
uint8_t
pdu_type
=
ul_config
->
ul_config_list
[
i
].
pdu_type
;
uint8_t
pucch_resource_id
=
0
;
uint8_t
current_harq_pid
=
0
;
uint8_t
format
=
0
;
uint8_t
gNB_id
=
0
;
nfapi_nr_rx_data_indication_t
rx_ind
;
switch
(
pdu_type
)
{
case
(
FAPI_NR_UL_CONFIG_TYPE_PUSCH
):
{
nfapi_nr_ue_pusch_pdu_t
*
pusch_config_pdu
=
&
ul_config
->
ul_config_list
[
i
].
pusch_config_pdu
;
if
(
scheduled_response
->
tx_request
)
{
rx_ind
.
header
.
message_id
=
NFAPI_NR_PHY_MSG_TYPE_RX_DATA_INDICATION
;
rx_ind
.
slot
=
scheduled_response
->
tx_request
->
slot
;
rx_ind
.
sfn
=
scheduled_response
->
tx_request
->
sfn
;
rx_ind
.
number_of_pdus
=
scheduled_response
->
tx_request
->
number_of_pdus
;
fapi_nr_tx_request_body_t
*
tx_req_body
=
&
scheduled_response
->
tx_request
->
tx_request_body
[
i
];
rx_ind
.
pdu_list
=
CALLOC
(
1
,
sizeof
(
*
rx_ind
.
pdu_list
));
rx_ind
.
pdu_list
[
i
].
pdu
=
tx_req_body
->
pdu
;
rx_ind
.
pdu_list
[
i
].
pdu_length
=
tx_req_body
->
pdu_length
;
rx_ind
.
pdu_list
[
i
].
rnti
=
pusch_config_pdu
->
rnti
;
rx_ind
.
pdu_list
[
i
].
handle
=
pusch_config_pdu
->
handle
;
scheduled_response
->
tx_request
->
number_of_pdus
=
0
;
LOG_I
(
PHY
,
"Melissa In %s: Filled rx_ind with tx_req
\n
"
,
__FUNCTION__
);
}
break
;
}
default:
LOG_I
(
NR_MAC
,
"Unknown ul_config->pdu_type %d
\n
"
,
pdu_type
);
break
;
}
}
}
}
return
0
;
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
0752dd20
...
...
@@ -941,11 +941,9 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
tx_req
.
tx_request_body
[
0
].
pdu_index
=
j
;
tx_req
.
tx_request_body
[
0
].
pdu
=
ulsch_input_buffer
;
if
(
ra
->
ra_state
==
RA_SUCCEEDED
&&
ra
->
cfra
){
if
(
ra
->
ra_state
!=
RA_SUCCEEDED
&&
!
ra
->
cfra
){
//Melissa change this accordingly
nr_Msg3_transmitted
(
ul_info
->
module_id
,
ul_info
->
cc_id
,
ul_info
->
frame_tx
,
ul_info
->
gNB_index
);
}
//Melissa, should I send tx_req to gNB here??
}
}
...
...
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