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
spbro
OpenXG-RAN
Commits
52b05b8f
Commit
52b05b8f
authored
Jan 10, 2022
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
review changes
parent
8202180a
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
26 additions
and
32 deletions
+26
-32
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+6
-6
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+8
-10
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+3
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+3
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+3
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+3
-4
No files found.
openair2/GNB_APP/gnb_config.c
View file @
52b05b8f
...
@@ -1160,17 +1160,17 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
...
@@ -1160,17 +1160,17 @@ void RCconfig_NRRRC(MessageDef *msg_p, uint32_t i, gNB_RRC_INST *rrc) {
(
NRRRC_CONFIGURATION_REQ
(
msg_p
).
mnc_digit_length
[
l
]
==
3
),
"BAD MNC DIGIT LENGTH %d"
,
(
NRRRC_CONFIGURATION_REQ
(
msg_p
).
mnc_digit_length
[
l
]
==
3
),
"BAD MNC DIGIT LENGTH %d"
,
NRRRC_CONFIGURATION_REQ
(
msg_p
).
mnc_digit_length
[
l
]);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
mnc_digit_length
[
l
]);
}
}
printf
(
"SSB SCO %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_SSB_SUBCARRIEROFFSET_IDX
].
iptr
);
LOG_I
(
RRC
,
"SSB SCO %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_SSB_SUBCARRIEROFFSET_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ssb_SubcarrierOffset
=
*
GNBParamList
.
paramarray
[
i
][
GNB_SSB_SUBCARRIEROFFSET_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
ssb_SubcarrierOffset
=
*
GNBParamList
.
paramarray
[
i
][
GNB_SSB_SUBCARRIEROFFSET_IDX
].
iptr
;
printf
(
"pdsch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PDSCH_ANTENNAPORTS_IDX
].
iptr
);
LOG_I
(
RRC
,
"pdsch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PDSCH_ANTENNAPORTS_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
pdsch_AntennaPorts
=
*
GNBParamList
.
paramarray
[
i
][
GNB_PDSCH_ANTENNAPORTS_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
pdsch_AntennaPorts
=
*
GNBParamList
.
paramarray
[
i
][
GNB_PDSCH_ANTENNAPORTS_IDX
].
iptr
;
printf
(
"pusch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PUSCH_ANTENNAPORTS_IDX
].
iptr
);
LOG_I
(
RRC
,
"pusch_AntennaPorts %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_PUSCH_ANTENNAPORTS_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
pusch_AntennaPorts
=
*
GNBParamList
.
paramarray
[
i
][
GNB_PUSCH_ANTENNAPORTS_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
pusch_AntennaPorts
=
*
GNBParamList
.
paramarray
[
i
][
GNB_PUSCH_ANTENNAPORTS_IDX
].
iptr
;
printf
(
"minTXRXTIME %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_MINRXTXTIME_IDX
].
iptr
);
LOG_I
(
RRC
,
"minTXRXTIME %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_MINRXTXTIME_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
minRXTXTIME
=
*
GNBParamList
.
paramarray
[
i
][
GNB_MINRXTXTIME_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
minRXTXTIME
=
*
GNBParamList
.
paramarray
[
i
][
GNB_MINRXTXTIME_IDX
].
iptr
;
printf
(
"SIB1 TDA %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_SIB1_TDA_IDX
].
iptr
);
LOG_I
(
RRC
,
"SIB1 TDA %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_SIB1_TDA_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
sib1_tda
=
*
GNBParamList
.
paramarray
[
i
][
GNB_SIB1_TDA_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
sib1_tda
=
*
GNBParamList
.
paramarray
[
i
][
GNB_SIB1_TDA_IDX
].
iptr
;
printf
(
"Do CSI-RS %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_DO_CSIRS_IDX
].
iptr
);
LOG_I
(
RRC
,
"Do CSI-RS %d
\n
"
,
*
GNBParamList
.
paramarray
[
i
][
GNB_DO_CSIRS_IDX
].
iptr
);
NRRRC_CONFIGURATION_REQ
(
msg_p
).
do_CSIRS
=
*
GNBParamList
.
paramarray
[
i
][
GNB_DO_CSIRS_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
do_CSIRS
=
*
GNBParamList
.
paramarray
[
i
][
GNB_DO_CSIRS_IDX
].
iptr
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
scc
=
scc
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
scc
=
scc
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
scd
=
scd
;
NRRRC_CONFIGURATION_REQ
(
msg_p
).
scd
=
scd
;
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
52b05b8f
...
@@ -445,13 +445,12 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
...
@@ -445,13 +445,12 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
RC
.
nrmac
[
Mod_idP
]
->
UL_tti_req_ahead
[
0
]
=
calloc
(
n
,
sizeof
(
nfapi_nr_ul_tti_request_t
));
RC
.
nrmac
[
Mod_idP
]
->
UL_tti_req_ahead
[
0
]
=
calloc
(
n
,
sizeof
(
nfapi_nr_ul_tti_request_t
));
AssertFatal
(
RC
.
nrmac
[
Mod_idP
]
->
UL_tti_req_ahead
[
0
],
AssertFatal
(
RC
.
nrmac
[
Mod_idP
]
->
UL_tti_req_ahead
[
0
],
"could not allocate memory for RC.nrmac[]->UL_tti_req_ahead[]
\n
"
);
"could not allocate memory for RC.nrmac[]->UL_tti_req_ahead[]
\n
"
);
/* fill in slot/frame numbers: slot is fixed, frame will be updated by
/* fill in slot/frame numbers: slot is fixed, frame will be updated by
scheduler
* scheduler
*/
extern sf_ahead is initialized in ru_thread but that function is not executed yet here
*/
uint16_t
sf_ahead
=
(
uint16_t
)
ceil
((
float
)
6
/
(
0x01
<<
(
*
scc
->
ssbSubcarrierSpacing
)));
const
uint16_t
sf_ahead
=
(
uint16_t
)
ceil
((
float
)
6
/
(
0x01
<<
(
*
scc
->
ssbSubcarrierSpacing
)));
uint16_t
sl_ahead
=
sf_ahead
*
(
0x01
<<
(
*
scc
->
ssbSubcarrierSpacing
));
const
uint16_t
sl_ahead
=
sf_ahead
*
(
0x01
<<
(
*
scc
->
ssbSubcarrierSpacing
));
/* consider that scheduler runs sl_ahead: the first sl_ahead slots are
/* consider that scheduler runs sl_ahead: the first sl_ahead slots are
* already "in the past" and thus we put frame 1 instead of 0! Note that
* already "in the past" and thus we put frame 1 instead of 0!*/
* extern variable sl_ahead is not initialized yet, so computing it above */
for
(
int
i
=
0
;
i
<
n
;
++
i
)
{
for
(
int
i
=
0
;
i
<
n
;
++
i
)
{
nfapi_nr_ul_tti_request_t
*
req
=
&
RC
.
nrmac
[
Mod_idP
]
->
UL_tti_req_ahead
[
0
][
i
];
nfapi_nr_ul_tti_request_t
*
req
=
&
RC
.
nrmac
[
Mod_idP
]
->
UL_tti_req_ahead
[
0
][
i
];
req
->
SFN
=
i
<
(
sl_ahead
-
1
);
req
->
SFN
=
i
<
(
sl_ahead
-
1
);
...
@@ -501,10 +500,9 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
...
@@ -501,10 +500,9 @@ int rrc_mac_config_req_gNB(module_id_t Mod_idP,
nr_ulstart_slot
=
tdd
->
nrofDownlinkSlots
+
(
tdd
->
nrofUplinkSymbols
==
0
);
nr_ulstart_slot
=
tdd
->
nrofDownlinkSlots
+
(
tdd
->
nrofUplinkSymbols
==
0
);
nr_slots_period
/=
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
);
nr_slots_period
/=
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
);
}
}
else
{
else
if
(
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
0
].
frame_type
==
TDD
)
// if TDD configuration is not present and the band is not FDD, it means it is a dynamic TDD configuration
AssertFatal
(
1
==
0
,
"Dynamic TDD not handled yet
\n
"
);
AssertFatal
(
RC
.
nrmac
[
Mod_idP
]
->
common_channels
[
0
].
frame_type
==
FDD
,
"Dynamic TDD not handled yet
\n
"
);
}
for
(
int
slot
=
0
;
slot
<
n
;
++
slot
)
{
for
(
int
slot
=
0
;
slot
<
n
;
++
slot
)
{
/* FIXME: it seems there is a problem with slot 0/10/slots right after UL:
/* FIXME: it seems there is a problem with slot 0/10/slots right after UL:
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
52b05b8f
...
@@ -487,10 +487,9 @@ void nr_schedule_msg2(uint16_t rach_frame, uint16_t rach_slot,
...
@@ -487,10 +487,9 @@ void nr_schedule_msg2(uint16_t rach_frame, uint16_t rach_slot,
// go to previous slot if the current scheduled slot is beyond the response window
// go to previous slot if the current scheduled slot is beyond the response window
// and if the slot is not among the PDCCH monitored ones (38.213 10.1)
// and if the slot is not among the PDCCH monitored ones (38.213 10.1)
while
((
*
msg2_frame
>
frame_limit
)
||
while
(
*
msg2_frame
>
frame_limit
((
*
msg2_frame
==
frame_limit
)
&&
||
(
*
msg2_frame
==
frame_limit
&&
*
msg2_slot
>
slot_limit
)
(
*
msg2_slot
>
slot_limit
))
||
||
((
*
msg2_frame
*
nr_slots_per_frame
[
mu
]
+
*
msg2_slot
-
monitoring_offset
)
%
monitoring_slot_period
!=
0
))
{
((
*
msg2_frame
*
nr_slots_per_frame
[
mu
]
+*
msg2_slot
-
monitoring_offset
)
%
monitoring_slot_period
!=
0
))
{
if
(
!
tdd
||
((
*
msg2_slot
%
tdd_period_slot
)
>
0
))
{
if
(
!
tdd
||
((
*
msg2_slot
%
tdd_period_slot
)
>
0
))
{
if
(
*
msg2_slot
==
0
)
if
(
*
msg2_slot
==
0
)
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
52b05b8f
...
@@ -75,10 +75,9 @@ void calculate_preferred_dl_tda(module_id_t module_id, const NR_BWP_Downlink_t *
...
@@ -75,10 +75,9 @@ void calculate_preferred_dl_tda(module_id_t module_id, const NR_BWP_Downlink_t *
nr_mix_slots
=
tdd
->
nrofDownlinkSymbols
!=
0
||
tdd
->
nrofUplinkSymbols
!=
0
;
nr_mix_slots
=
tdd
->
nrofDownlinkSymbols
!=
0
||
tdd
->
nrofUplinkSymbols
!=
0
;
nr_slots_period
/=
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
);
nr_slots_period
/=
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
);
}
}
else
{
else
if
(
frame_type
==
TDD
)
// if TDD configuration is not present and the band is not FDD, it means it is a dynamic TDD configuration
AssertFatal
(
1
==
0
,
"Dynamic TDD not handled yet
\n
"
);
AssertFatal
(
nrmac
->
common_channels
->
frame_type
==
FDD
,
"Dynamic TDD not handled yet
\n
"
);
}
int
target_ss
;
int
target_ss
;
if
(
bwp
)
{
if
(
bwp
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
52b05b8f
...
@@ -1200,10 +1200,9 @@ int nr_acknack_scheduling(int mod_id,
...
@@ -1200,10 +1200,9 @@ int nr_acknack_scheduling(int mod_id,
first_ul_slot_tdd
=
tdd
->
nrofDownlinkSlots
+
nr_slots_period
*
(
slot
/
nr_slots_period
);
first_ul_slot_tdd
=
tdd
->
nrofDownlinkSlots
+
nr_slots_period
*
(
slot
/
nr_slots_period
);
first_ul_slot_period
=
tdd
->
nrofDownlinkSlots
;
first_ul_slot_period
=
tdd
->
nrofDownlinkSlots
;
}
}
else
{
else
if
(
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
frame_type
==
TDD
)
// if TDD configuration is not present and the band is not FDD, it means it is a dynamic TDD configuration
AssertFatal
(
1
==
0
,
"Dynamic TDD not handled yet
\n
"
);
AssertFatal
(
RC
.
nrmac
[
mod_id
]
->
common_channels
[
CC_id
].
frame_type
==
FDD
,
"Dynamic TDD not handled yet
\n
"
);
}
NR_sched_pucch_t
*
csi_pucch
;
NR_sched_pucch_t
*
csi_pucch
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
52b05b8f
...
@@ -74,10 +74,9 @@ void calculate_preferred_ul_tda(module_id_t module_id, const NR_BWP_Uplink_t *ub
...
@@ -74,10 +74,9 @@ void calculate_preferred_ul_tda(module_id_t module_id, const NR_BWP_Uplink_t *ub
nr_mix_slots
=
tdd
->
nrofDownlinkSymbols
!=
0
||
tdd
->
nrofUplinkSymbols
!=
0
;
nr_mix_slots
=
tdd
->
nrofDownlinkSymbols
!=
0
||
tdd
->
nrofUplinkSymbols
!=
0
;
nr_slots_period
/=
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
);
nr_slots_period
/=
get_nb_periods_per_frame
(
tdd
->
dl_UL_TransmissionPeriodicity
);
}
}
else
{
else
if
(
frame_type
==
TDD
)
// if TDD configuration is not present and the band is not FDD, it means it is a dynamic TDD configuration
AssertFatal
(
1
==
0
,
"Dynamic TDD not handled yet
\n
"
);
AssertFatal
(
nrmac
->
common_channels
->
frame_type
==
FDD
,
"Dynamic TDD not handled yet
\n
"
);
}
const
struct
NR_PUCCH_Config__resourceToAddModList
*
resList
=
ubwp
->
bwp_Dedicated
->
pucch_Config
->
choice
.
setup
->
resourceToAddModList
;
const
struct
NR_PUCCH_Config__resourceToAddModList
*
resList
=
ubwp
->
bwp_Dedicated
->
pucch_Config
->
choice
.
setup
->
resourceToAddModList
;
// for the moment, just block any symbol that might hold a PUCCH, regardless
// for the moment, just block any symbol that might hold a PUCCH, regardless
...
...
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