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
常顺宇
OpenXG-RAN
Commits
4f9aaa92
Commit
4f9aaa92
authored
May 27, 2021
by
Abhijith
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Access SCD parameters from config file
parent
af6807d3
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
410 additions
and
148 deletions
+410
-148
openair2/GNB_APP/RRC_nr_paramsvalues.h
openair2/GNB_APP/RRC_nr_paramsvalues.h
+27
-10
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+21
-11
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+0
-1
openair2/LAYER2/NR_MAC_UE/config_ue.c
openair2/LAYER2/NR_MAC_UE/config_ue.c
+16
-19
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+0
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+1
-6
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+1
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+4
-5
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+1
-1
openair2/RRC/NR/rrc_gNB_reconfig.c
openair2/RRC/NR/rrc_gNB_reconfig.c
+17
-36
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.SCD.conf
...ERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.SCD.conf
+320
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
+0
-51
No files found.
openair2/GNB_APP/RRC_nr_paramsvalues.h
View file @
4f9aaa92
...
...
@@ -228,13 +228,19 @@
#define GNB_CONFIG_STRING_ULPTRSREOFFSET_0 "ul_ptrsReOffset_0"
#define GNB_CONFIG_STRING_ULPTRSMAXPORTS_0 "ul_ptrsMaxPorts_0"
#define GNB_CONFIG_STRING_ULPTRSPOWER_0 "ul_ptrsPower_0"
#define GNB_CONFIG_STRING_DLBWP1_ID "bwp-Id_1"
#define GNB_CONFIG_STRING_DLBWP2_ID "bwp-Id_2"
#define GNB_CONFIG_STRING_DLBWP3_ID "bwp-Id_3"
#define GNB_CONFIG_STRING_DLBWP4_ID "bwp-Id_4"
#define GNB_CONFIG_STRING_FIRSTACTIVEDLBWP_ID "firstActiveDownlinkBWP-Id"
#define GNB_CONFIG_STRING_BWP_ID_0 "bwp-Id_0"
#define GNB_CONFIG_STRING_BWP_ID_1 "bwp-Id_1"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_0 "locationAndBandwidth_0"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_1 "locationAndBandwidth_1"
#define GNB_CONFIG_STRING_SCS_0 "subcarrierSpacing_0"
#define GNB_CONFIG_STRING_SCS_1 "subcarrierSpacing_1"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP1 "bwp1_locationAndBandwidth"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP2 "bwp2_locationAndBandwidth"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP3 "bwp3_locationAndBandwidth"
#define GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP4 "bwp4_locationAndBandwidth"
#define GNB_CONFIG_STRING_SCS_BWP1 "bwp1_subcarrierSpacing"
#define GNB_CONFIG_STRING_SCS_BWP2 "bwp2_subcarrierSpacing"
#define GNB_CONFIG_STRING_SCS_BWP3 "bwp3_subcarrierSpacing"
#define GNB_CONFIG_STRING_SCS_BWP4 "bwp4_subcarrierSpacing"
#define GNB_CONFIG_STRING_DEFAULTDLBWP_ID "defaultDownlinkBWP-Id"
#define GNB_CONFIG_STRING_FIRSTACTIVEULBWP_ID "firstActiveUplinkBWP-Id"
...
...
@@ -443,10 +449,21 @@
{GNB_CONFIG_STRING_ULPTRSREOFFSET_0,NULL,0,i64ptr:scd->uplinkConfig->uplinkBWP_ToAddModList->list.array[0]->bwp_Dedicated->pusch_Config->choice.setup->dmrs_UplinkForPUSCH_MappingTypeB->choice.setup->phaseTrackingRS->choice.setup->transformPrecoderDisabled->resourceElementOffset,defint64val:-1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_ULPTRSMAXPORTS_0,NULL,0,i64ptr:&scd->uplinkConfig->uplinkBWP_ToAddModList->list.array[0]->bwp_Dedicated->pusch_Config->choice.setup->dmrs_UplinkForPUSCH_MappingTypeB->choice.setup->phaseTrackingRS->choice.setup->transformPrecoderDisabled->maxNrofPorts,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_ULPTRSPOWER_0,NULL,0,i64ptr:&scd->uplinkConfig->uplinkBWP_ToAddModList->list.array[0]->bwp_Dedicated->pusch_Config->choice.setup->dmrs_UplinkForPUSCH_MappingTypeB->choice.setup->phaseTrackingRS->choice.setup->transformPrecoderDisabled->ptrs_Power,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_FIRSTACTIVEDLBWP_ID,NULL,0,i64ptr:scd->firstActiveDownlinkBWP_Id,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_FIRSTACTIVEULBWP_ID,NULL,0,i64ptr:scd->uplinkConfig->firstActiveUplinkBWP_Id,defint64val:0,TYPE_INT64,0}} //, \
{GNB_CONFIG_STRING_BWP_ID_0,NULL,0,i64ptr:scd->downlinkBWP_ToAddModList->list.array[0].bwp_Id,defint64val:0,TYPE_INT64,0}}//, \
{GNB_CONFIG_STRING_BWP_ID_1,NULL,0,i64ptr:scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Id,defint64val:0,TYPE_INT64,0}}
{GNB_CONFIG_STRING_FIRSTACTIVEDLBWP_ID,NULL,0,i64ptr:scd->firstActiveDownlinkBWP_Id,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_FIRSTACTIVEULBWP_ID,NULL,0,i64ptr:scd->uplinkConfig->firstActiveUplinkBWP_Id,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP1_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[0]->bwp_Id,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP2_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Id,defint64val:2,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP3_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[2]->bwp_Id,defint64val:3,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_DLBWP4_ID,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[3]->bwp_Id,defint64val:4,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP1,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[0]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP2,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP3,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[2]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_SCS_BWP4,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[3]->bwp_Common->genericParameters.subcarrierSpacing,defint64val:1,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP1,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[0]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP2,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[1]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP3,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[2]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}, \
{GNB_CONFIG_STRING_LOCATIONANDBANDWIDTH_BWP4,NULL,0,i64ptr:&scd->downlinkBWP_ToAddModList->list.array[3]->bwp_Common->genericParameters.locationAndBandwidth,defint64val:0,TYPE_INT64,0}}
...
...
openair2/GNB_APP/gnb_config.c
View file @
4f9aaa92
...
...
@@ -326,24 +326,32 @@ void fix_scc(NR_ServingCellConfigCommon_t *scc,uint64_t ssbmap) {
}
/* Function to allocate dedicated serving cell config strutures */
//Abhi : error at this function : when adding for loop to add new elements of downlinkBWP-ToAddModList.
void
prepare_scd
(
NR_ServingCellConfig_t
*
scd
)
{
void
prepare_scd
(
NR_ServingCellConfig_t
*
scd
,
int
scd_present
)
{
// Allocate downlink structures
scd
->
downlinkBWP_ToAddModList
=
CALLOC
(
1
,
sizeof
(
*
scd
->
downlinkBWP_ToAddModList
));
scd
->
uplinkConfig
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
));
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
));
if
(
scd_present
)
{
scd
->
bwp_InactivityTimer
=
CALLOC
(
1
,
sizeof
(
*
scd
->
bwp_InactivityTimer
));
scd
->
uplinkConfig
->
firstActiveUplinkBWP_Id
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
->
firstActiveUplinkBWP_Id
));
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
=
CALLOC
(
1
,
sizeof
(
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
));
scd
->
firstActiveDownlinkBWP_Id
=
CALLOC
(
1
,
sizeof
(
*
scd
->
firstActiveDownlinkBWP_Id
));
*
scd
->
firstActiveDownlinkBWP_Id
=
1
;
*
scd
->
uplinkConfig
->
firstActiveUplinkBWP_Id
=
1
;
}
for
(
int
j
=
0
;
j
<
4
;
j
++
)
{
// Downlink bandwidth part
NR_BWP_Downlink_t
*
bwp
=
calloc
(
1
,
sizeof
(
*
bwp
));
bwp
->
bwp_Id
=
1
;
bwp
->
bwp_Id
=
j
+
1
;
// Allocate downlink dedicated bandwidth part and PDSCH structures
bwp
->
bwp_Common
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
));
// bwp->bwp_Common->genericParameters.locationAndBandwidth = calloc(1, sizeof(*bwp->bwp_Common->genericParameters.locationAndBandwidth) );
// bwp->bwp_Common->genericParameters.subcarrierSpacing = calloc(1, sizeof(*bwp->bwp_Common->genericParameters.subcarrierSpacing) );
bwp
->
bwp_Common
->
pdcch_ConfigCommon
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdcch_ConfigCommon
));
bwp
->
bwp_Common
->
pdsch_ConfigCommon
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Common
->
pdsch_ConfigCommon
));
bwp
->
bwp_Dedicated
=
calloc
(
1
,
sizeof
(
*
bwp
->
bwp_Dedicated
));
...
...
@@ -406,7 +414,7 @@ for (int j = 0 ;j < 4 ; j++)
// UL bandwidth part
NR_BWP_Uplink_t
*
ubwp
=
CALLOC
(
1
,
sizeof
(
*
ubwp
));
ubwp
->
bwp_Id
=
1
;
ubwp
->
bwp_Id
=
j
+
1
;
ubwp
->
bwp_Common
=
CALLOC
(
1
,
sizeof
(
*
ubwp
->
bwp_Common
));
ubwp
->
bwp_Dedicated
=
CALLOC
(
1
,
sizeof
(
*
ubwp
->
bwp_Dedicated
));
...
...
@@ -837,11 +845,10 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
// Serving Cell Config Dedicated
NR_ServingCellConfig_t
*
scd
=
calloc
(
1
,
sizeof
(
NR_ServingCellConfig_t
));
memset
((
void
*
)
scd
,
0
,
sizeof
(
NR_ServingCellConfig_t
));
prepare_scd
(
scd
);
paramdef_t
SCDsParams
[]
=
SCDPARAMS_DESC
(
scd
);
printf
(
"RRC BWP 0: %d"
,
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Id
);
printf
(
"RRC BWP 1: %d"
,
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
1
]
->
bwp_Id
);
paramlist_def_t
SCDsParamList
=
{
GNB_CONFIG_STRING_SERVINGCELLCONFIGDEDICATED
,
NULL
,
0
};
prepare_scd
(
scd
,
SCDsParamList
.
numelt
);
paramdef_t
SCDsParams
[]
=
SCDPARAMS_DESC
(
scd
);
////////// Physical parameters
...
...
@@ -922,14 +929,17 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
if
(
SCDsParamList
.
numelt
>
0
)
{
sprintf
(
aprefix
,
"%s.[%i].%s.[%i]"
,
GNB_CONFIG_STRING_GNB_LIST
,
0
,
GNB_CONFIG_STRING_SERVINGCELLCONFIGDEDICATED
,
0
);
config_get
(
SCDsParams
,
sizeof
(
SCDsParams
)
/
sizeof
(
paramdef_t
),
aprefix
);
LOG_I
(
RRC
,
"Read in ServingCellConfigDedicated UL (FreqDensity_0 %d, FreqDensity_1 %d, TimeDensity_0 %d, TimeDensity_1 %d, TimeDensity_2 %d, RE offset %d,
BWP_ID
%d
\n
"
,
LOG_I
(
RRC
,
"Read in ServingCellConfigDedicated UL (FreqDensity_0 %d, FreqDensity_1 %d, TimeDensity_0 %d, TimeDensity_1 %d, TimeDensity_2 %d, RE offset %d,
First_active_BWP_ID %d SCS %d, LocationandBW
%d
\n
"
,
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
frequencyDensity
->
list
.
array
[
0
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
frequencyDensity
->
list
.
array
[
1
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
timeDensity
->
list
.
array
[
0
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
timeDensity
->
list
.
array
[
1
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
timeDensity
->
list
.
array
[
2
],
(
int
)
*
scd
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
dmrs_UplinkForPUSCH_MappingTypeB
->
choice
.
setup
->
phaseTrackingRS
->
choice
.
setup
->
transformPrecoderDisabled
->
resourceElementOffset
,
(
int
)
*
scd
->
firstActiveDownlinkBWP_Id
);
(
int
)
*
scd
->
firstActiveDownlinkBWP_Id
,
(
int
)
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Common
->
genericParameters
.
subcarrierSpacing
,
(
int
)
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
);
}
fix_scd
(
scd
);
...
...
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
4f9aaa92
...
...
@@ -2880,7 +2880,6 @@ uint16_t nr_dci_size(const NR_ServingCellConfigCommon_t *scc,
dci_pdu
->
antenna_ports
.
nbits
=
getAntPortBitWidth
(
typeA
,
typeB
);
size
+=
dci_pdu
->
antenna_ports
.
nbits
;
// Tx Config Indication
//Abhi : Check this -- bwp_id to replaced with corset_id ? each BWP can have multiple CORSETs .. this has to be corset_id
int
corset_id
=
1
;
long
*
isTciEnable
=
bwp
->
bwp_Dedicated
->
pdcch_Config
->
choice
.
setup
->
controlResourceSetToAddModList
->
list
.
array
[
corset_id
-
1
]
->
tci_PresentInDCI
;
if
(
isTciEnable
!=
NULL
)
{
...
...
openair2/LAYER2/NR_MAC_UE/config_ue.c
View file @
4f9aaa92
...
...
@@ -333,21 +333,20 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
NR_ServingCellConfig_t
*
scd
=
mac
->
scg
->
spCellConfig
->
spCellConfigDedicated
;
//Abhi : TODO : uncomment this when DCI based swithching is available
// if (bwp_ind && dci_format){
// switch(*dci_format){
// case NR_UL_DCI_FORMAT_0_1:
// mac->UL_BWP_Id = *bwp_ind;
// break;
// case NR_DL_DCI_FORMAT_1_1:
// mac->DL_BWP_Id = *bwp_ind;
// break;
// default:
// LOG_E(MAC, "In %s: failed to configure BWP Id from DCI with format %d \n", __FUNCTION__, *dci_format);
// }
// } else {
if
(
bwp_ind
&&
dci_format
){
switch
(
*
dci_format
){
case
NR_UL_DCI_FORMAT_0_1
:
mac
->
UL_BWP_Id
=
*
bwp_ind
;
break
;
case
NR_DL_DCI_FORMAT_1_1
:
mac
->
DL_BWP_Id
=
*
bwp_ind
;
break
;
default:
LOG_E
(
MAC
,
"In %s: failed to configure BWP Id from DCI with format %d
\n
"
,
__FUNCTION__
,
*
dci_format
);
}
}
else
{
if
(
scd
->
firstActiveDownlinkBWP_Id
)
mac
->
DL_BWP_Id
=
*
scd
->
firstActiveDownlinkBWP_Id
;
...
...
@@ -361,7 +360,7 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
else
mac
->
UL_BWP_Id
=
1
;
//
}
}
LOG_I
(
MAC
,
"In %s setting DL_BWP_Id %ld UL_BWP_Id %ld
\n
"
,
__FUNCTION__
,
mac
->
DL_BWP_Id
,
mac
->
UL_BWP_Id
);
...
...
@@ -374,12 +373,11 @@ void config_bwp_ue(NR_UE_MAC_INST_t *mac, uint16_t *bwp_ind, uint8_t *dci_format
*/
void
config_control_ue
(
NR_UE_MAC_INST_t
*
mac
){
//Abhi : Hardcoded CORSET ID here
uint8_t
coreset_id
=
1
,
ss_id
;
NR_ServingCellConfig_t
*
scd
=
mac
->
scg
->
spCellConfig
->
spCellConfigDedicated
;
AssertFatal
(
scd
->
downlinkBWP_ToAddModList
!=
NULL
,
"downlinkBWP_ToAddModList is null
\n
"
);
//AssertFatal(scd->downlinkBWP_ToAddModList->list.count == 1
, "downlinkBWP_ToAddModList->list->count is %d\n", scd->downlinkBWP_ToAddModList->list.count);
AssertFatal
(
scd
->
downlinkBWP_ToAddModList
->
list
.
count
<=
4
,
"downlinkBWP_ToAddModList->list->count is %d
\n
"
,
scd
->
downlinkBWP_ToAddModList
->
list
.
count
);
config_bwp_ue
(
mac
,
NULL
,
NULL
);
NR_BWP_Id_t
dl_bwp_id
=
mac
->
DL_BWP_Id
;
...
...
@@ -393,7 +391,6 @@ void config_control_ue(NR_UE_MAC_INST_t *mac){
NR_BWP_DownlinkDedicated_t
*
dl_bwp_Dedicated
=
scd
->
downlinkBWP_ToAddModList
->
list
.
array
[
dl_bwp_id
-
1
]
->
bwp_Dedicated
;
AssertFatal
(
dl_bwp_Dedicated
!=
NULL
,
"dl_bwp_Dedicated is null
\n
"
);
//Abhi : TODO : add assert statements for UL BWP!
NR_SetupRelease_PDCCH_Config_t
*
pdcch_Config
=
dl_bwp_Dedicated
->
pdcch_Config
;
AssertFatal
(
pdcch_Config
!=
NULL
,
"pdcch_Config is null
\n
"
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
4f9aaa92
...
...
@@ -224,7 +224,6 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
RA_config_t
*
ra
=
&
mac
->
ra
;
int
ss_id
;
//Abhi : harcoded CORSET ID here
uint8_t
bwp_id
=
mac
->
DL_BWP_Id
;
uint8_t
coreset_id
=
1
;
//NR_ServingCellConfig_t *scd = mac->scg->spCellConfig->spCellConfigDedicated;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
4f9aaa92
...
...
@@ -438,7 +438,6 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
AssertFatal
(
mac
->
DLbwp
[
0
]
!=
NULL
,
"DLbwp[0] should not be zero here!
\n
"
);
AssertFatal
(
mac
->
ULbwp
[
0
]
!=
NULL
,
"DLbwp[0] should not be zero here!
\n
"
);
//Abhi : TODO
const
uint16_t
n_RB_DLBWP
=
(
ra
->
ra_state
==
WAIT_RAR
||
ra
->
ra_state
==
WAIT_CONTENTION_RESOLUTION
)
?
NRRIV2BW
(
mac
->
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
)
:
NRRIV2BW
(
mac
->
DLbwp
[
dl_bwp_id
-
1
]
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
LOG_D
(
MAC
,
"In %s: Processing received DCI format %s (DL BWP %d)
\n
"
,
__FUNCTION__
,
dci_formats
[
dci_format
],
n_RB_DLBWP
);
...
...
@@ -791,11 +790,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
* 47 DMRS_SEQ_INI:
*/
//Abhi : temporarily commenting this out
// if (dci->bwp_indicator.val != 1) {
// LOG_W(MAC, "[%d.%d] bwp_indicator != 1! Possibly due to false DCI. Ignoring DCI!\n", frame, slot);
// return -1;
// }
config_bwp_ue
(
mac
,
&
dci
->
bwp_indicator
.
val
,
&
dci_format
);
NR_PDSCH_Config_t
*
pdsch_config
=
mac
->
DLbwp
[
dl_bwp_id
-
1
]
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
;
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
4f9aaa92
...
...
@@ -625,11 +625,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
}
else
if
(
*
dci_format
==
NR_UL_DCI_FORMAT_0_1
)
{
/* BANDWIDTH_PART_IND */
//Abhi : why must BWP always be 1 ?
// if (dci->bwp_indicator.val != 1) {
// LOG_W(MAC, "bwp_indicator != 1! Possibly due to false DCI. Ignoring DCI!\n");
// return -1;
// }
config_bwp_ue
(
mac
,
&
dci
->
bwp_indicator
.
val
,
dci_format
);
target_ss
=
NR_SearchSpace__searchSpaceType_PR_ue_Specific
;
ul_layers_config
(
mac
,
pusch_config_pdu
,
dci
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
4f9aaa92
...
...
@@ -1067,7 +1067,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
dci_payload
.
mcs
=
pdsch_pdu_rel15
->
mcsIndex
[
0
];
dci_payload
.
tb_scaling
=
tb_scaling
;
LOG_
D
(
NR_MAC
,
LOG_
I
(
NR_MAC
,
"[RAPROC] DCI type 1 payload: freq_alloc %d (%d,%d,%d), time_alloc %d, vrb to prb %d, mcs %d tb_scaling %d
\n
"
,
dci_payload
.
frequency_domain_assignment
.
val
,
pdsch_pdu_rel15
->
rbStart
,
...
...
@@ -1078,7 +1078,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
dci_payload
.
mcs
,
dci_payload
.
tb_scaling
);
LOG_
D
(
NR_MAC
,
LOG_
I
(
NR_MAC
,
"[RAPROC] DCI params: rnti 0x%x, rnti_type %d, dci_format %d coreset params: FreqDomainResource %llx, start_symbol %d n_symb %d
\n
"
,
pdcch_pdu_rel15
->
dci_pdu
[
0
].
RNTI
,
NR_RNTI_RA
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
4f9aaa92
...
...
@@ -954,12 +954,11 @@ void nr_schedule_ue_spec(module_id_t module_id,
// bwp indicator
const
int
n_dl_bwp
=
UE_info
->
secondaryCellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
->
list
.
count
;
// AssertFatal(n_dl_bwp == 1
,
//
"downlinkBWP_ToAddModList has %d BWP!\n",
//
n_dl_bwp);
AssertFatal
(
n_dl_bwp
<=
4
,
"downlinkBWP_ToAddModList has %d BWP!
\n
"
,
n_dl_bwp
);
// as per table 7.3.1.1.2-1 in 38.212
// Abhi :look into this
dci_payload
.
bwp_indicator
.
val
=
n_dl_bwp
<
4
?
bwp
->
bwp_Id
:
bwp
->
bwp_Id
-
1
;
dci_payload
.
bwp_indicator
.
val
=
n_dl_bwp
<=
4
?
bwp
->
bwp_Id
:
bwp
->
bwp_Id
-
1
;
AssertFatal
(
bwp
->
bwp_Dedicated
->
pdsch_Config
->
choice
.
setup
->
resourceAllocation
==
NR_PDSCH_Config__resourceAllocation_resourceAllocationType1
,
"Only frequency resource allocation type 1 is currently supported
\n
"
);
dci_payload
.
frequency_domain_assignment
.
val
=
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
4f9aaa92
...
...
@@ -615,7 +615,7 @@ void config_uldci(const NR_BWP_Uplink_t *ubwp,
case
NR_UL_DCI_FORMAT_0_1
:
dci_pdu_rel15
->
dai
[
0
].
val
=
0
;
//TODO
// bwp indicator as per table 7.3.1.1.2-1 in 38.212
dci_pdu_rel15
->
bwp_indicator
.
val
=
n_ubwp
<
4
?
bwp_id
:
bwp_id
-
1
;
dci_pdu_rel15
->
bwp_indicator
.
val
=
n_ubwp
<
=
4
?
bwp_id
:
bwp_id
-
1
;
// SRS resource indicator
if
(
ubwp
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
txConfig
!=
NULL
)
{
AssertFatal
(
*
ubwp
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
->
txConfig
==
NR_PUSCH_Config__txConfig_codebook
,
...
...
openair2/RRC/NR/rrc_gNB_reconfig.c
View file @
4f9aaa92
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.SCD.conf
0 → 100644
View file @
4f9aaa92
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
View file @
4f9aaa92
...
...
@@ -175,57 +175,6 @@ gNBs =
);
# Dedicated Serving Cell Configuration
servingCellConfigDedicated
= (
{
# BWP-Downlink
# DL PTRS related parameters.
# 3GPP TS 38.331 PTRS-DownlinkConfig
# BWP 1 Configuration
bwp
-
Id_0
=
1
;
locationAndBandwidth_0
=
1234
; //
TODO
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing_0
=
1
;
# BWP 2 Configuration
bwp
-
Id_1
=
1
;
locationAndBandwidth_1
=
1234
; //
TODO
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing_1
=
1
;
firstActiveDownlinkBWP
-
Id
=
2
;
#BWP-Id
# bwp-InactivityTimer ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms8, ms10, ms20, ms30,
# ms40,ms50, ms60, ms80,ms100, ms200,ms300, ms500,
# ms750, ms1280, ms1920, ms2560, spare10, spare9, spare8,
# spare7, spare6, spare5, spare4, spare3, spare2, spare1 }
defaultDownlinkBWP
-
Id
=
1
;
#BWP-Id
# UplinkConfig
firstActiveUplinkBWP
-
Id
=
2
;
#BWP-Id
#BWP-Uplink
# UL PTRS related parameters.
# 3GPP TS 38.331 PTRS-UplinkConfig
# frequencyDensity value range: 1-276
# ptrs-Power
# 0 = p00, 1 = p01, 2 = p10, 3 = p11
#ul_ptrsPower_0 = 0;
}
);
# ------- SCTP definitions
SCTP
:
...
...
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