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
alex037yang
OpenXG-RAN
Commits
8394ee82
Commit
8394ee82
authored
May 07, 2020
by
cig
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
More dynamic DCI configuration
parent
08b62119
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
209 additions
and
133 deletions
+209
-133
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+198
-120
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+8
-11
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+2
-1
No files found.
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
8394ee82
...
@@ -154,7 +154,7 @@ unsigned char nr_generate_ulsch_pdu(uint8_t *sdus_payload,
...
@@ -154,7 +154,7 @@ unsigned char nr_generate_ulsch_pdu(uint8_t *sdus_payload,
int8_t
nr_ue_process_dlsch
(
module_id_t
module_id
,
int
cc_id
,
uint8_t
gNB_index
,
fapi_nr_dci_indication_t
*
dci_ind
,
void
*
pduP
,
uint32_t
pdu_len
);
int8_t
nr_ue_process_dlsch
(
module_id_t
module_id
,
int
cc_id
,
uint8_t
gNB_index
,
fapi_nr_dci_indication_t
*
dci_ind
,
void
*
pduP
,
uint32_t
pdu_len
);
void
ue_dci_configuration
(
NR_UE_MAC_INST_t
*
mac
,
fapi_nr_dl_config_request_t
*
dl_config
,
int
slot
);
void
ue_dci_configuration
(
NR_UE_MAC_INST_t
*
mac
,
fapi_nr_dl_config_request_t
*
dl_config
,
frame_t
frame
,
int
slot
);
void
nr_extract_dci_info
(
NR_UE_MAC_INST_t
*
mac
,
void
nr_extract_dci_info
(
NR_UE_MAC_INST_t
*
mac
,
int
dci_format
,
int
dci_format
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
8394ee82
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
8394ee82
...
@@ -668,7 +668,7 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
...
@@ -668,7 +668,7 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
nr_dcireq_t
dcireq
;
nr_dcireq_t
dcireq
;
frame_t
rx_frame
=
dl_info
->
frame
;
frame_t
rx_frame
=
dl_info
->
frame
;
slot_t
rx_slot
=
dl_info
->
slot
;
slot_t
rx_slot
=
dl_info
->
slot
;
// check type0 from 38.213 13 if we have no CellGroupConfig
// check type0 from 38.213 13 if we have no CellGroupConfig
// TODO: implementation to be completed
// TODO: implementation to be completed
if
(
mac
->
scd
==
NULL
)
{
if
(
mac
->
scd
==
NULL
)
{
...
@@ -719,17 +719,12 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
...
@@ -719,17 +719,12 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
dl_config
->
number_pdus
=
dl_config
->
number_pdus
+
1
;
dl_config
->
number_pdus
=
dl_config
->
number_pdus
+
1
;
mac
->
scheduled_response
.
dl_config
=
dl_config
;
mac
->
scheduled_response
.
dl_config
=
dl_config
;
}
}
}
else
{
// get PDCCH configuration(s) from SCGConfig
}
else
{
// we have an scd
// get Coreset and SearchSpace Information from spCellConfigDedicated
// DCI configuration done for BWP 1, Coreset 0, SearchSpace 0
// TBR program DCI for slot 1 if PDSCH
// TBR program DCI for slot 7 if RAR DCI PDSCH
dcireq
.
module_id
=
mod_id
;
dcireq
.
module_id
=
mod_id
;
dcireq
.
gNB_index
=
0
;
dcireq
.
gNB_index
=
0
;
dcireq
.
cc_id
=
0
;
dcireq
.
cc_id
=
0
;
dcireq
.
frame
=
rx_frame
;
// TBR not needed
dcireq
.
frame
=
rx_frame
;
dcireq
.
slot
=
rx_slot
;
dcireq
.
slot
=
rx_slot
;
nr_ue_dcireq
(
&
dcireq
);
//to be replaced with function pointer later
nr_ue_dcireq
(
&
dcireq
);
//to be replaced with function pointer later
...
@@ -770,8 +765,11 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
...
@@ -770,8 +765,11 @@ NR_UE_L2_STATE_t nr_ue_scheduler(nr_downlink_indication_t *dl_info, nr_uplink_in
return
UE_CONNECTION_OK
;
return
UE_CONNECTION_OK
;
}
}
// Note: msg2 is scheduled in the mixed slot or in the last dl slot
// Notes:
// if they are allowed by search space configuration
// - Type1-PDCCH CSS configuration from ra-SearchSpace.
// - Msg2 is scheduled in the mixed slot or in the last dl slot if they are allowed by the Type 1 Common Search Space configuration
// todo:
// - if Type1-PDCCH CSS is not configured in RRC message (Coreset and SearchSpace), UE searches in Type 0 PDCCH CSS.
void
nr_ue_msg2_scheduler
(
module_id_t
mod_id
,
void
nr_ue_msg2_scheduler
(
module_id_t
mod_id
,
uint16_t
rach_frame
,
uint16_t
rach_frame
,
uint16_t
rach_slot
,
uint16_t
rach_slot
,
...
@@ -870,7 +868,6 @@ void nr_ue_msg2_scheduler(module_id_t mod_id,
...
@@ -870,7 +868,6 @@ void nr_ue_msg2_scheduler(module_id_t mod_id,
// PRACH formats 9, 10, 11 are corresponding to dual PRACH format configurations A1/B1, A2/B2, A3/B3.
// PRACH formats 9, 10, 11 are corresponding to dual PRACH format configurations A1/B1, A2/B2, A3/B3.
// - todo:
// - todo:
// - Partial configuration is actually already stored in (fapi_nr_prach_config_t) &mac->phy_config.config_req->prach_config
// - Partial configuration is actually already stored in (fapi_nr_prach_config_t) &mac->phy_config.config_req->prach_config
//// however we need rach_ConfigGeneric to retrieve the config_index
void
nr_ue_prach_scheduler
(
module_id_t
module_idP
,
frame_t
frameP
,
sub_frame_t
slotP
)
{
void
nr_ue_prach_scheduler
(
module_id_t
module_idP
,
frame_t
frameP
,
sub_frame_t
slotP
)
{
uint8_t
config_index
,
mu
,
N_dur
,
N_t_slot
,
start_symbol
;
uint8_t
config_index
,
mu
,
N_dur
,
N_t_slot
,
start_symbol
;
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
8394ee82
...
@@ -317,7 +317,8 @@ int nr_ue_dcireq(nr_dcireq_t *dcireq) {
...
@@ -317,7 +317,8 @@ int nr_ue_dcireq(nr_dcireq_t *dcireq) {
printf
(
" UE_mac->dl_config_request.slot %d VS dcireq->slot %d
\n
"
,
UE_mac
->
dl_config_request
.
slot
,
dcireq
->
slot
);
printf
(
" UE_mac->dl_config_request.slot %d VS dcireq->slot %d
\n
"
,
UE_mac
->
dl_config_request
.
slot
,
dcireq
->
slot
);
LOG_D
(
PHY
,
"Entering UE DCI configuration frame %d slot %d
\n
"
,
dcireq
->
frame
,
dcireq
->
slot
);
LOG_D
(
PHY
,
"Entering UE DCI configuration frame %d slot %d
\n
"
,
dcireq
->
frame
,
dcireq
->
slot
);
ue_dci_configuration
(
UE_mac
,
dl_config
,
dcireq
->
slot
);
ue_dci_configuration
(
UE_mac
,
dl_config
,
dcireq
->
frame
,
dcireq
->
slot
);
return
0
;
return
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