Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
1944cbfb
Commit
1944cbfb
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
12cb53f2
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 @
1944cbfb
...
@@ -226,8 +226,8 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
...
@@ -226,8 +226,8 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
LOG_E
(
NR_MAC
,
"mac->ul_config is null!
\n
"
);
LOG_E
(
NR_MAC
,
"mac->ul_config is null!
\n
"
);
continue
;
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
;
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
);
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)
...
@@ -240,18 +240,7 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
else
if
(
nr_prach
==
2
)
else
if
(
nr_prach
==
2
)
{
{
LOG_I
(
NR_PHY
,
"In %s: [UE %d] RA completed, setting UE mode to PUSCH
\n
"
,
__FUNCTION__
,
mod_id
);
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;
//UE->UE_mode[0] = PUSCH;
#endif
}
}
else
if
(
nr_prach
==
3
)
else
if
(
nr_prach
==
3
)
{
{
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
1944cbfb
...
@@ -50,7 +50,63 @@ int8_t nr_ue_scheduled_response_stub(nr_scheduled_response_t *scheduled_response
...
@@ -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
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.
one here so we are calling a stub version of this scheduled response.
The original scheduled_response sends downlink information for the DCIs.
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
;
return
0
;
}
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
1944cbfb
...
@@ -941,11 +941,9 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
...
@@ -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_index
=
j
;
tx_req
.
tx_request_body
[
0
].
pdu
=
ulsch_input_buffer
;
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
);
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