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
littleBu
OpenXG-RAN
Commits
5d63a756
Commit
5d63a756
authored
Apr 01, 2022
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/fix-initialBWP-procedures' into integration_2022_wk13b
parents
1d4cefb1
a020c517
Changes
20
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
575 additions
and
240 deletions
+575
-240
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+5
-4
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+2
-2
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+1
-0
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+26
-13
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+2
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+4
-4
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+28
-24
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+13
-14
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
+2
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+127
-52
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+8
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+146
-48
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+13
-7
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+150
-53
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+39
-10
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+1
-0
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+4
-0
openair2/RRC/NR/rrc_gNB_nsa.c
openair2/RRC/NR/rrc_gNB_nsa.c
+2
-0
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
...IC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
+1
-1
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
...IC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
+1
-1
No files found.
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
5d63a756
...
...
@@ -272,7 +272,7 @@ void nr_dlsim_preprocessor(module_id_t module_id,
/* manually set free CCE to 0 */
const
int
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
sched_ctrl
->
search_space
=
get_searchspace
(
scc
,
sched_ctrl
->
active_bwp
?
sched_ctrl
->
active_bwp
->
bwp_Dedicated
:
NULL
,
target_ss
);
sched_ctrl
->
search_space
=
get_searchspace
(
NULL
,
scc
,
sched_ctrl
->
active_bwp
?
sched_ctrl
->
active_bwp
->
bwp_Dedicated
:
NULL
,
target_ss
);
uint8_t
nr_of_candidates
;
find_aggregation_candidates
(
&
sched_ctrl
->
aggregation_level
,
&
nr_of_candidates
,
...
...
@@ -282,7 +282,8 @@ void nr_dlsim_preprocessor(module_id_t module_id,
NR_pdsch_semi_static_t
*
ps
=
&
sched_ctrl
->
pdsch_semi_static
;
nr_set_pdsch_semi_static
(
scc
,
nr_set_pdsch_semi_static
(
NULL
,
scc
,
UE_info
->
CellGroup
[
0
],
sched_ctrl
->
active_bwp
,
NULL
,
...
...
@@ -824,9 +825,9 @@ int main(int argc, char **argv)
gNB
->
if_inst
->
NR_PHY_config_req
=
nr_phy_config_request
;
// common configuration
rrc_mac_config_req_gNB
(
0
,
0
,
pdsch_AntennaPorts
,
n_tx
,
0
,
6
,
scc
,
NULL
,
0
,
0
,
NULL
);
rrc_mac_config_req_gNB
(
0
,
0
,
pdsch_AntennaPorts
,
n_tx
,
0
,
6
,
scc
,
NULL
,
NULL
,
0
,
0
,
NULL
);
// UE dedicated configuration
rrc_mac_config_req_gNB
(
0
,
0
,
pdsch_AntennaPorts
,
n_tx
,
0
,
6
,
scc
,
NULL
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
rrc_mac_config_req_gNB
(
0
,
0
,
pdsch_AntennaPorts
,
n_tx
,
0
,
6
,
scc
,
NULL
,
NULL
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
// reset preprocessor to the one of DLSIM after it has been set during
// rrc_mac_config_req_gNB
gNB_mac
->
pre_processor_dl
=
nr_dlsim_preprocessor
;
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
5d63a756
...
...
@@ -749,9 +749,9 @@ int main(int argc, char **argv)
gNB
->
if_inst
->
NR_PHY_config_req
=
nr_phy_config_request
;
// common configuration
rrc_mac_config_req_gNB
(
0
,
0
,
conf
.
pdsch_AntennaPorts
,
n_rx
,
0
,
6
,
scc
,
&
rrc
.
carrier
.
mib
,
0
,
0
,
NULL
);
rrc_mac_config_req_gNB
(
0
,
0
,
conf
.
pdsch_AntennaPorts
,
n_rx
,
0
,
6
,
scc
,
&
rrc
.
carrier
.
mib
,
rrc
.
carrier
.
siblock1
,
0
,
0
,
NULL
);
// UE dedicated configuration
rrc_mac_config_req_gNB
(
0
,
0
,
conf
.
pdsch_AntennaPorts
,
n_rx
,
0
,
6
,
scc
,
&
rrc
.
carrier
.
mib
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
rrc_mac_config_req_gNB
(
0
,
0
,
conf
.
pdsch_AntennaPorts
,
n_rx
,
0
,
6
,
scc
,
&
rrc
.
carrier
.
mib
,
rrc
.
carrier
.
siblock1
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
frame_parms
->
nb_antennas_tx
=
n_tx
;
frame_parms
->
nb_antennas_rx
=
n_rx
;
nfapi_nr_config_request_scf_t
*
cfg
=
&
gNB
->
gNB_config
;
...
...
openair2/GNB_APP/gnb_config.c
View file @
5d63a756
...
...
@@ -2061,6 +2061,7 @@ void configure_gnb_du_mac(int inst) {
rrc
->
configuration
.
minRXTXTIME
,
rrc
->
configuration
.
scc
,
NULL
,
NULL
,
0
,
0
,
// rnti
(
NR_CellGroupConfig_t
*
)
NULL
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
5d63a756
...
...
@@ -2597,7 +2597,8 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
nr_dci_format_t
format
,
nr_rnti_type_t
rnti_type
,
uint16_t
N_RB
,
int
bwp_id
)
{
int
bwp_id
,
uint16_t
cset0_bwp_size
)
{
uint16_t
size
=
0
;
uint16_t
numRBG
=
0
;
...
...
@@ -2627,15 +2628,17 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
srs_config
=
(
ubwpd
->
srs_Config
)
?
ubwpd
->
srs_Config
->
choice
.
setup
:
NULL
;
}
else
if
(
cg
){
bwpd
=
cg
->
spCellConfig
->
spCellConfigDedicated
->
initialDownlinkBWP
;
bwpc
=
initialDownlinkBWP
;
ubwpd
=
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
;
ubwpc
=
initialUplinkBWP
;
pdsch_Config
=
(
bwpd
->
pdsch_Config
)
?
bwpd
->
pdsch_Config
->
choice
.
setup
:
NULL
;
pdcch_Config
=
(
bwpd
->
pdcch_Config
)
?
bwpd
->
pdcch_Config
->
choice
.
setup
:
NULL
;
pucch_Config
=
(
ubwpd
->
pucch_Config
)
?
ubwpd
->
pucch_Config
->
choice
.
setup
:
NULL
;
pusch_Config
=
(
ubwpd
->
pusch_Config
)
?
ubwpd
->
pusch_Config
->
choice
.
setup
:
NULL
;
srs_config
=
(
ubwpd
->
srs_Config
)
?
ubwpd
->
srs_Config
->
choice
.
setup
:
NULL
;
bwpc
=
initialDownlinkBWP
;
ubwpc
=
initialUplinkBWP
;
bwpd
=
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
?
cg
->
spCellConfig
->
spCellConfigDedicated
->
initialDownlinkBWP
:
NULL
;
ubwpd
=
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
?
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
:
NULL
;
pdsch_Config
=
(
bwpd
&&
bwpd
->
pdsch_Config
)
?
bwpd
->
pdsch_Config
->
choice
.
setup
:
NULL
;
pdcch_Config
=
(
bwpd
&&
bwpd
->
pdcch_Config
)
?
bwpd
->
pdcch_Config
->
choice
.
setup
:
NULL
;
pucch_Config
=
(
ubwpd
&&
ubwpd
->
pucch_Config
)
?
ubwpd
->
pucch_Config
->
choice
.
setup
:
NULL
;
pusch_Config
=
(
ubwpd
&&
ubwpd
->
pusch_Config
)
?
ubwpd
->
pusch_Config
->
choice
.
setup
:
NULL
;
srs_config
=
(
ubwpd
&&
ubwpd
->
srs_Config
)
?
ubwpd
->
srs_Config
->
choice
.
setup
:
NULL
;
}
int
n_ul_bwp
=
1
,
n_dl_bwp
=
1
;
...
...
@@ -2645,7 +2648,9 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
/// fixed: Format identifier 1, Hop flag 1, MCS 5, NDI 1, RV 2, HARQ PID 4, PUSCH TPC 2 Time Domain assgnmt 4 --20
size
+=
20
;
size
+=
(
uint8_t
)
ceil
(
log2
(
(
N_RB
*
(
N_RB
+
1
))
>>
1
)
);
// Freq domain assignment -- hopping scenario to be updated
size
+=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
cg
,
dci_pdu
,
NR_DL_DCI_FORMAT_1_0
,
rnti_type
,
N_RB
,
bwp_id
)
-
size
;
// Padding to match 1_0 size
int
dci_10_size
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
cg
,
dci_pdu
,
NR_DL_DCI_FORMAT_1_0
,
rnti_type
,
N_RB
,
bwp_id
,
cset0_bwp_size
);
AssertFatal
(
dci_10_size
>=
size
,
"NR_UL_DCI_FORMAT_0_0 size is bigger than NR_DL_DCI_FORMAT_1_0! 3GPP TS 38.212 Section 7.3.1.0: DCI size alignment is not fully implemented"
);
size
+=
dci_10_size
-
size
;
// Padding to match 1_0 size
// UL/SUL indicator assumed to be 0
break
;
...
...
@@ -2863,6 +2868,14 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDownlinkBWP,
case
NR_DL_DCI_FORMAT_1_0
:
/// fixed: Format identifier 1, VRB2PRB 1, MCS 5, NDI 1, RV 2, HARQ PID 4, DAI 2, PUCCH TPC 2, PUCCH RInd 3, PDSCH to HARQ TInd 3 Time Domain assgnmt 4 -- 28
// 3GPP TS 38.212 Section 7.3.1.0: DCI size alignment
// Size of DCI format 1_0 is given by the size of CORESET 0 if CORESET 0 is configured for the cell and the size
// of initial DL bandwidth part if CORESET 0 is not configured for the cell
if
(
cset0_bwp_size
>
0
)
{
N_RB
=
cset0_bwp_size
;
}
size
=
28
;
size
+=
(
uint8_t
)
ceil
(
log2
(
(
N_RB
*
(
N_RB
+
1
))
>>
1
)
);
// Freq domain assignment
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
5d63a756
...
...
@@ -54,7 +54,8 @@ uint16_t nr_dci_size(const NR_BWP_DownlinkCommon_t *initialDLBWP,
nr_dci_format_t
format
,
nr_rnti_type_t
rnti_type
,
uint16_t
N_RB
,
int
bwp_id
);
int
bwp_id
,
uint16_t
cset0_bwp_size
);
void
find_aggregation_candidates
(
uint8_t
*
aggregation_level
,
uint8_t
*
nr_of_candidates
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
5d63a756
...
...
@@ -169,7 +169,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_dci_dl_pdu_rel15_t
rel15
->
SubcarrierSpacing
=
bwp_Common
->
genericParameters
.
subcarrierSpacing
;
}
for
(
int
i
=
0
;
i
<
rel15
->
num_dci_options
;
i
++
)
{
rel15
->
dci_length_options
[
i
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
i
]],
rel15
->
dci_format_options
[
i
],
NR_RNTI_C
,
rel15
->
BWPSize
,
bwp_id
);
rel15
->
dci_length_options
[
i
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
i
]],
rel15
->
dci_format_options
[
i
],
NR_RNTI_C
,
rel15
->
BWPSize
,
bwp_id
,
mac
->
type0_PDCCH_CSS_config
.
num_rbs
);
}
break
;
case
NR_RNTI_RA
:
...
...
@@ -185,7 +185,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_dci_dl_pdu_rel15_t
rel15
->
BWPStart
=
NRRIV2PRBOFFSET
(
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
}
rel15
->
SubcarrierSpacing
=
initialDownlinkBWP
->
genericParameters
.
subcarrierSpacing
;
rel15
->
dci_length_options
[
0
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
0
]],
rel15
->
dci_format_options
[
0
],
NR_RNTI_RA
,
rel15
->
BWPSize
,
bwp_id
);
rel15
->
dci_length_options
[
0
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
0
]],
rel15
->
dci_format_options
[
0
],
NR_RNTI_RA
,
rel15
->
BWPSize
,
bwp_id
,
mac
->
type0_PDCCH_CSS_config
.
num_rbs
);
break
;
case
NR_RNTI_P
:
break
;
...
...
@@ -200,7 +200,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_dci_dl_pdu_rel15_t
rel15
->
BWPStart
=
mac
->
type0_PDCCH_CSS_config
.
cset_start_rb
;
rel15
->
SubcarrierSpacing
=
initialDownlinkBWP
->
genericParameters
.
subcarrierSpacing
;
for
(
int
i
=
0
;
i
<
rel15
->
num_dci_options
;
i
++
)
{
rel15
->
dci_length_options
[
i
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
i
]],
rel15
->
dci_format_options
[
i
],
NR_RNTI_TC
,
rel15
->
BWPSize
,
bwp_id
);
rel15
->
dci_length_options
[
i
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
i
]],
rel15
->
dci_format_options
[
i
],
NR_RNTI_TC
,
rel15
->
BWPSize
,
bwp_id
,
mac
->
type0_PDCCH_CSS_config
.
num_rbs
);
}
break
;
case
NR_RNTI_SP_CSI
:
...
...
@@ -223,7 +223,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_dci_dl_pdu_rel15_t
rel15
->
SubcarrierSpacing
=
mac
->
mib
->
subCarrierSpacingCommon
+
2
;
for
(
int
i
=
0
;
i
<
rel15
->
num_dci_options
;
i
++
)
{
rel15
->
dci_length_options
[
i
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
i
]],
rel15
->
dci_format_options
[
i
],
NR_RNTI_SI
,
rel15
->
BWPSize
,
0
);
rel15
->
dci_length_options
[
i
]
=
nr_dci_size
(
initialDownlinkBWP
,
initialUplinkBWP
,
mac
->
cg
,
&
mac
->
def_dci_pdu_rel15
[
rel15
->
dci_format_options
[
i
]],
rel15
->
dci_format_options
[
i
],
NR_RNTI_SI
,
rel15
->
BWPSize
,
0
,
mac
->
type0_PDCCH_CSS_config
.
num_rbs
);
}
break
;
case
NR_RNTI_SFI
:
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
5d63a756
...
...
@@ -458,6 +458,7 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
int
minRXTXTIMEpdsch
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_BCCH_BCH_Message_t
*
mib
,
NR_BCCH_DL_SCH_Message_t
*
sib1
,
int
add_ue
,
uint32_t
rnti
,
NR_CellGroupConfig_t
*
CellGroup
)
{
...
...
@@ -569,10 +570,17 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
}
if
(
mib
)
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
0
].
mib
=
mib
;
if
(
sib1
)
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
0
].
sib1
=
sib1
;
if
(
CellGroup
)
{
const
NR_ServingCellConfig_t
*
servingCellConfig
=
CellGroup
->
spCellConfig
->
spCellConfigDedicated
;
if
(
!
get_softmodem_params
()
->
phy_test
)
{
calculate_preferred_dl_tda
(
Mod_idP
,
NULL
);
}
const
NR_ServingCellConfig_t
*
servingCellConfig
=
NULL
;
if
(
CellGroup
->
spCellConfig
&&
CellGroup
->
spCellConfig
->
spCellConfigDedicated
)
{
servingCellConfig
=
CellGroup
->
spCellConfig
->
spCellConfigDedicated
;
const
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
bwpList
=
servingCellConfig
->
downlinkBWP_ToAddModList
;
if
(
bwpList
)
{
AssertFatal
(
bwpList
->
list
.
count
>
0
,
"downlinkBWP_ToAddModList has no BWPs!
\n
"
);
...
...
@@ -580,8 +588,6 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
const
NR_BWP_Downlink_t
*
bwp
=
bwpList
->
list
.
array
[
i
];
calculate_preferred_dl_tda
(
Mod_idP
,
bwp
);
}
}
else
{
calculate_preferred_dl_tda
(
Mod_idP
,
NULL
);
}
const
struct
NR_UplinkConfig__uplinkBWP_ToAddModList
*
ubwpList
=
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
;
...
...
@@ -592,6 +598,7 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
calculate_preferred_ul_tda
(
Mod_idP
,
ubwp
);
}
}
}
NR_UE_info_t
*
UE_info
=
&
RC
.
nrmac
[
Mod_idP
]
->
UE_info
;
if
(
add_ue
==
1
&&
get_softmodem_params
()
->
phy_test
)
{
...
...
@@ -649,7 +656,6 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
UE_info
->
CellGroup
[
UE_id
]
=
CellGroup
;
LOG_I
(
NR_MAC
,
"Modified UE_id %d/%x with CellGroup
\n
"
,
UE_id
,
rnti
);
process_CellGroup
(
CellGroup
,
&
UE_info
->
UE_sched_ctrl
[
UE_id
]);
const
NR_ServingCellConfig_t
*
servingCellConfig
=
CellGroup
?
CellGroup
->
spCellConfig
->
spCellConfigDedicated
:
NULL
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE_info
->
UE_sched_ctrl
[
UE_id
];
sched_ctrl
->
update_pdsch_ps
=
true
;
sched_ctrl
->
update_pusch_ps
=
true
;
...
...
@@ -674,16 +680,14 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
bwpd
=
(
void
*
)
CellGroup
->
spCellConfig
->
spCellConfigDedicated
->
initialDownlinkBWP
;
genericParameters
=
&
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
;
}
else
AssertFatal
(
1
==
0
,
"Either initial BWP or active BWP should always be present
\n
"
);
sched_ctrl
->
search_space
=
get_searchspace
(
scc
,
bwpd
,
target_ss
);
sched_ctrl
->
search_space
=
get_searchspace
(
sib1
?
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
,
scc
,
bwpd
,
target_ss
);
sched_ctrl
->
coreset
=
get_coreset
(
Mod_idP
,
scc
,
bwpd
,
sched_ctrl
->
search_space
,
target_ss
);
sched_ctrl
->
sched_pdcch
=
set_pdcch_structure
(
RC
.
nrmac
[
Mod_idP
],
sched_ctrl
->
search_space
,
sched_ctrl
->
coreset
,
scc
,
genericParameters
,
NULL
);
RC
.
nrmac
[
Mod_idP
]
->
type0_PDCCH_CSS_config
);
sched_ctrl
->
maxL
=
2
;
}
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
5d63a756
...
...
@@ -635,7 +635,7 @@ void nr_initiate_ra_proc(module_id_t module_idP,
ra
->
coreset
,
scc
,
genericParameters
,
NULL
);
&
nr_mac
->
type0_PDCCH_CSS_config
[
ra
->
beam_id
]
);
// retrieving ra pdcch monitoring period and offset
find_monitoring_periodicity_offset_common
(
ra
->
ra_ss
,
&
monitoring_slot_period
,
&
monitoring_offset
);
...
...
@@ -871,7 +871,9 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
dci_pdu_rel15_t
uldci_payload
;
memset
(
&
uldci_payload
,
0
,
sizeof
(
uldci_payload
));
config_uldci
(
ubwp
,
const
NR_SIB1_t
*
sib1
=
cc
->
sib1
?
cc
->
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
config_uldci
(
sib1
,
ubwp
,
ubwpd
,
scc
,
pusch_pdu
,
...
...
@@ -889,7 +891,8 @@ void nr_generate_Msg3_retransmission(module_id_t module_idP, int CC_id, frame_t
NR_UL_DCI_FORMAT_0_0
,
NR_RNTI_TC
,
pusch_pdu
->
bwp_size
,
ra
->
bwp_id
);
ra
->
bwp_id
,
nr_mac
->
cset0_bwp_size
);
// Mark the corresponding RBs as used
...
...
@@ -1460,7 +1463,8 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
NR_DL_DCI_FORMAT_1_0
,
NR_RNTI_RA
,
BWPSize
,
bwpid
);
bwpid
,
nr_mac
->
cset0_bwp_size
);
// DL TX request
nfapi_nr_pdu_t
*
tx_req
=
&
nr_mac
->
TX_req
[
CC_id
].
pdu_list
[
nr_mac
->
TX_req
[
CC_id
].
Number_of_PDUs
];
...
...
@@ -1602,17 +1606,11 @@ void nr_generate_Msg4(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
return
;
}
int
n_rb
=
0
;
for
(
int
i
=
0
;
i
<
6
;
i
++
)
for
(
int
j
=
0
;
j
<
8
;
j
++
)
{
n_rb
+=
((
coreset
->
frequencyDomainResources
.
buf
[
i
]
>>
j
)
&
1
);
}
n_rb
*=
6
;
const
uint16_t
N_cce
=
n_rb
*
coreset
->
duration
/
NR_NB_REG_PER_CCE
;
const
int
delta_PRI
=
0
;
int
r_pucch
=
((
CCEIndex
<<
1
)
/
N_cce
)
+
(
delta_PRI
<<
1
);
int
r_pucch
=
nr_get_pucch_resource
(
coreset
,
sched_ctrl
->
active_ubwp
,
NULL
,
CCEIndex
);
LOG_D
(
NR_MAC
,
"[RAPROC] Msg4 r_pucch %d (CCEIndex %d, nb_of_candidates %d, delta_PRI %d)
\n
"
,
r_pucch
,
CCEIndex
,
nr_of_candidates
,
delta_PRI
);
LOG_D
(
NR_MAC
,
"[RAPROC] Msg4 r_pucch %d (CCEIndex %d, N_cce %d, nb_of_candidates %d,delta_PRI %d)
\n
"
,
r_pucch
,
CCEIndex
,
N_cce
,
nr_of_candidates
,
delta_PRI
);
int
alloc
=
nr_acknack_scheduling
(
module_idP
,
UE_id
,
frameP
,
slotP
,
r_pucch
,
1
);
AssertFatal
(
alloc
>=
0
,
"Couldn't find a pucch allocation for ack nack (msg4)
\n
"
);
NR_sched_pucch_t
*
pucch
=
&
sched_ctrl
->
sched_pucch
[
alloc
];
...
...
@@ -1853,7 +1851,8 @@ void nr_generate_Msg4(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
NR_DL_DCI_FORMAT_1_0
,
NR_RNTI_TC
,
pdsch_pdu_rel15
->
BWPSize
,
bwpid
);
bwpid
,
nr_mac
->
cset0_bwp_size
);
// Add padding header and zero rest out if there is space left
if
(
ra
->
mac_pdu_length
<
harq
->
tb_size
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_bch.c
View file @
5d63a756
...
...
@@ -545,7 +545,8 @@ void nr_fill_nfapi_dl_sib1_pdu(int Mod_idP,
dci_format
,
rnti_type
,
pdsch_pdu_rel15
->
BWPSize
,
0
);
0
,
gNB_mac
->
cset0_bwp_size
);
LOG_D
(
MAC
,
"BWPSize: %i
\n
"
,
pdcch_pdu_rel15
->
BWPSize
);
LOG_D
(
MAC
,
"BWPStart: %i
\n
"
,
pdcch_pdu_rel15
->
BWPStart
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
5d63a756
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
5d63a756
...
...
@@ -280,7 +280,7 @@ void nr_preprocessor_phytest(module_id_t module_id,
ps
->
nrOfLayers
=
target_dl_Nl
;
if
(
ps
->
time_domain_allocation
!=
tda
||
ps
->
nrOfLayers
!=
target_dl_Nl
)
nr_set_pdsch_semi_static
(
scc
,
UE_info
->
CellGroup
[
UE_id
],
sched_ctrl
->
active_bwp
,
NULL
,
tda
,
target_dl_Nl
,
sched_ctrl
,
ps
);
nr_set_pdsch_semi_static
(
NULL
,
scc
,
UE_info
->
CellGroup
[
UE_id
],
sched_ctrl
->
active_bwp
,
NULL
,
tda
,
target_dl_Nl
,
sched_ctrl
,
ps
);
/* find largest unallocated chunk */
const
int
bwpSize
=
NRRIV2BW
(
sched_ctrl
->
active_bwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
...
...
@@ -357,7 +357,8 @@ void nr_preprocessor_phytest(module_id_t module_id,
__func__
,
UE_id
);
const
int
alloc
=
nr_acknack_scheduling
(
module_id
,
UE_id
,
frame
,
slot
,
-
1
,
0
);
int
r_pucch
=
nr_get_pucch_resource
(
sched_ctrl
->
coreset
,
sched_ctrl
->
active_ubwp
,
NULL
,
CCEIndex
);
const
int
alloc
=
nr_acknack_scheduling
(
module_id
,
UE_id
,
frame
,
slot
,
r_pucch
,
0
);
if
(
alloc
<
0
)
{
LOG_D
(
MAC
,
"%s(): could not find PUCCH for UE %d/%04x@%d.%d
\n
"
,
...
...
@@ -442,7 +443,7 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
"time domain assignment %d >= %d
\n
"
,
tda
,
tdaList
->
list
.
count
);
int
K2
=
get_K2
(
scc
,
sched_ctrl
->
active_ubwp
,
tda
,
mu
);
int
K2
=
get_K2
(
scc
,
NULL
,
sched_ctrl
->
active_ubwp
,
tda
,
mu
);
const
int
sched_frame
=
frame
+
(
slot
+
K2
>=
nr_slots_per_frame
[
mu
]);
const
int
sched_slot
=
(
slot
+
K2
)
%
nr_slots_per_frame
[
mu
];
/* check if slot is UL, and that slot is 8 (assuming K2=6 because of UE
...
...
@@ -451,7 +452,9 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
if
(
!
is_xlsch_in_slot
(
ulsch_slot_bitmap
,
sched_slot
))
return
false
;
const
long
f
=
sched_ctrl
->
search_space
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
;
const
long
f
=
(
sched_ctrl
->
active_bwp
&&
sched_ctrl
->
search_space
&&
sched_ctrl
->
search_space
->
searchSpaceType
->
present
==
NR_SearchSpace__searchSpaceType_PR_ue_Specific
)
?
sched_ctrl
->
search_space
->
searchSpaceType
->
choice
.
ue_Specific
->
dci_Formats
:
0
;
const
int
dci_format
=
f
?
NR_UL_DCI_FORMAT_0_1
:
NR_UL_DCI_FORMAT_0_0
;
const
uint8_t
num_dmrs_cdm_grps_no_data
=
1
;
/* we want to avoid a lengthy deduction of DMRS and other parameters in
...
...
@@ -461,7 +464,7 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
if
(
ps
->
time_domain_allocation
!=
tda
||
ps
->
dci_format
!=
dci_format
||
ps
->
num_dmrs_cdm_grps_no_data
!=
num_dmrs_cdm_grps_no_data
)
nr_set_pusch_semi_static
(
scc
,
sched_ctrl
->
active_ubwp
,
NULL
,
dci_format
,
tda
,
num_dmrs_cdm_grps_no_data
,
ps
);
nr_set_pusch_semi_static
(
NULL
,
scc
,
sched_ctrl
->
active_ubwp
,
NULL
,
dci_format
,
tda
,
num_dmrs_cdm_grps_no_data
,
ps
);
uint16_t
rbStart
=
0
;
uint16_t
rbSize
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
5d63a756
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
5d63a756
...
...
@@ -44,7 +44,8 @@ void nr_fill_nfapi_pucch(module_id_t mod_id,
const
NR_sched_pucch_t
*
pucch
,
int
UE_id
)
{
NR_UE_info_t
*
UE_info
=
&
RC
.
nrmac
[
mod_id
]
->
UE_info
;
gNB_MAC_INST
*
nr_mac
=
RC
.
nrmac
[
mod_id
];
NR_UE_info_t
*
UE_info
=
&
nr_mac
->
UE_info
;
nfapi_nr_ul_tti_request_t
*
future_ul_tti_req
=
&
RC
.
nrmac
[
mod_id
]
->
UL_tti_req_ahead
[
0
][
pucch
->
ul_slot
];
...
...
@@ -76,13 +77,16 @@ void nr_fill_nfapi_pucch(module_id_t mod_id,
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
mod_id
]
->
common_channels
->
ServingCellConfigCommon
;
NR_CellGroupConfig_t
*
cg
=
UE_info
->
CellGroup
[
UE_id
];
NR_BWP_UplinkDedicated_t
*
ubwpd
;
ubwpd
=
cg
?
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
:
NULL
;
NR_BWP_UplinkDedicated_t
*
ubwpd
=
cg
&&
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
?
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
:
NULL
;
LOG_D
(
NR_MAC
,
"%d.%d Calling nr_configure_pucch (ubwpd %p,r_pucch %d) pucch to be scheduled in %d.%d
\n
"
,
frame
,
slot
,
ubwpd
,
pucch
->
r_pucch
,
pucch
->
frame
,
pucch
->
ul_slot
);
nr_configure_pucch
(
pucch_pdu
,
const
NR_SIB1_t
*
sib1
=
nr_mac
->
common_channels
[
0
].
sib1
?
nr_mac
->
common_channels
[
0
].
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
nr_configure_pucch
(
sib1
,
pucch_pdu
,
scc
,
UE_info
->
CellGroup
[
UE_id
],
UE_info
->
UE_sched_ctrl
[
UE_id
].
active_ubwp
,
...
...
@@ -742,9 +746,11 @@ void nr_csi_meas_reporting(int Mod_idP,
curr_pucch
->
csi_bits
+=
nr_get_csi_bitlen
(
Mod_idP
,
UE_id
,
csi_report_id
);
NR_BWP_t
*
genericParameters
=
sched_ctrl
->
active_ubwp
?
&
sched_ctrl
->
active_ubwp
->
bwp_Common
->
genericParameters
:
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
const
NR_SIB1_t
*
sib1
=
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
0
].
sib1
?
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
0
].
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
(
sched_ctrl
->
active_ubwp
,
scc
,
sib1
);
int
bwp_start
=
NRRIV2PRBOFFSET
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
// going through the list of PUCCH resources to find the one indexed by resource_id
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
5d63a756
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
5d63a756
...
...
@@ -38,12 +38,13 @@ void set_cset_offset(uint16_t);
void
mac_top_init_gNB
(
void
);
void
process_CellGroup
(
NR_CellGroupConfig_t
*
CellGroup
,
NR_UE_sched_ctrl_t
*
sched_ctrl
);
void
config_common
(
int
Mod_idP
,
int
ssb_SubcarrierOffset
,
rrc_pdsch_AntennaPorts_t
pdsch_AntennaPorts
,
int
pusch_AntennaPorts
,
NR_ServingCellConfigCommon_t
*
scc
);
NR_ServingCellConfigCommon_t
*
scc
);
int
rrc_mac_config_req_gNB
(
module_id_t
Mod_idP
,
int
ssb_SubcarrierOffset
,
...
...
@@ -53,6 +54,7 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
int
minRXTXTIMEpdsch
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_BCCH_BCH_Message_t
*
mib
,
NR_BCCH_DL_SCH_Message_t
*
sib1
,
int
add_ue
,
uint32_t
rnti
,
NR_CellGroupConfig_t
*
CellGroup
);
...
...
@@ -176,7 +178,8 @@ void handle_nr_uci_pucch_2_3_4(module_id_t mod_id,
const
nfapi_nr_uci_pucch_pdu_format_2_3_4_t
*
uci_234
);
void
config_uldci
(
const
NR_BWP_Uplink_t
*
ubwp
,
void
config_uldci
(
const
NR_SIB1_t
*
sib1
,
const
NR_BWP_Uplink_t
*
ubwp
,
const
NR_BWP_UplinkDedicated_t
*
ubwpd
,
const
NR_ServingCellConfigCommon_t
*
scc
,
const
nfapi_nr_pusch_pdu_t
*
pusch_pdu
,
...
...
@@ -235,7 +238,13 @@ int nr_is_dci_opportunity(nfapi_nr_search_space_t search_space,
nfapi_nr_config_request_scf_t cfg);
*/
void
nr_configure_pucch
(
nfapi_nr_pucch_pdu_t
*
pucch_pdu
,
int
nr_get_pucch_resource
(
NR_ControlResourceSet_t
*
coreset
,
NR_BWP_Uplink_t
*
bwp
,
NR_BWP_UplinkDedicated_t
*
bwpd
,
int
CCEIndex
);
void
nr_configure_pucch
(
const
NR_SIB1_t
*
sib1
,
nfapi_nr_pucch_pdu_t
*
pucch_pdu
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_CellGroupConfig_t
*
CellGroup
,
NR_BWP_Uplink_t
*
bwp
,
...
...
@@ -284,7 +293,8 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
int
dci_formats
,
int
rnti_types
,
int
N_RB
,
int
bwp_id
);
int
bwp_id
,
uint16_t
cset0_bwp_size
);
void
prepare_dci
(
const
NR_CellGroupConfig_t
*
CellGroup
,
dci_pdu_rel15_t
*
dci_pdu_rel15
,
...
...
@@ -299,6 +309,18 @@ void set_r_pucch_parms(int rsetindex,
int
*
nr_of_symbols
,
int
*
start_symbol_index
);
NR_BWP_t
*
get_dl_bwp_genericParameters
(
NR_BWP_Downlink_t
*
active_bwp
,
NR_ServingCellConfigCommon_t
*
ServingCellConfigCommon
,
const
NR_SIB1_t
*
sib1
);
NR_BWP_t
*
get_ul_bwp_genericParameters
(
NR_BWP_Uplink_t
*
active_ubwp
,
NR_ServingCellConfigCommon_t
*
ServingCellConfigCommon
,
const
NR_SIB1_t
*
sib1
);
NR_PDSCH_TimeDomainResourceAllocationList_t
*
get_pdsch_TimeDomainAllocationList
(
const
NR_BWP_Downlink_t
*
active_bwp
,
const
NR_ServingCellConfigCommon_t
*
ServingCellConfigCommon
,
const
NR_SIB1_t
*
sib1
);
/* find coreset within the search space */
NR_ControlResourceSet_t
*
get_coreset
(
module_id_t
module_idP
,
NR_ServingCellConfigCommon_t
*
scc
,
...
...
@@ -307,13 +329,19 @@ NR_ControlResourceSet_t *get_coreset(module_id_t module_idP,
NR_SearchSpace__searchSpaceType_PR
ss_type
);
/* find a search space within a BWP */
NR_SearchSpace_t
*
get_searchspace
(
NR_ServingCellConfigCommon_t
*
scc
,
NR_SearchSpace_t
*
get_searchspace
(
const
NR_SIB1_t
*
sib1
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_BWP_DownlinkDedicated_t
*
bwp_Dedicated
,
NR_SearchSpace__searchSpaceType_PR
target_ss
);
long
get_K2
(
NR_ServingCellConfigCommon_t
*
scc
,
NR_BWP_Uplink_t
*
ubwp
,
int
time_domain_assignment
,
int
mu
);
long
get_K2
(
NR_ServingCellConfigCommon_t
*
scc
,
NR_ServingCellConfigCommonSIB_t
*
scc_sib1
,
NR_BWP_Uplink_t
*
ubwp
,
int
time_domain_assignment
,
int
mu
);
void
nr_set_pdsch_semi_static
(
const
NR_ServingCellConfigCommon_t
*
scc
,
void
nr_set_pdsch_semi_static
(
const
NR_SIB1_t
*
sib1
,
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_CellGroupConfig_t
*
secondaryCellGroup
,
const
NR_BWP_Downlink_t
*
bwp
,
const
NR_BWP_DownlinkDedicated_t
*
bwpd0
,
...
...
@@ -322,7 +350,8 @@ void nr_set_pdsch_semi_static(const NR_ServingCellConfigCommon_t *scc,
NR_UE_sched_ctrl_t
*
sched_ctrl
,
NR_pdsch_semi_static_t
*
ps
);
void
nr_set_pusch_semi_static
(
const
NR_ServingCellConfigCommon_t
*
scc
,
void
nr_set_pusch_semi_static
(
const
NR_SIB1_t
*
sib1
,
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_BWP_Uplink_t
*
ubwp
,
const
NR_BWP_UplinkDedicated_t
*
ubwpd
,
long
dci_format
,
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
5d63a756
...
...
@@ -205,6 +205,7 @@ typedef struct {
lte_frame_type_t
frame_type
;
uint64_t
dl_CarrierFreq
;
NR_BCCH_BCH_Message_t
*
mib
;
NR_BCCH_DL_SCH_Message_t
*
sib1
;
NR_ServingCellConfigCommon_t
*
ServingCellConfigCommon
;
NR_ARFCN_ValueEUTRA_t
ul_CarrierFreq
;
long
ul_Bandwidth
;
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
5d63a756
...
...
@@ -173,6 +173,7 @@ static void init_NR_SI(gNB_RRC_INST *rrc, gNB_RrcConfigurationReq *configuration
rrc
->
configuration
.
minRXTXTIME
,
rrc
->
carrier
.
servingcellconfigcommon
,
&
rrc
->
carrier
.
mib
,
rrc
->
carrier
.
siblock1
,
0
,
0
,
// WIP hardcoded rnti
NULL
);
...
...
@@ -281,6 +282,7 @@ void apply_macrlc_config(gNB_RRC_INST *rrc,
rrc
->
configuration
.
minRXTXTIME
,
NULL
,
NULL
,
NULL
,
0
,
ue_context_pP
->
ue_context
.
rnti
,
cgc
);
...
...
@@ -468,6 +470,7 @@ rrc_gNB_generate_RRCSetup_for_RRCReestablishmentRequest(
rrc_instance_p
->
configuration
.
minRXTXTIME
,
rrc_instance_p
->
carrier
.
servingcellconfigcommon
,
&
rrc_instance_p
->
carrier
.
mib
,
rrc_instance_p
->
carrier
.
siblock1
,
0
,
ue_context_pP
->
ue_context
.
rnti
,
NULL
);
...
...
@@ -1368,6 +1371,7 @@ rrc_gNB_process_RRCReconfigurationComplete(
rrc
->
configuration
.
minRXTXTIME
,
NULL
,
NULL
,
NULL
,
0
,
ue_context_pP
->
ue_context
.
rnti
,
ue_context_pP
->
ue_context
.
masterCellGroup
);
...
...
openair2/RRC/NR/rrc_gNB_nsa.c
View file @
5d63a756
...
...
@@ -354,6 +354,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_
rrc
->
configuration
.
minRXTXTIME
,
rrc
->
carrier
.
servingcellconfigcommon
,
&
rrc
->
carrier
.
mib
,
NULL
,
1
,
// add_ue flag
ue_context_p
->
ue_id_rnti
,
ue_context_p
->
ue_context
.
secondaryCellGroup
);
...
...
@@ -366,6 +367,7 @@ void rrc_add_nsa_user(gNB_RRC_INST *rrc,struct rrc_gNB_ue_context_s *ue_context_
rrc
->
configuration
.
minRXTXTIME
,
NULL
,
NULL
,
NULL
,
1
,
// add_ue flag
ue_context_p
->
ue_id_rnti
,
ue_context_p
->
ue_context
.
secondaryCellGroup
);
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.2x2.usrpn300.conf
View file @
5d63a756
...
...
@@ -100,7 +100,7 @@ gNBs =
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
104
;
preambleReceivedTargetPower
= -
96
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
...
...
targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf
View file @
5d63a756
...
...
@@ -110,7 +110,7 @@ gNBs =
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
104
;
preambleReceivedTargetPower
= -
96
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
...
...
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