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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG-RAN
Commits
6c69393e
Commit
6c69393e
authored
Jun 08, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
genericParameters in the new structure
parent
4d4f7dd6
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
152 additions
and
227 deletions
+152
-227
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+50
-74
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+4
-15
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+8
-9
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+50
-48
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
+7
-15
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+7
-15
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+11
-26
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+5
-12
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+8
-11
openair2/RRC/NR/MESSAGES/asn1_msg.c
openair2/RRC/NR/MESSAGES/asn1_msg.c
+2
-2
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
6c69393e
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
6c69393e
...
...
@@ -393,12 +393,9 @@ bool allocate_dl_retransmission(module_id_t module_id,
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
:
NULL
;
const
NR_SIB1_t
*
sib1
=
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
sib1
?
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
NR_BWP_t
*
genericParameters
=
get_dl_bwp_genericParameters
(
sched_ctrl
->
active_bwp
,
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
ServingCellConfigCommon
,
sib1
);
const
int
coresetid
=
(
sched_ctrl
->
active_bwp
||
bwpd
)
?
sched_ctrl
->
coreset
->
controlResourceSetId
:
RC
.
nrmac
[
module_id
]
->
sched_ctrlCommon
->
coreset
->
controlResourceSetId
;
const
uint16_t
bwpSize
=
coresetid
==
0
?
RC
.
nrmac
[
module_id
]
->
cset0_bwp_size
:
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
uint16_t
bwpSize
=
coresetid
==
0
?
RC
.
nrmac
[
module_id
]
->
cset0_bwp_size
:
NRRIV2BW
(
UE
->
current_BWP
.
dl_
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
rbStart
=
0
;
// start wrt BWPstart
NR_pdsch_semi_static_t
*
ps
=
&
sched_ctrl
->
pdsch_semi_static
;
...
...
@@ -672,9 +669,7 @@ void pf_dl(module_id_t module_id,
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
NR_BWP_t
*
genericParameters
=
get_dl_bwp_genericParameters
(
sched_ctrl
->
active_bwp
,
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
ServingCellConfigCommon
,
sib1
);
NR_BWP_t
*
genericParameters
=
iterator
->
UE
->
current_BWP
.
dl_genericParameters
;
const
int
coresetid
=
(
sched_ctrl
->
active_bwp
||
bwpd
)
?
sched_ctrl
->
coreset
->
controlResourceSetId
:
...
...
@@ -828,10 +823,7 @@ void nr_fr1_dlsch_preprocessor(module_id_t module_id, frame_t frame, sub_frame_t
const
int
startSymbolAndLength
=
tdaList
->
list
.
array
[
tda
]
->
startSymbolAndLength
;
SLIV2SL
(
startSymbolAndLength
,
&
startSymbolIndex
,
&
nrOfSymbols
);
const
NR_SIB1_t
*
sib1
=
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
sib1
?
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
NR_BWP_t
*
genericParameters
=
get_dl_bwp_genericParameters
(
sched_ctrl
->
active_bwp
,
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
ServingCellConfigCommon
,
sib1
);
NR_BWP_t
*
genericParameters
=
UE
->
current_BWP
.
dl_genericParameters
;
NR_BWP_DownlinkDedicated_t
*
bwpd
=
UE
->
CellGroup
&&
...
...
@@ -1008,10 +1000,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
sched_ctrl
->
tpc1
);
NR_BWP_Downlink_t
*
bwp
=
sched_ctrl
->
active_bwp
;
const
NR_SIB1_t
*
sib1
=
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
sib1
?
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
NR_BWP_t
*
genericParameters
=
get_dl_bwp_genericParameters
(
bwp
,
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
ServingCellConfigCommon
,
sib1
);
NR_BWP_t
*
genericParameters
=
current_BWP
->
dl_genericParameters
;
NR_SearchSpace_t
*
ss
=
(
bwp
||
bwpd
)
?
sched_ctrl
->
search_space
:
gNB_mac
->
sched_ctrlCommon
->
search_space
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
6c69393e
...
...
@@ -194,6 +194,7 @@ void nr_preprocessor_phytest(module_id_t module_id,
NR_UE_info_t
*
UE
=
RC
.
nrmac
[
module_id
]
->
UE_info
.
list
[
0
];
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
module_id
]
->
common_channels
[
0
].
ServingCellConfigCommon
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_BWP_t
*
BWP
=
&
UE
->
current_BWP
;
const
int
CC_id
=
0
;
const
int
tda
=
get_dl_tda
(
RC
.
nrmac
[
module_id
],
scc
,
slot
);
...
...
@@ -203,8 +204,8 @@ void nr_preprocessor_phytest(module_id_t module_id,
nr_set_pdsch_semi_static
(
NULL
,
scc
,
UE
->
CellGroup
,
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
);
const
int
BWPStart
=
NRRIV2PRBOFFSET
(
sched_ctrl
->
active_bwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
int
bwpSize
=
NRRIV2BW
(
BWP
->
dl_genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
int
BWPStart
=
NRRIV2PRBOFFSET
(
BWP
->
dl_genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
rbStart
=
0
;
int
rbSize
=
0
;
...
...
@@ -340,7 +341,6 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
gNB_MAC_INST
*
nr_mac
=
RC
.
nrmac
[
module_id
];
NR_COMMON_channels_t
*
cc
=
nr_mac
->
common_channels
;
NR_ServingCellConfigCommon_t
*
scc
=
cc
->
ServingCellConfigCommon
;
const
int
mu
=
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
subcarrierSpacing
;
NR_UE_info_t
*
UE
=
nr_mac
->
UE_info
.
list
[
0
];
AssertFatal
(
nr_mac
->
UE_info
.
list
[
1
]
==
NULL
,
...
...
@@ -351,6 +351,9 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
const
int
CC_id
=
0
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_BWP_t
*
BWP
=
&
UE
->
current_BWP
;
NR_BWP_t
*
genericParameters
=
BWP
->
ul_genericParameters
;
const
int
mu
=
genericParameters
->
subcarrierSpacing
;
const
struct
NR_PUSCH_TimeDomainResourceAllocationList
*
tdaList
=
sched_ctrl
->
active_ubwp
->
bwp_Common
->
pusch_ConfigCommon
->
choice
.
setup
->
pusch_TimeDomainAllocationList
;
...
...
@@ -398,12 +401,8 @@ bool nr_ul_preprocessor_phytest(module_id_t module_id, frame_t frame, sub_frame_
uint16_t
rbStart
=
0
;
uint16_t
rbSize
;
const
int
bw
=
NRRIV2BW
(
sched_ctrl
->
active_ubwp
?
sched_ctrl
->
active_ubwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
:
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
int
BWPStart
=
NRRIV2PRBOFFSET
(
sched_ctrl
->
active_ubwp
?
sched_ctrl
->
active_ubwp
->
bwp_Common
->
genericParameters
.
locationAndBandwidth
:
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
int
bw
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
int
BWPStart
=
NRRIV2PRBOFFSET
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
if
(
target_ul_bw
>
bw
)
rbSize
=
bw
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
6c69393e
...
...
@@ -245,33 +245,6 @@ void set_dl_dmrs_ports(NR_pdsch_semi_static_t *ps) {
}
}
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
*
genericParameters
=
NULL
;
if
(
active_bwp
)
{
genericParameters
=
&
active_bwp
->
bwp_Common
->
genericParameters
;
}
else
if
(
ServingCellConfigCommon
)
{
genericParameters
=
&
ServingCellConfigCommon
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
;
}
else
{
genericParameters
=
&
sib1
->
servingCellConfigCommon
->
downlinkConfigCommon
.
initialDownlinkBWP
.
genericParameters
;
}
return
genericParameters
;
}
NR_BWP_t
*
get_ul_bwp_genericParameters
(
NR_BWP_Uplink_t
*
active_ubwp
,
NR_ServingCellConfigCommon_t
*
ServingCellConfigCommon
,
const
NR_SIB1_t
*
sib1
)
{
NR_BWP_t
*
genericParameters
=
NULL
;
if
(
active_ubwp
)
{
genericParameters
=
&
active_ubwp
->
bwp_Common
->
genericParameters
;
}
else
if
(
ServingCellConfigCommon
)
{
genericParameters
=
&
ServingCellConfigCommon
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
}
else
{
genericParameters
=
&
sib1
->
servingCellConfigCommon
->
uplinkConfigCommon
->
initialUplinkBWP
.
genericParameters
;
}
return
genericParameters
;
}
NR_PDSCH_TimeDomainResourceAllocationList_t
*
get_pdsch_TimeDomainAllocationList
(
const
NR_BWP_Downlink_t
*
active_bwp
,
const
NR_ServingCellConfigCommon_t
*
ServingCellConfigCommon
,
...
...
@@ -1033,13 +1006,11 @@ void config_uldci(const NR_SIB1_t *sib1,
int
time_domain_assignment
,
uint8_t
tpc
,
int
n_ubwp
,
int
bwp_id
)
{
NR_UE_BWP_t
*
BWP
)
{
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
((
NR_BWP_Uplink_t
*
)
ubwp
,
(
NR_ServingCellConfigCommon_t
*
)
scc
,
(
NR_SIB1_t
*
)
sib1
);
int
bwp_id
=
BWP
->
ul_bwp_id
;
const
int
bw
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
int
bw
=
NRRIV2BW
(
BWP
->
ul_
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
dci_pdu_rel15
->
frequency_domain_assignment
.
val
=
PRBalloc_to_locationandbandwidth0
(
pusch_pdu
->
rb_size
,
pusch_pdu
->
rb_start
,
bw
);
...
...
@@ -1176,10 +1147,8 @@ int nr_get_pucch_resource(NR_ControlResourceSet_t *coreset,
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
,
NR_UE_info_t
*
UE
,
NR_BWP_UplinkDedicated_t
*
bwpd
,
uint16_t
rnti
,
uint8_t
pucch_resource
,
uint16_t
O_csi
,
uint16_t
O_ack
,
...
...
@@ -1191,6 +1160,7 @@ void nr_configure_pucch(const NR_SIB1_t *sib1,
NR_PUCCH_ResourceSet_t
*
pucchresset
;
NR_PUCCH_FormatConfig_t
*
pucchfmt
;
NR_PUCCH_ResourceId_t
*
resource_id
=
NULL
;
NR_BWP_Uplink_t
*
bwp
=
UE
->
UE_sched_ctrl
.
active_ubwp
;
long
*
id0
=
NULL
;
int
n_list
,
n_set
;
...
...
@@ -1252,7 +1222,7 @@ void nr_configure_pucch(const NR_SIB1_t *sib1,
else
pucch_pdu
->
hopping_id
=
*
scc
->
physCellId
;
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
(
bwp
,
scc
,
sib1
)
;
NR_BWP_t
*
genericParameters
=
UE
->
current_BWP
.
ul_genericParameters
;
pucch_pdu
->
bwp_size
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
pucch_pdu
->
bwp_start
=
NRRIV2PRBOFFSET
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
...
...
@@ -1316,7 +1286,7 @@ void nr_configure_pucch(const NR_SIB1_t *sib1,
if
(
pucchres
->
pucch_ResourceId
==
*
resource_id
)
{
res_found
=
1
;
pucch_pdu
->
prb_start
=
pucchres
->
startingPRB
;
pucch_pdu
->
rnti
=
rnti
;
pucch_pdu
->
rnti
=
UE
->
rnti
;
// FIXME why there is only one frequency hopping flag
// what about inter slot frequency hopping?
pucch_pdu
->
freq_hop_flag
=
pucchres
->
intraSlotFrequencyHopping
!=
NULL
?
1
:
0
;
...
...
@@ -1417,7 +1387,7 @@ void nr_configure_pucch(const NR_SIB1_t *sib1,
&
start_symb
);
pucch_pdu
->
prb_start
=
prb_start
;
pucch_pdu
->
rnti
=
rnti
;
pucch_pdu
->
rnti
=
UE
->
rnti
;
pucch_pdu
->
freq_hop_flag
=
1
;
pucch_pdu
->
second_hop_prb
=
second_hop_prb
;
pucch_pdu
->
format_type
=
default_pucch_fmt
[
rsetindex
];
...
...
@@ -2378,7 +2348,12 @@ void delete_nr_ue_data(NR_UE_info_t *UE, NR_COMMON_channels_t *ccPtr)
}
}
void
configure_UE_BWP
(
NR_UE_BWP_t
*
BWP
,
NR_CellGroupConfig_t
*
CellGroup
)
{
void
configure_UE_BWP
(
NR_UE_BWP_t
*
BWP
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_CellGroupConfig_t
*
CellGroup
)
{
NR_BWP_Downlink_t
*
dl_bwp
=
NULL
;
NR_BWP_Uplink_t
*
ul_bwp
=
NULL
;
if
(
CellGroup
&&
CellGroup
->
spCellConfig
&&
...
...
@@ -2394,7 +2369,37 @@ void configure_UE_BWP(NR_UE_BWP_t *BWP, NR_CellGroupConfig_t *CellGroup) {
}
if
(
servingCellConfig
->
uplinkConfig
->
firstActiveUplinkBWP_Id
)
BWP
->
ul_bwp_id
=
*
servingCellConfig
->
uplinkConfig
->
firstActiveUplinkBWP_Id
;
const
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
bwpList
=
servingCellConfig
->
downlinkBWP_ToAddModList
;
if
(
BWP
->
dl_bwp_id
>
0
)
{
for
(
int
i
=
0
;
i
<
bwpList
->
list
.
count
;
i
++
)
{
if
(
dl_bwp
->
bwp_Id
==
BWP
->
dl_bwp_id
)
{
dl_bwp
=
bwpList
->
list
.
array
[
i
-
1
];
break
;
}
}
AssertFatal
(
dl_bwp
!=
NULL
,
"Couldn't find DLBWP corresponding to BWP ID %ld
\n
"
,
BWP
->
dl_bwp_id
);
}
const
struct
NR_UplinkConfig__uplinkBWP_ToAddModList
*
ubwpList
=
servingCellConfig
->
uplinkConfig
->
uplinkBWP_ToAddModList
;
if
(
BWP
->
ul_bwp_id
>
0
)
{
for
(
int
i
=
0
;
i
<
ubwpList
->
list
.
count
;
i
++
)
{
if
(
ul_bwp
->
bwp_Id
==
BWP
->
ul_bwp_id
)
{
ul_bwp
=
ubwpList
->
list
.
array
[
i
-
1
];
break
;
}
}
AssertFatal
(
ul_bwp
!=
NULL
,
"Couldn't find DLBWP corresponding to BWP ID %ld
\n
"
,
BWP
->
ul_bwp_id
);
}
}
BWP
->
dl_genericParameters
=
(
BWP
->
dl_bwp_id
>
0
&&
dl_bwp
)
?
&
dl_bwp
->
bwp_Common
->
genericParameters
:
&
scc
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
;
BWP
->
ul_genericParameters
=
(
BWP
->
ul_bwp_id
>
0
&&
ul_bwp
)
?
&
ul_bwp
->
bwp_Common
->
genericParameters
:
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
}
//------------------------------------------------------------------------------
...
...
@@ -2446,7 +2451,7 @@ NR_UE_info_t *add_new_nr_ue(gNB_MAC_INST *nr_mac, rnti_t rntiP, NR_CellGroupConf
// initialize UE BWP information
NR_UE_BWP_t
*
BWP
=
&
UE
->
current_BWP
;
memset
(
BWP
,
0
,
sizeof
(
*
BWP
));
configure_UE_BWP
(
BWP
,
CellGroup
);
configure_UE_BWP
(
BWP
,
scc
,
CellGroup
);
/* set illegal time domain allocation to force recomputation of all fields */
sched_ctrl
->
pdsch_semi_static
.
time_domain_allocation
=
-
1
;
...
...
@@ -2457,9 +2462,7 @@ NR_UE_info_t *add_new_nr_ue(gNB_MAC_INST *nr_mac, rnti_t rntiP, NR_CellGroupConf
const
struct
NR_ServingCellConfig__downlinkBWP_ToAddModList
*
bwpList
=
servingCellConfig
?
servingCellConfig
->
downlinkBWP_ToAddModList
:
NULL
;
sched_ctrl
->
active_bwp
=
bwpList
&&
BWP
->
dl_bwp_id
>
0
?
bwpList
->
list
.
array
[
BWP
->
dl_bwp_id
-
1
]
:
NULL
;
NR_BWP_t
*
genericParameters
=
sched_ctrl
->
active_bwp
?
&
sched_ctrl
->
active_bwp
->
bwp_Common
->
genericParameters
:
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
const
int
target_ss
=
sched_ctrl
->
active_bwp
?
NR_SearchSpace__searchSpaceType_PR_ue_Specific
:
NR_SearchSpace__searchSpaceType_PR_common
;
const
NR_SIB1_t
*
sib1
=
nr_mac
->
common_channels
[
0
].
sib1
?
nr_mac
->
common_channels
[
0
].
sib1
->
message
.
choice
.
c1
->
choice
.
systemInformationBlockType1
:
NULL
;
sched_ctrl
->
search_space
=
get_searchspace
(
sib1
,
...
...
@@ -2475,7 +2478,7 @@ NR_UE_info_t *add_new_nr_ue(gNB_MAC_INST *nr_mac, rnti_t rntiP, NR_CellGroupConf
sched_ctrl
->
search_space
,
sched_ctrl
->
coreset
,
scc
,
genericParameters
,
BWP
->
dl_
genericParameters
,
NULL
);
sched_ctrl
->
next_dl_bwp_id
=
-
1
;
sched_ctrl
->
next_ul_bwp_id
=
-
1
;
...
...
@@ -2712,6 +2715,7 @@ void nr_csirs_scheduling(int Mod_idP,
continue
;
}
NR_CellGroupConfig_t
*
CellGroup
=
UE
->
CellGroup
;
NR_UE_BWP_t
*
BWP
=
&
UE
->
current_BWP
;
if
(
!
CellGroup
||
!
CellGroup
->
spCellConfig
||
!
CellGroup
->
spCellConfig
->
spCellConfigDedicated
||
!
CellGroup
->
spCellConfig
->
spCellConfigDedicated
->
csi_MeasConfig
)
continue
;
...
...
@@ -2724,9 +2728,7 @@ void nr_csirs_scheduling(int Mod_idP,
int
period
,
offset
;
nfapi_nr_dl_tti_request_body_t
*
dl_req
=
&
gNB_mac
->
DL_req
[
CC_id
].
dl_tti_request_body
;
NR_BWP_t
*
genericParameters
=
sched_ctrl
->
active_bwp
?
&
sched_ctrl
->
active_bwp
->
bwp_Common
->
genericParameters
:
&
gNB_mac
->
common_channels
[
0
].
ServingCellConfigCommon
->
downlinkConfigCommon
->
initialDownlinkBWP
->
genericParameters
;
NR_BWP_t
*
genericParameters
=
BWP
->
dl_genericParameters
;
for
(
int
id
=
0
;
id
<
csi_measconfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
.
count
;
id
++
){
nzpcsi
=
csi_measconfig
->
nzp_CSI_RS_ResourceToAddModList
->
list
.
array
[
id
];
...
...
@@ -2944,7 +2946,7 @@ void nr_mac_update_timers(module_id_t module_id,
}
}
configure_UE_BWP
(
BWP
,
UE
->
CellGroup
);
configure_UE_BWP
(
BWP
,
scc
,
UE
->
CellGroup
);
NR_BWP_Downlink_t
*
bwp
=
sched_ctrl
->
active_bwp
;
NR_BWP_DownlinkDedicated_t
*
bwpd
=
cg
&&
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_srs.c
View file @
6c69393e
...
...
@@ -36,19 +36,15 @@ extern RAN_CONTEXT_t RC;
void
nr_configure_srs
(
nfapi_nr_srs_pdu_t
*
srs_pdu
,
int
module_id
,
int
CC_id
,
NR_UE_info_t
*
UE
,
NR_SRS_Resource_t
*
srs_resource
)
{
gNB_MAC_INST
*
nrmac
=
RC
.
nrmac
[
module_id
];
NR_ServingCellConfigCommon_t
*
scc
=
nrmac
->
common_channels
[
CC_id
].
ServingCellConfigCommon
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_BWP_t
*
current_BWP
=
&
UE
->
current_BWP
;
NR_BWP_t
ubwp
=
sched_ctrl
->
active_ubwp
?
sched_ctrl
->
active_ubwp
->
bwp_Common
->
genericParameters
:
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
NR_BWP_t
*
ubwp
=
current_BWP
->
ul_genericParameters
;
srs_pdu
->
rnti
=
UE
->
rnti
;
srs_pdu
->
handle
=
0
;
srs_pdu
->
bwp_size
=
NRRIV2BW
(
ubwp
.
locationAndBandwidth
,
MAX_BWP_SIZE
);;
srs_pdu
->
bwp_start
=
NRRIV2PRBOFFSET
(
ubwp
.
locationAndBandwidth
,
MAX_BWP_SIZE
);;
srs_pdu
->
subcarrier_spacing
=
ubwp
.
subcarrierSpacing
;
srs_pdu
->
bwp_size
=
NRRIV2BW
(
ubwp
->
locationAndBandwidth
,
MAX_BWP_SIZE
);;
srs_pdu
->
bwp_start
=
NRRIV2PRBOFFSET
(
ubwp
->
locationAndBandwidth
,
MAX_BWP_SIZE
);;
srs_pdu
->
subcarrier_spacing
=
ubwp
->
subcarrierSpacing
;
srs_pdu
->
cyclic_prefix
=
0
;
srs_pdu
->
num_ant_ports
=
srs_resource
->
nrofSRS_Ports
;
srs_pdu
->
num_symbols
=
srs_resource
->
resourceMapping
.
nrofSymbols
;
...
...
@@ -114,9 +110,9 @@ void nr_schedule_srs(int module_id, frame_t frame) {
UE_iterator
(
UE_info
->
list
,
UE
)
{
const
int
CC_id
=
0
;
NR_ServingCellConfigCommon_t
*
scc
=
RC
.
nrmac
[
module_id
]
->
common_channels
[
CC_id
].
ServingCellConfigCommon
;
NR_CellGroupConfig_t
*
cg
=
UE
->
CellGroup
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_BWP_t
*
current_BWP
=
&
UE
->
current_BWP
;
sched_ctrl
->
sched_srs
.
frame
=
-
1
;
sched_ctrl
->
sched_srs
.
slot
=
-
1
;
...
...
@@ -163,14 +159,10 @@ void nr_schedule_srs(int module_id, frame_t frame) {
continue
;
}
NR_BWP_t
ubwp
=
sched_ctrl
->
active_ubwp
?
sched_ctrl
->
active_ubwp
->
bwp_Common
->
genericParameters
:
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
uint16_t
period
=
srs_period
[
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
.
present
];
uint16_t
offset
=
get_nr_srs_offset
(
srs_resource
->
resourceType
.
choice
.
periodic
->
periodicityAndOffset_p
);
int
n_slots_frame
=
nr_slots_per_frame
[
ubwp
.
subcarrierSpacing
];
int
n_slots_frame
=
nr_slots_per_frame
[
current_BWP
->
ul_genericParameters
->
subcarrierSpacing
];
// Check if UE will transmit the SRS in this frame
if
(
((
frame
-
offset
/
n_slots_frame
)
*
n_slots_frame
)
%
period
==
0
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
6c69393e
...
...
@@ -93,10 +93,8 @@ static void nr_fill_nfapi_pucch(gNB_MAC_INST *nrmac,
nr_configure_pucch
(
sib1
,
pucch_pdu
,
scc
,
UE
->
CellGroup
,
UE
->
UE_sched_ctrl
.
active_ubwp
,
UE
,
ubwpd
,
UE
->
rnti
,
pucch
->
resource_indicator
,
pucch
->
csi_bits
,
pucch
->
dai_c
,
...
...
@@ -706,6 +704,7 @@ void nr_csi_meas_reporting(int Mod_idP,
UE_iterator
(
RC
.
nrmac
[
Mod_idP
]
->
UE_info
.
list
,
UE
)
{
const
NR_CellGroupConfig_t
*
CellGroup
=
UE
->
CellGroup
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_UE_BWP_t
*
BWP
=
&
UE
->
current_BWP
;
if
((
sched_ctrl
->
rrc_processing_timer
>
0
)
||
(
sched_ctrl
->
ul_failure
==
1
&&
get_softmodem_params
()
->
phy_test
==
0
))
{
continue
;
}
...
...
@@ -765,12 +764,7 @@ void nr_csi_meas_reporting(int Mod_idP,
curr_pucch
->
csi_bits
+=
nr_get_csi_bitlen
(
UE
,
csi_report_id
);
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
);
int
bwp_start
=
NRRIV2PRBOFFSET
(
BWP
->
ul_genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
// going through the list of PUCCH resources to find the one indexed by resource_id
uint16_t
*
vrb_map_UL
=
&
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
0
].
vrb_map_UL
[
sched_slot
*
MAX_BWP_SIZE
];
...
...
@@ -1631,8 +1625,8 @@ int nr_acknack_scheduling(int mod_id,
* later)
* * each UE has dedicated PUCCH Format 0 resources, and we use index 0! */
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_CellGroupConfig_t
*
cg
=
UE
->
CellGroup
;
NR_UE_BWP_t
*
BWP
=
&
UE
->
current_BWP
;
NR_CellGroupConfig_t
*
cg
=
UE
->
CellGroup
;
NR_PUCCH_Config_t
*
pucch_Config
=
NULL
;
if
(
sched_ctrl
->
active_ubwp
)
{
...
...
@@ -1644,11 +1638,9 @@ int nr_acknack_scheduling(int mod_id,
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
)
{
pucch_Config
=
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
->
pucch_Config
->
choice
.
setup
;
}
NR_BWP_t
*
genericParameters
=
sched_ctrl
->
active_ubwp
?
&
sched_ctrl
->
active_ubwp
->
bwp_Common
->
genericParameters
:
&
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
;
int
bwp_start
=
NRRIV2PRBOFFSET
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bwp_size
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bwp_start
=
NRRIV2PRBOFFSET
(
BWP
->
ul_genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
bwp_size
=
NRRIV2BW
(
BWP
->
ul_genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
NR_sched_pucch_t
*
pucch
=
&
sched_ctrl
->
sched_pucch
[
0
];
LOG_D
(
NR_MAC
,
"In %s: %4d.%2d Trying to allocate pucch, current DAI %d
\n
"
,
__FUNCTION__
,
frame
,
slot
,
pucch
->
dai_c
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
6c69393e
...
...
@@ -847,12 +847,8 @@ static bool allocate_ul_retransmission(gNB_MAC_INST *nrmac,
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
?
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
:
NULL
;
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
(
sched_ctrl
->
active_ubwp
,
(
NR_ServingCellConfigCommon_t
*
)
scc
,
sib1
);
int
rbStart
=
0
;
// wrt BWP start
const
uint16_t
bwpSize
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
uint16_t
bwpSize
=
NRRIV2BW
(
UE
->
current_BWP
.
ul_
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
uint8_t
nrOfLayers
=
1
;
const
uint8_t
num_dmrs_cdm_grps_no_data
=
(
sched_ctrl
->
active_bwp
||
ubwpd
)
?
1
:
2
;
LOG_D
(
NR_MAC
,
"retInfo->time_domain_allocation = %d, tda = %d
\n
"
,
retInfo
->
time_domain_allocation
,
tda
);
...
...
@@ -1042,10 +1038,7 @@ void pf_ul(module_id_t module_id,
LOG_D
(
NR_MAC
,
"pf_ul: preparing UL scheduling for UE %04x
\n
"
,
UE
->
rnti
);
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
(
sched_ctrl
->
active_ubwp
,
scc
,
sib1
);
NR_UE_BWP_t
*
BWP
=
&
UE
->
current_BWP
;
int
rbStart
=
0
;
// wrt BWP start
NR_CellGroupConfig_t
*
cg
=
UE
->
CellGroup
;
...
...
@@ -1053,7 +1046,7 @@ void pf_ul(module_id_t module_id,
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
?
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
:
NULL
;
const
uint16_t
bwpSize
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
uint16_t
bwpSize
=
NRRIV2BW
(
BWP
->
ul_
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
NR_sched_pusch_t
*
sched_pusch
=
&
sched_ctrl
->
sched_pusch
;
NR_pusch_semi_static_t
*
ps
=
&
sched_ctrl
->
pusch_semi_static
;
const
NR_mac_dir_stats_t
*
stats
=
&
UE
->
mac_stats
.
ul
;
...
...
@@ -1243,17 +1236,15 @@ void pf_ul(module_id_t module_id,
}
else
LOG_D
(
NR_MAC
,
"%4d.%2d free CCE for UL DCI UE %04x
\n
"
,
frame
,
slot
,
iterator
->
UE
->
rnti
);
NR_UE_BWP_t
*
BWP
=
&
iterator
->
UE
->
current_BWP
;
NR_CellGroupConfig_t
*
cg
=
iterator
->
UE
->
CellGroup
;
NR_BWP_UplinkDedicated_t
*
ubwpd
=
cg
&&
cg
->
spCellConfig
&&
cg
->
spCellConfig
->
spCellConfigDedicated
&&
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
?
cg
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
:
NULL
;
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
(
sched_ctrl
->
active_ubwp
,
scc
,
sib1
);
int
rbStart
=
sched_ctrl
->
active_ubwp
?
NRRIV2PRBOFFSET
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
)
:
0
;
const
uint16_t
bwpSize
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
int
rbStart
=
sched_ctrl
->
active_ubwp
?
NRRIV2PRBOFFSET
(
BWP
->
ul_
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
)
:
0
;
const
uint16_t
bwpSize
=
NRRIV2BW
(
BWP
->
ul_
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
NR_sched_pusch_t
*
sched_pusch
=
&
sched_ctrl
->
sched_pusch
;
NR_pusch_semi_static_t
*
ps
=
&
sched_ctrl
->
pusch_semi_static
;
...
...
@@ -1346,9 +1337,6 @@ bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_frame_t
AssertFatal
(
scc
!=
NULL
||
scc_sib1
!=
NULL
,
"We need one serving cell config common
\n
"
);
const
int
mu
=
scc
?
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
genericParameters
.
subcarrierSpacing
:
scc_sib1
->
uplinkConfigCommon
->
initialUplinkBWP
.
genericParameters
.
subcarrierSpacing
;
if
(
nr_mac
->
UE_info
.
list
[
0
]
==
NULL
)
// no UEs
return
false
;
...
...
@@ -1360,6 +1348,9 @@ bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_frame_t
* TDAs yet). If the TDA is negative, it means that there is no UL slot to
* schedule now (slot + k2 is not UL slot) */
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
nr_mac
->
UE_info
.
list
[
0
]
->
UE_sched_ctrl
;
NR_UE_BWP_t
*
BWP
=
&
nr_mac
->
UE_info
.
list
[
0
]
->
current_BWP
;
NR_BWP_t
*
genericParameters
=
BWP
->
ul_genericParameters
;
int
mu
=
genericParameters
->
subcarrierSpacing
;
const
int
temp_tda
=
get_ul_tda
(
nr_mac
,
scc
,
slot
);
int
K2
=
get_K2
(
scc
,
scc_sib1
,
sched_ctrl
->
active_ubwp
,
temp_tda
,
mu
);
const
int
sched_frame
=
(
frame
+
(
slot
+
K2
>=
nr_slots_per_frame
[
mu
]))
&
1023
;
...
...
@@ -1409,10 +1400,6 @@ bool nr_fr1_ulsch_preprocessor(module_id_t module_id, frame_t frame, sub_frame_t
uint16_t
*
vrb_map_UL
=
&
RC
.
nrmac
[
module_id
]
->
common_channels
[
CC_id
].
vrb_map_UL
[
sched_slot
*
MAX_BWP_SIZE
];
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
(
sched_ctrl
->
active_ubwp
,
scc
,
sib1
);
const
uint16_t
bwpSize
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
const
uint16_t
bwpStart
=
NRRIV2PRBOFFSET
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
...
...
@@ -1656,9 +1643,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
pusch_pdu
->
handle
=
0
;
//not yet used
/* FAPI: BWP */
NR_BWP_t
*
genericParameters
=
get_ul_bwp_genericParameters
(
sched_ctrl
->
active_ubwp
,
scc
,
sib1
);
NR_BWP_t
*
genericParameters
=
current_BWP
->
ul_genericParameters
;
pusch_pdu
->
bwp_size
=
NRRIV2BW
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
pusch_pdu
->
bwp_start
=
NRRIV2PRBOFFSET
(
genericParameters
->
locationAndBandwidth
,
MAX_BWP_SIZE
);
...
...
@@ -1821,7 +1806,7 @@ void nr_schedule_ulsch(module_id_t module_id, frame_t frame, sub_frame_t slot)
ps
->
time_domain_allocation
,
UE
->
UE_sched_ctrl
.
tpc0
,
n_ubwp
,
current_BWP
->
ul_bwp_id
);
current_BWP
);
fill_dci_pdu_rel15
(
scc
,
cg
,
dci_pdu
,
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
6c69393e
...
...
@@ -201,7 +201,7 @@ void config_uldci(const NR_SIB1_t *sib1,
int
time_domain_assignment
,
uint8_t
tpc
,
int
n_ubwp
,
int
bwp_id
);
NR_UE_BWP_t
*
BWP
);
void
nr_schedule_pucch
(
gNB_MAC_INST
*
nrmac
,
frame_t
frameP
,
...
...
@@ -257,10 +257,8 @@ int nr_get_pucch_resource(NR_ControlResourceSet_t *coreset,
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
,
NR_UE_info_t
*
UE
,
NR_BWP_UplinkDedicated_t
*
bwpd
,
uint16_t
rnti
,
uint8_t
pucch_resource
,
uint16_t
O_csi
,
uint16_t
O_ack
,
...
...
@@ -321,13 +319,6 @@ 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
,
...
...
@@ -405,7 +396,9 @@ NR_UE_info_t * find_nr_UE(NR_UEs_t* UEs, rnti_t rntiP);
int
find_nr_RA_id
(
module_id_t
mod_idP
,
int
CC_idP
,
rnti_t
rntiP
);
void
configure_UE_BWP
(
NR_UE_BWP_t
*
BWP
,
NR_CellGroupConfig_t
*
CellGroup
);
void
configure_UE_BWP
(
NR_UE_BWP_t
*
BWP
,
NR_ServingCellConfigCommon_t
*
scc
,
NR_CellGroupConfig_t
*
CellGroup
);
NR_UE_info_t
*
add_new_nr_ue
(
gNB_MAC_INST
*
nr_mac
,
rnti_t
rntiP
,
NR_CellGroupConfig_t
*
CellGroup
);
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
6c69393e
...
...
@@ -91,6 +91,12 @@ typedef struct {
int
len
;
}
NR_list_t
;
typedef
struct
NR_UE_BWP
{
NR_BWP_Id_t
dl_bwp_id
;
NR_BWP_Id_t
ul_bwp_id
;
NR_BWP_t
*
dl_genericParameters
;
NR_BWP_t
*
ul_genericParameters
;
}
NR_UE_BWP_t
;
typedef
enum
{
RA_IDLE
=
0
,
...
...
@@ -124,10 +130,6 @@ typedef struct NR_sched_pdcch {
typedef
struct
{
/// Flag to indicate this process is active
RA_gNB_state_t
state
;
/// DL BWP id of RA process
int
dl_bwp_id
;
/// UL BWP id of RA process
int
ul_bwp_id
;
/// CORESET0 configured flag
int
coreset0_configured
;
/// Slot where preamble was received
...
...
@@ -199,6 +201,8 @@ typedef struct {
rnti_t
crnti
;
/// CFRA flag
bool
cfra
;
// BWP for RA
NR_UE_BWP_t
BWP
;
}
NR_RA_t
;
/*! \brief gNB common channels */
...
...
@@ -701,11 +705,6 @@ typedef struct NR_bler_options {
uint8_t
max_mcs
;
}
NR_bler_options_t
;
typedef
struct
NR_UE_BWP
{
NR_BWP_Id_t
dl_bwp_id
;
NR_BWP_Id_t
ul_bwp_id
;
}
NR_UE_BWP_t
;
/*! \brief UE list used by gNB to order UEs/CC for scheduling*/
#define MAX_CSI_REPORTCONFIG 48
typedef
struct
{
...
...
@@ -718,8 +717,6 @@ typedef struct {
NR_CellGroupConfig_t
*
CellGroup
;
char
cg_buf
[
32768
];
/* arbitrary size */
asn_enc_rval_t
enc_rval
;
/// CCE indexing
int
m
;
// UE selected beam index
uint8_t
UE_beam_index
;
bool
Msg4_ACKed
;
...
...
openair2/RRC/NR/MESSAGES/asn1_msg.c
View file @
6c69393e
...
...
@@ -304,8 +304,8 @@ uint8_t do_MIB_NR(gNB_RRC_INST *rrc,uint32_t frame) {
}
uint8_t
do_SIB1_NR
(
rrc_gNB_carrier_data_t
*
carrier
,
gNB_RrcConfigurationReq
*
configuration
)
{
gNB_RrcConfigurationReq
*
configuration
)
{
asn_enc_rval_t
enc_rval
;
NR_BCCH_DL_SCH_Message_t
*
sib1_message
=
CALLOC
(
1
,
sizeof
(
NR_BCCH_DL_SCH_Message_t
));
...
...
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