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
lizhongxiao
OpenXG-RAN
Commits
cc284b40
Commit
cc284b40
authored
Oct 18, 2023
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added qam256UL control to configuration
parent
3fe96776
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
30 additions
and
12 deletions
+30
-12
openair2/GNB_APP/MACRLC_nr_paramdef.h
openair2/GNB_APP/MACRLC_nr_paramdef.h
+1
-1
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+5
-2
openair2/GNB_APP/gnb_paramdef.h
openair2/GNB_APP/gnb_paramdef.h
+10
-1
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+2
-0
openair2/RRC/NR/nr_rrc_config.c
openair2/RRC/NR/nr_rrc_config.c
+12
-8
No files found.
openair2/GNB_APP/MACRLC_nr_paramdef.h
View file @
cc284b40
...
@@ -85,7 +85,6 @@
...
@@ -85,7 +85,6 @@
#define HLP_MACRLC_MIN_GRANT_PRB "Minimal Periodic ULSCH Grant PRBs"
#define HLP_MACRLC_MIN_GRANT_PRB "Minimal Periodic ULSCH Grant PRBs"
#define HLP_MACRLC_MIN_GRANT_MCS "Minimal Periodic ULSCH Grant MCS"
#define HLP_MACRLC_MIN_GRANT_MCS "Minimal Periodic ULSCH Grant MCS"
#define HLP_MACRLC_IDENTITY_PM "Flag to use only identity matrix in DL precoding"
#define HLP_MACRLC_IDENTITY_PM "Flag to use only identity matrix in DL precoding"
/*-------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* MacRLC configuration parameters */
/* MacRLC configuration parameters */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
@@ -126,6 +125,7 @@
...
@@ -126,6 +125,7 @@
{CONFIG_STRING_MACRLC_MIN_GRANT_PRB, HLP_MACRLC_MIN_GRANT_PRB, 0, .u8ptr=NULL, .defintval=5, TYPE_UINT8, 0}, \
{CONFIG_STRING_MACRLC_MIN_GRANT_PRB, HLP_MACRLC_MIN_GRANT_PRB, 0, .u8ptr=NULL, .defintval=5, TYPE_UINT8, 0}, \
{CONFIG_STRING_MACRLC_MIN_GRANT_MCS, HLP_MACRLC_MIN_GRANT_MCS, 0, .u8ptr=NULL, .defintval=9, TYPE_UINT8, 0}, \
{CONFIG_STRING_MACRLC_MIN_GRANT_MCS, HLP_MACRLC_MIN_GRANT_MCS, 0, .u8ptr=NULL, .defintval=9, TYPE_UINT8, 0}, \
{CONFIG_STRING_MACRLC_IDENTITY_PM, HLP_MACRLC_IDENTITY_PM, PARAMFLAG_BOOL, .u8ptr=NULL, .defintval=0, TYPE_UINT8, 0}, \
{CONFIG_STRING_MACRLC_IDENTITY_PM, HLP_MACRLC_IDENTITY_PM, PARAMFLAG_BOOL, .u8ptr=NULL, .defintval=0, TYPE_UINT8, 0}, \
{CONFIG_STRING_MACRLC_IDENTITY_PM, HLP_MACRLC_IDENTITY_PM, PARAMFLAG_BOOL, .u8ptr=NULL, .defintval=0, TYPE_UINT8, 0}, \
}
}
// clang-format off
// clang-format off
...
...
openair2/GNB_APP/gnb_config.c
View file @
cc284b40
...
@@ -1185,11 +1185,14 @@ void RCconfig_nr_macrlc() {
...
@@ -1185,11 +1185,14 @@ void RCconfig_nr_macrlc() {
config
.
do_CSIRS
=
*
GNBParamList
.
paramarray
[
0
][
GNB_DO_CSIRS_IDX
].
iptr
;
config
.
do_CSIRS
=
*
GNBParamList
.
paramarray
[
0
][
GNB_DO_CSIRS_IDX
].
iptr
;
config
.
do_SRS
=
*
GNBParamList
.
paramarray
[
0
][
GNB_DO_SRS_IDX
].
iptr
;
config
.
do_SRS
=
*
GNBParamList
.
paramarray
[
0
][
GNB_DO_SRS_IDX
].
iptr
;
config
.
force_256qam_off
=
*
GNBParamList
.
paramarray
[
0
][
GNB_FORCE256QAMOFF_IDX
].
iptr
;
config
.
force_256qam_off
=
*
GNBParamList
.
paramarray
[
0
][
GNB_FORCE256QAMOFF_IDX
].
iptr
;
config
.
force_UL256qam_off
=
*
GNBParamList
.
paramarray
[
0
][
GNB_FORCEUL256QAMOFF_IDX
].
iptr
;
config
.
use_deltaMCS
=
*
GNBParamList
.
paramarray
[
0
][
GNB_USE_DELTA_MCS_IDX
].
iptr
;
LOG_I
(
GNB_APP
,
LOG_I
(
GNB_APP
,
"CSI-RS %d, SRS %d, 256 QAM %s
\n
"
,
"CSI-RS %d, SRS %d, 256 QAM %s
, deltaMCS %s
\n
"
,
config
.
do_CSIRS
,
config
.
do_CSIRS
,
config
.
do_SRS
,
config
.
do_SRS
,
config
.
force_256qam_off
?
"force off"
:
"may be on"
);
config
.
force_256qam_off
?
"force off"
:
"may be on"
,
config
.
use_deltaMCS
?
"on"
:
"off"
);
NR_ServingCellConfigCommon_t
*
scc
=
get_scc_config
(
config
.
minRXTXTIME
);
NR_ServingCellConfigCommon_t
*
scc
=
get_scc_config
(
config
.
minRXTXTIME
);
//xer_fprint(stdout, &asn_DEF_NR_ServingCellConfigCommon, scc);
//xer_fprint(stdout, &asn_DEF_NR_ServingCellConfigCommon, scc);
...
...
openair2/GNB_APP/gnb_paramdef.h
View file @
cc284b40
...
@@ -131,7 +131,10 @@ typedef enum {
...
@@ -131,7 +131,10 @@ typedef enum {
#define GNB_CONFIG_HLP_FORCE256QAMOFF "suppress activation of 256 QAM despite UE support"
#define GNB_CONFIG_HLP_FORCE256QAMOFF "suppress activation of 256 QAM despite UE support"
#define GNB_CONFIG_STRING_DRBS "drbs"
#define GNB_CONFIG_STRING_DRBS "drbs"
#define GNB_CONFIG_HLP_STRING_DRBS "Number of total DRBs to establish, including the mandatory for PDU SEssion (default=1)\n"
#define GNB_CONFIG_HLP_STRING_DRBS "Number of total DRBs to establish, including the mandatory for PDU SEssion (default=1)\n"
#define GNB_CONFIG_STRING_USE_DELTA_MCS "use_deltaMCS"
#define GNB_CONFIG_HLP_USE_DELTA_MCS "Use deltaMCS-based power headroom reporting in PUSCH-Config"
#define GNB_CONFIG_HLP_FORCEUL256QAMOFF "suppress activation of UL 256 QAM despite UE support"
#define GNB_CONFIG_STRING_FORCEUL256QAMOFF "force_UL256qam_off"
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
/* cell configuration parameters */
/* cell configuration parameters */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
@@ -165,6 +168,8 @@ typedef enum {
...
@@ -165,6 +168,8 @@ typedef enum {
{GNB_CONFIG_STRING_FORCE256QAMOFF, GNB_CONFIG_HLP_FORCE256QAMOFF, PARAMFLAG_BOOL, .iptr=NULL, .defintval=0, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_FORCE256QAMOFF, GNB_CONFIG_HLP_FORCE256QAMOFF, PARAMFLAG_BOOL, .iptr=NULL, .defintval=0, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_ENABLE_SDAP, GNB_CONFIG_HLP_STRING_ENABLE_SDAP, PARAMFLAG_BOOL,.iptr=NULL, .defintval=0, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_ENABLE_SDAP, GNB_CONFIG_HLP_STRING_ENABLE_SDAP, PARAMFLAG_BOOL,.iptr=NULL, .defintval=0, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_DRBS, GNB_CONFIG_HLP_STRING_DRBS, 0, .iptr=NULL, .defintval=1, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_DRBS, GNB_CONFIG_HLP_STRING_DRBS, 0, .iptr=NULL, .defintval=1, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_USE_DELTA_MCS, GNB_CONFIG_HLP_USE_DELTA_MCS, 0, .iptr=NULL, .defintval=1, TYPE_INT, 0}, \
{GNB_CONFIG_STRING_FORCEUL256QAMOFF, GNB_CONFIG_HLP_FORCEUL256QAMOFF, 0, .iptr=NULL, .defintval=0, TYPE_INT, 0}, \
}
}
#define GNB_GNB_ID_IDX 0
#define GNB_GNB_ID_IDX 0
...
@@ -195,6 +200,8 @@ typedef enum {
...
@@ -195,6 +200,8 @@ typedef enum {
#define GNB_FORCE256QAMOFF_IDX 25
#define GNB_FORCE256QAMOFF_IDX 25
#define GNB_ENABLE_SDAP_IDX 26
#define GNB_ENABLE_SDAP_IDX 26
#define GNB_DRBS 27
#define GNB_DRBS 27
#define GNB_USE_DELTA_MCS_IDX 28
#define GNB_FORCEUL256QAMOFF_IDX 29
#define TRACKING_AREA_CODE_OKRANGE {0x0001,0xFFFD}
#define TRACKING_AREA_CODE_OKRANGE {0x0001,0xFFFD}
#define GNBPARAMS_CHECK { \
#define GNBPARAMS_CHECK { \
...
@@ -212,6 +219,8 @@ typedef enum {
...
@@ -212,6 +219,8 @@ typedef enum {
{ .s5 = { NULL } }, \
{ .s5 = { NULL } }, \
{ .s5 = { NULL } }, \
{ .s5 = { NULL } }, \
{ .s5 = { NULL } }, \
{ .s5 = { NULL } }, \
{ .s5 = { NULL } }, \
{ .s5 = { NULL } }, \
}
}
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------------------------------------------------------------------*/
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
cc284b40
...
@@ -135,6 +135,8 @@ typedef struct nr_mac_config_t {
...
@@ -135,6 +135,8 @@ typedef struct nr_mac_config_t {
int
do_CSIRS
;
int
do_CSIRS
;
int
do_SRS
;
int
do_SRS
;
bool
force_256qam_off
;
bool
force_256qam_off
;
bool
force_UL256qam_off
;
bool
use_deltaMCS
;
//int pusch_TargetSNRx10;
//int pusch_TargetSNRx10;
//int pucch_TargetSNRx10;
//int pucch_TargetSNRx10;
}
nr_mac_config_t
;
}
nr_mac_config_t
;
...
...
openair2/RRC/NR/nr_rrc_config.c
View file @
cc284b40
...
@@ -1037,6 +1037,7 @@ static void set_dl_mcs_table(int scs,
...
@@ -1037,6 +1037,7 @@ static void set_dl_mcs_table(int scs,
}
}
static
struct
NR_SetupRelease_PUSCH_Config
*
config_pusch
(
NR_PUSCH_Config_t
*
pusch_Config
,
static
struct
NR_SetupRelease_PUSCH_Config
*
config_pusch
(
NR_PUSCH_Config_t
*
pusch_Config
,
const
bool
use_deltaMCS
,
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_ServingCellConfigCommon_t
*
scc
,
const
NR_UE_NR_Capability_t
*
uecap
)
const
NR_UE_NR_Capability_t
*
uecap
)
{
{
...
@@ -1093,9 +1094,12 @@ static struct NR_SetupRelease_PUSCH_Config *config_pusch(NR_PUSCH_Config_t *pusc
...
@@ -1093,9 +1094,12 @@ static struct NR_SetupRelease_PUSCH_Config *config_pusch(NR_PUSCH_Config_t *pusc
asn1cSeqAdd
(
&
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToAddModList
->
list
,
plrefRS
);
asn1cSeqAdd
(
&
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToAddModList
->
list
,
plrefRS
);
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToReleaseList
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
pathlossReferenceRSToReleaseList
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
twoPUSCH_PC_AdjustmentStates
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
twoPUSCH_PC_AdjustmentStates
=
NULL
;
if
(
!
pusch_Config
->
pusch_PowerControl
->
deltaMCS
)
if
(
use_deltaMCS
)
{
pusch_Config
->
pusch_PowerControl
->
deltaMCS
=
calloc
(
1
,
sizeof
(
*
pusch_Config
->
pusch_PowerControl
->
deltaMCS
));
if
(
!
pusch_Config
->
pusch_PowerControl
->
deltaMCS
)
*
pusch_Config
->
pusch_PowerControl
->
deltaMCS
=
NR_PUSCH_PowerControl__deltaMCS_enabled
;
pusch_Config
->
pusch_PowerControl
->
deltaMCS
=
calloc
(
1
,
sizeof
(
*
pusch_Config
->
pusch_PowerControl
->
deltaMCS
));
*
pusch_Config
->
pusch_PowerControl
->
deltaMCS
=
NR_PUSCH_PowerControl__deltaMCS_enabled
;
}
else
free
(
pusch_Config
->
pusch_PowerControl
->
deltaMCS
);
pusch_Config
->
pusch_PowerControl
->
sri_PUSCH_MappingToAddModList
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
sri_PUSCH_MappingToAddModList
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
sri_PUSCH_MappingToReleaseList
=
NULL
;
pusch_Config
->
pusch_PowerControl
->
sri_PUSCH_MappingToReleaseList
=
NULL
;
pusch_Config
->
frequencyHopping
=
NULL
;
pusch_Config
->
frequencyHopping
=
NULL
;
...
@@ -1306,7 +1310,7 @@ static void config_uplinkBWP(NR_BWP_Uplink_t *ubwp,
...
@@ -1306,7 +1310,7 @@ static void config_uplinkBWP(NR_BWP_Uplink_t *ubwp,
bwp_loop
<
servingcellconfigdedicated
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
count
)
{
bwp_loop
<
servingcellconfigdedicated
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
count
)
{
pusch_Config
=
servingcellconfigdedicated
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
bwp_loop
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
;
pusch_Config
=
servingcellconfigdedicated
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
bwp_loop
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
;
}
}
ubwp
->
bwp_Dedicated
->
pusch_Config
=
config_pusch
(
pusch_Config
,
scc
,
configuration
->
force_
256qam_off
?
NULL
:
uecap
);
ubwp
->
bwp_Dedicated
->
pusch_Config
=
config_pusch
(
pusch_Config
,
configuration
->
use_deltaMCS
,
scc
,
configuration
->
force_UL
256qam_off
?
NULL
:
uecap
);
long
maxMIMO_Layers
=
servingcellconfigdedicated
&&
long
maxMIMO_Layers
=
servingcellconfigdedicated
&&
servingcellconfigdedicated
->
uplinkConfig
servingcellconfigdedicated
->
uplinkConfig
...
@@ -2095,7 +2099,7 @@ static NR_SpCellConfig_t *get_initial_SpCellConfig(int uid,
...
@@ -2095,7 +2099,7 @@ static NR_SpCellConfig_t *get_initial_SpCellConfig(int uid,
config_pucch_resset1
(
pucch_Config
,
NULL
);
config_pucch_resset1
(
pucch_Config
,
NULL
);
set_pucch_power_config
(
pucch_Config
,
configuration
->
do_CSIRS
);
set_pucch_power_config
(
pucch_Config
,
configuration
->
do_CSIRS
);
initialUplinkBWP
->
pusch_Config
=
config_pusch
(
NULL
,
scc
,
NULL
);
initialUplinkBWP
->
pusch_Config
=
config_pusch
(
NULL
,
configuration
->
use_deltaMCS
,
scc
,
NULL
);
long
maxMIMO_Layers
=
uplinkConfig
&&
uplinkConfig
->
pusch_ServingCellConfig
long
maxMIMO_Layers
=
uplinkConfig
&&
uplinkConfig
->
pusch_ServingCellConfig
&&
uplinkConfig
->
pusch_ServingCellConfig
->
choice
.
setup
->
ext1
&&
uplinkConfig
->
pusch_ServingCellConfig
->
choice
.
setup
->
ext1
...
@@ -2423,7 +2427,7 @@ void update_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig,
...
@@ -2423,7 +2427,7 @@ void update_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig,
scc
);
scc
);
NR_BWP_UplinkDedicated_t
*
ul_bwp_Dedicated
=
SpCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
;
NR_BWP_UplinkDedicated_t
*
ul_bwp_Dedicated
=
SpCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
;
set_ul_mcs_table
(
configuration
->
force_256qam_off
?
NULL
:
uecap
,
scc
,
ul_bwp_Dedicated
->
pusch_Config
->
choice
.
setup
);
set_ul_mcs_table
(
configuration
->
force_
UL
256qam_off
?
NULL
:
uecap
,
scc
,
ul_bwp_Dedicated
->
pusch_Config
->
choice
.
setup
);
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
DL_BWP_list
=
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
DL_BWP_list
=
SpCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
;
SpCellConfig
->
spCellConfigDedicated
->
downlinkBWP_ToAddModList
;
...
@@ -2441,7 +2445,7 @@ void update_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig,
...
@@ -2441,7 +2445,7 @@ void update_cellGroupConfig(NR_CellGroupConfig_t *cellGroupConfig,
int
bwp_size
=
NRRIV2BW
(
ul_bwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bwp_size
=
NRRIV2BW
(
ul_bwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
if
(
ul_bwp
->
bwp_Dedicated
->
pusch_Config
)
{
if
(
ul_bwp
->
bwp_Dedicated
->
pusch_Config
)
{
NR_PUSCH_Config_t
*
pusch_Config
=
ul_bwp
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
;
NR_PUSCH_Config_t
*
pusch_Config
=
ul_bwp
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
;
set_ul_mcs_table
(
configuration
->
force_256qam_off
?
NULL
:
uecap
,
scc
,
pusch_Config
);
set_ul_mcs_table
(
configuration
->
force_
UL
256qam_off
?
NULL
:
uecap
,
scc
,
pusch_Config
);
if
(
pusch_Config
->
maxRank
==
NULL
)
{
if
(
pusch_Config
->
maxRank
==
NULL
)
{
pusch_Config
->
maxRank
=
calloc
(
1
,
sizeof
(
*
pusch_Config
->
maxRank
));
pusch_Config
->
maxRank
=
calloc
(
1
,
sizeof
(
*
pusch_Config
->
maxRank
));
}
}
...
@@ -2638,7 +2642,7 @@ NR_CellGroupConfig_t *get_default_secondaryCellGroup(const NR_ServingCellConfigC
...
@@ -2638,7 +2642,7 @@ NR_CellGroupConfig_t *get_default_secondaryCellGroup(const NR_ServingCellConfigC
pusch_Config
=
pusch_Config
=
servingcellconfigdedicated
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
;
servingcellconfigdedicated
->
uplinkConfig
->
uplinkBWP_ToAddModList
->
list
.
array
[
0
]
->
bwp_Dedicated
->
pusch_Config
->
choice
.
setup
;
}
}
initialUplinkBWP
->
pusch_Config
=
config_pusch
(
pusch_Config
,
servingcellconfigcommon
,
uecap
);
initialUplinkBWP
->
pusch_Config
=
config_pusch
(
pusch_Config
,
configuration
->
use_deltaMCS
,
servingcellconfigcommon
,
uecap
);
long
maxMIMO_Layers
=
long
maxMIMO_Layers
=
servingcellconfigdedicated
->
uplinkConfig
&&
servingcellconfigdedicated
->
uplinkConfig
->
pusch_ServingCellConfig
servingcellconfigdedicated
->
uplinkConfig
&&
servingcellconfigdedicated
->
uplinkConfig
->
pusch_ServingCellConfig
...
...
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