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
zzha zzha
OpenXG-RAN
Commits
7f4ffe29
Commit
7f4ffe29
authored
Feb 12, 2021
by
Mahesh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix whitespaces
parent
eb19e02c
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
25 additions
and
44 deletions
+25
-44
common/config/config_load_configmodule.c
common/config/config_load_configmodule.c
+0
-1
executables/nr-gnb.c
executables/nr-gnb.c
+4
-5
executables/nr-ru.c
executables/nr-ru.c
+2
-5
executables/nr-softmodem.c
executables/nr-softmodem.c
+0
-1
executables/softmodem-common.c
executables/softmodem-common.c
+1
-0
executables/softmodem-common.h
executables/softmodem-common.h
+2
-3
openair1/PHY/INIT/lte_init.c
openair1/PHY/INIT/lte_init.c
+1
-1
openair1/PHY/INIT/lte_parms.c
openair1/PHY/INIT/lte_parms.c
+0
-1
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+2
-0
openair1/SCHED_NR/fapi_nr_l1.c
openair1/SCHED_NR/fapi_nr_l1.c
+6
-8
openair1/SCHED_NR/phy_frame_config_nr.c
openair1/SCHED_NR/phy_frame_config_nr.c
+2
-10
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+0
-3
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+0
-1
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+1
-3
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+3
-0
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
+1
-2
No files found.
common/config/config_load_configmodule.c
View file @
7f4ffe29
...
...
@@ -212,7 +212,6 @@ configmodule_interface_t *load_configmodule(int argc,
if
(
(
strcmp
(
argv
[
i
]
+
1
,
"h"
)
==
0
)
||
(
strstr
(
argv
[
i
]
+
1
,
"help_"
)
!=
NULL
)
)
{
tmpflags
=
CONFIG_HELP
;
}
}
/* look for the OAI_CONFIGMODULE environment variable */
...
...
executables/nr-gnb.c
View file @
7f4ffe29
...
...
@@ -184,6 +184,7 @@ clock_gettime(CLOCK_MONOTONIC, ¤t);
// ****************************************
T
(
T_GNB_PHY_DL_TICK
,
T_INT
(
gNB
->
Mod_id
),
T_INT
(
frame_tx
),
T_INT
(
slot_tx
));
/* hack to remove UEs */
extern
int
rnti_to_remove
[
10
];
extern
volatile
int
rnti_to_remove_count
;
...
...
@@ -244,15 +245,16 @@ clock_gettime(CLOCK_MONOTONIC, ¤t);
}
*/
// Call the scheduler
pthread_mutex_lock
(
&
gNB
->
UL_INFO_mutex
);
gNB
->
UL_INFO
.
frame
=
frame_rx
;
gNB
->
UL_INFO
.
slot
=
slot_rx
;
gNB
->
UL_INFO
.
module_id
=
gNB
->
Mod_id
;
gNB
->
UL_INFO
.
CC_id
=
gNB
->
CC_id
;
gNB
->
if_inst
->
NR_UL_indication
(
&
gNB
->
UL_INFO
);
pthread_mutex_unlock
(
&
gNB
->
UL_INFO_mutex
);
// RX processing
int
tx_slot_type
=
nr_slot_select
(
cfg
,
frame_tx
,
slot_tx
);
int
rx_slot_type
=
nr_slot_select
(
cfg
,
frame_rx
,
slot_rx
);
...
...
@@ -401,12 +403,9 @@ static void *gNB_L1_thread( void *param ) {
while
(
!
oai_exit
)
{
struct
timespec
t
;
clock_gettime
(
CLOCK_MONOTONIC
,
&
t
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX0
,
0
);
if
(
wait_on_condition
(
&
L1_proc
->
mutex
,
&
L1_proc
->
cond
,
&
L1_proc
->
instance_cnt
,
thread_name
)
<
0
)
break
;
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_PROC_RXTX0
,
1
);
clock_gettime
(
CLOCK_MONOTONIC
,
&
t
);
int
frame_rx
=
L1_proc
->
frame_rx
;
int
slot_rx
=
L1_proc
->
slot_rx
;
...
...
executables/nr-ru.c
View file @
7f4ffe29
...
...
@@ -97,6 +97,7 @@ static int DEFBFW[] = {0x00007fff};
extern
volatile
int
oai_exit
;
extern
struct
timespec
timespec_sub
(
struct
timespec
lhs
,
struct
timespec
rhs
);
extern
struct
timespec
timespec_add
(
struct
timespec
lhs
,
struct
timespec
rhs
);
extern
void
nr_phy_free_RU
(
RU_t
*
);
...
...
@@ -711,7 +712,6 @@ void rx_rf(RU_t *ru,int *frame,int *slot) {
void
tx_rf
(
RU_t
*
ru
,
int
frame
,
int
slot
,
uint64_t
timestamp
)
{
RU_proc_t
*
proc
=
&
ru
->
proc
;
NR_DL_FRAME_PARMS
*
fp
=
ru
->
nr_frame_parms
;
nfapi_nr_config_request_scf_t
*
cfg
=
&
ru
->
config
;
...
...
@@ -1564,15 +1564,12 @@ void *ru_thread( void *param ) {
if
((
slot_start
.
tv_sec
>
curr_time
.
tv_sec
)
||
(
slot_start
.
tv_sec
==
curr_time
.
tv_sec
&&
slot_start
.
tv_nsec
>
curr_time
.
tv_nsec
)){
sleep_time
=
timespec_sub
(
slot_start
,
curr_time
);
usleep
(
sleep_time
.
tv_nsec
*
1e-3
);
}
else
{
//continue
}
// clock_gettime(CLOCK_MONOTONIC, &curr_time);
//printf("sfn:%d, slot:%d, start time %d.%d slot start %d.%d \n",frame,slot,curr_time.tv_sec,curr_time.tv_nsec,slot_start.tv_sec,slot_start.tv_nsec);
if
(
slot
==
(
fp
->
slots_per_frame
-
1
))
{
if
(
slot
==
(
fp
->
slots_per_frame
-
1
))
{
slot
=
0
;
frame
++
;
frame
&=
1023
;
...
...
executables/nr-softmodem.c
View file @
7f4ffe29
...
...
@@ -737,7 +737,6 @@ void init_pdcp(void) {
int
main
(
int
argc
,
char
**
argv
)
{
int
ru_id
,
CC_id
=
0
;
start_background_system
();
///static configuration for NR at the moment
...
...
executables/softmodem-common.c
View file @
7f4ffe29
...
...
@@ -45,6 +45,7 @@
static
softmodem_params_t
softmodem_params
;
char
*
parallel_config
=
NULL
;
char
*
worker_config
=
NULL
;
uint8_t
nfapi_mode
=
0
;
static
mapping
softmodem_funcs
[]
=
MAPPING_SOFTMODEM_FUNCTIONS
;
...
...
executables/softmodem-common.h
View file @
7f4ffe29
...
...
@@ -91,7 +91,8 @@ extern "C"
#define CONFIG_HLP_RFSIM "Run in rf simulator mode (also known as basic simulator)\n"
#define CONFIG_HLP_NOKRNMOD "(noS1 only): Use tun instead of namesh module \n"
#define CONFIG_HLP_DISABLNBIOT "disable nb-iot, even if defined in config\n"
#define CONFIG_HLP_NFAPI "Change the nFAPI mode for NR\n"
#define CONFIG_HLP_NFAPI "Change the nFAPI mode for NR\n"
/*-----------------------------------------------------------------------------------------------------------------------------------------------------*/
/* command line parameters common to eNodeB and UE */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
...
@@ -232,7 +233,6 @@ typedef struct {
uint32_t
send_dmrs_sync
;
int
use_256qam_table
;
uint8_t
nfapi
;
}
softmodem_params_t
;
extern
uint64_t
get_softmodem_optmask
(
void
);
...
...
@@ -245,7 +245,6 @@ extern void set_softmodem_sighandler(void);
extern
uint64_t
downlink_frequency
[
MAX_NUM_CCs
][
4
];
extern
int32_t
uplink_frequency_offset
[
MAX_NUM_CCs
][
4
];
extern
uint8_t
nfapi_mode
;
#ifdef __cplusplus
}
#endif
...
...
openair1/PHY/INIT/lte_init.c
View file @
7f4ffe29
...
...
@@ -81,6 +81,7 @@ l1_north_init_eNB () {
return
(
0
);
}
void
phy_config_request
(
PHY_Config_t
*
phy_config
)
{
uint8_t
Mod_id
=
phy_config
->
Mod_id
;
int
CC_id
=
phy_config
->
CC_id
;
...
...
@@ -572,7 +573,6 @@ void phy_free_lte_eNB(PHY_VARS_eNB *eNB) {
for
(
UE_id
=
0
;
UE_id
<
NUMBER_OF_UE_MAX
;
UE_id
++
)
eNB
->
UE_stats_ptr
[
UE_id
]
=
NULL
;
}
void
install_schedule_handlers
(
IF_Module_t
*
if_inst
)
{
if_inst
->
PHY_config_req
=
phy_config_request
;
if_inst
->
schedule_response
=
schedule_response
;
...
...
openair1/PHY/INIT/lte_parms.c
View file @
7f4ffe29
...
...
@@ -183,7 +183,6 @@ int init_frame_parms(LTE_DL_FRAME_PARMS *frame_parms,
}
void
dump_frame_parms
(
LTE_DL_FRAME_PARMS
*
frame_parms
)
{
LOG_I
(
PHY
,
"frame_parms->N_RB_DL=%d
\n
"
,
frame_parms
->
N_RB_DL
);
LOG_I
(
PHY
,
"frame_parms->N_RB_UL=%d
\n
"
,
frame_parms
->
N_RB_UL
);
...
...
openair1/SCHED/fapi_l1.c
View file @
7f4ffe29
...
...
@@ -101,6 +101,8 @@ void handle_nfapi_hi_dci0_mpdcch_dci_pdu(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc,
// copy dci configuration in to eNB structure
fill_mpdcch_dci0
(
eNB
,
proc
,
&
pdcch_vars
->
mdci_alloc
[
pdcch_vars
->
num_dci
],
&
hi_dci0_config_pdu
->
mpdcch_dci_pdu
);
}
void
handle_nfapi_hi_dci0_hi_pdu
(
PHY_VARS_eNB
*
eNB
,
int
frame
,
int
subframe
,
L1_rxtx_proc_t
*
proc
,
nfapi_hi_dci0_request_pdu_t
*
hi_dci0_config_pdu
)
{
LTE_eNB_PHICH
*
phich
=
&
eNB
->
phich_vars
[
subframe
&
1
];
...
...
openair1/SCHED_NR/fapi_nr_l1.c
View file @
7f4ffe29
...
...
@@ -143,9 +143,6 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
frame_t
frame
=
Sched_INFO
->
frame
;
sub_frame_t
slot
=
Sched_INFO
->
slot
;
//LOG_I(PHY,"NFAPI: Sched_INFO:SFN/SLOT:%04d/%d\n",frame,slot);
AssertFatal
(
RC
.
gNB
!=
NULL
,
"RC.gNB is null
\n
"
);
AssertFatal
(
RC
.
gNB
[
Mod_id
]
!=
NULL
,
"RC.gNB[%d] is null
\n
"
,
Mod_id
);
...
...
@@ -177,6 +174,7 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
switch
(
dl_tti_pdu
->
PDUType
)
{
case
NFAPI_NR_DL_TTI_SSB_PDU_TYPE
:
gNB
->
pbch_configured
=
1
;
if
(
NFAPI_MODE
!=
NFAPI_MODE_VNF
)
handle_nr_nfapi_ssb_pdu
(
gNB
,
frame
,
slot
,
dl_tti_pdu
);
...
...
@@ -209,10 +207,10 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
}
// if (UL_tti_req!=NULL) memcpy(&gNB->UL_tti_req,UL_tti_req,sizeof(nfapi_nr_ul_tti_request_t));
if
(
NFAPI_MODE
!=
NFAPI_MODE_VNF
)
for
(
int
i
=
0
;
i
<
number_ul_dci_pdu
;
i
++
)
{
handle_nfapi_nr_ul_dci_pdu
(
gNB
,
frame
,
slot
,
&
UL_dci_req
->
ul_dci_pdu_list
[
i
]);
}
if
(
NFAPI_MODE
!=
NFAPI_MODE_VNF
)
for
(
int
i
=
0
;
i
<
number_ul_dci_pdu
;
i
++
)
{
handle_nfapi_nr_ul_dci_pdu
(
gNB
,
frame
,
slot
,
&
UL_dci_req
->
ul_dci_pdu_list
[
i
]);
}
if
(
NFAPI_MODE
!=
NFAPI_MODE_VNF
)
for
(
int
i
=
0
;
i
<
number_ul_tti_pdu
;
i
++
)
{
...
...
@@ -242,7 +240,7 @@ if(NFAPI_MODE != NFAPI_MODE_VNF)
// if (NFAPI_MODE != NFAPI_MONOLITHIC && Sched_INFO->UL_dci_req->numPdus!=0)
// {
// oai_nfapi_ul_dci_req(Sched_INFO->UL_dci_req);
// }
//Only DL
in nFAPI mode
// }
//Uncomment for UL_TTI and UL_DCI messages in
in nFAPI mode
if
(
NFAPI_MODE
!=
NFAPI_MONOLITHIC
)
{
...
...
openair1/SCHED_NR/phy_frame_config_nr.c
View file @
7f4ffe29
...
...
@@ -116,10 +116,8 @@ int set_tdd_config_nr( nfapi_nr_config_request_scf_t *cfg,
while
(
slot_number
!=
nb_slots_to_set
)
{
if
(
nrofDownlinkSlots
!=
0
)
{
for
(
int
number_of_symbol
=
0
;
number_of_symbol
<
nrofDownlinkSlots
*
NR_NUMBER_OF_SYMBOLS_PER_SLOT
;
number_of_symbol
++
)
{
cfg
->
tdd_table
.
max_tdd_periodicity_list
[
slot_number
].
max_num_of_symbol_per_slot_list
[
number_of_symbol
%
NR_NUMBER_OF_SYMBOLS_PER_SLOT
].
slot_config
.
value
=
0
;
// was 0, made 10 to check
// cfg->tdd_table.max_tdd_periodicity_list[slot_number].max_num_of_symbol_per_slot_list[number_of_symbol%NR_NUMBER_OF_SYMBOLS_PER_SLOT].slot_config.tl.tag= NFAPI_NR_CONFIG_SLOT_CONFIG_TAG;
cfg
->
tdd_table
.
max_tdd_periodicity_list
[
slot_number
].
max_num_of_symbol_per_slot_list
[
number_of_symbol
%
NR_NUMBER_OF_SYMBOLS_PER_SLOT
].
slot_config
.
value
=
0
;
if
((
number_of_symbol
+
1
)
%
NR_NUMBER_OF_SYMBOLS_PER_SLOT
==
0
)
slot_number
++
;
}
...
...
@@ -150,7 +148,6 @@ int set_tdd_config_nr( nfapi_nr_config_request_scf_t *cfg,
}
}
}
//printf("Set tdd config nr tti: 26, symbol count: 0 value: %d \n", cfg->tdd_table.max_tdd_periodicity_list[26].max_num_of_symbol_per_slot_list[0].slot_config.value);
/*
while(slot_number != nb_slots_to_set) {
...
...
@@ -313,7 +310,6 @@ int set_tdd_configuration_dedicated_nr(NR_DL_FRAME_PARMS *frame_parms) {
int
nr_slot_select
(
nfapi_nr_config_request_scf_t
*
cfg
,
int
nr_frame
,
int
nr_tti
)
{
/* for FDD all slot can be considered as an uplink */
int
mu
=
cfg
->
ssb_config
.
scs_common
.
value
,
check_slot
=
0
;
if
(
cfg
->
cell_config
.
frame_duplex_type
.
value
==
FDD
)
{
...
...
@@ -321,9 +317,7 @@ int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti)
}
if
(
nr_frame
%
2
==
0
)
{
for
(
int
symbol_count
=
0
;
symbol_count
<
NR_NUMBER_OF_SYMBOLS_PER_SLOT
;
symbol_count
++
)
{
for
(
int
symbol_count
=
0
;
symbol_count
<
NR_NUMBER_OF_SYMBOLS_PER_SLOT
;
symbol_count
++
)
{
if
(
cfg
->
tdd_table
.
max_tdd_periodicity_list
[
nr_tti
].
max_num_of_symbol_per_slot_list
[
symbol_count
].
slot_config
.
value
==
1
)
{
check_slot
++
;
}
...
...
@@ -347,7 +341,6 @@ int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti)
return
(
NR_MIXED_SLOT
);
}
}
else
{
for
(
int
symbol_count
=
0
;
symbol_count
<
NR_NUMBER_OF_SYMBOLS_PER_SLOT
;
symbol_count
++
)
{
if
(
cfg
->
tdd_table
.
max_tdd_periodicity_list
[((
1
<<
mu
)
*
NR_NUMBER_OF_SUBFRAMES_PER_FRAME
)
+
nr_tti
].
max_num_of_symbol_per_slot_list
[
symbol_count
].
slot_config
.
value
==
1
)
{
check_slot
++
;
...
...
@@ -372,7 +365,6 @@ int nr_slot_select(nfapi_nr_config_request_scf_t *cfg, int nr_frame, int nr_tti)
return
(
NR_MIXED_SLOT
);
}
}
}
/*******************************************************************
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
7f4ffe29
...
...
@@ -138,9 +138,6 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
void
phy_procedures_gNB_TX
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
,
int
do_meas
)
{
// struct timespec time;
// clock_gettime(CLOCK_MONOTONIC, &time);
// LOG_I(PHY,"\nphy_procedures_gNB_TX frame tx %d slot tx %d time %d.%d\n",frame,slot,time.tv_sec,time.tv_nsec);
int
aa
;
NR_DL_FRAME_PARMS
*
fp
=&
gNB
->
frame_parms
;
nfapi_nr_config_request_scf_t
*
cfg
=
&
gNB
->
gNB_config
;
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
7f4ffe29
...
...
@@ -254,7 +254,6 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response){
memset
(
ul_config
,
0
,
sizeof
(
fapi_nr_ul_config_request_t
));
}
}
return
0
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
7f4ffe29
...
...
@@ -283,7 +283,6 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
cfg
->
num_tlv
++
;
cfg
->
num_tlv
++
;
// TDD Table Configuration
//cfg->tdd_table.tdd_period.value = scc->tdd_UL_DL_ConfigurationCommon->pattern1.dl_UL_TransmissionPeriodicity;
cfg
->
tdd_table
.
tdd_period
.
tl
.
tag
=
NFAPI_NR_CONFIG_TDD_PERIOD_TAG
;
...
...
@@ -307,8 +306,7 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
if
(
return_tdd
!=
0
)
LOG_E
(
MAC
,
"TDD configuration can not be done
\n
"
);
else
LOG_I
(
MAC
,
"TDD has been properly configurated
\n
"
);
LOG_I
(
MAC
,
"TDD has been properly configurated
\n
"
);
}
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
7f4ffe29
...
...
@@ -381,6 +381,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
UE_info
->
num_pdcch_cand
[
UE_id
][
i
]
=
0
;
for
(
int
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
//mbsfn_status[CC_id] = 0;
// clear vrb_maps
memset
(
cc
[
CC_id
].
vrb_map
,
0
,
sizeof
(
uint16_t
)
*
MAX_BWP_SIZE
);
// clear last scheduled slot's content (only)!
...
...
@@ -392,6 +393,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
clear_nr_nfapi_information
(
RC
.
nrmac
[
module_idP
],
CC_id
,
frame
,
slot
);
}
if
((
slot
==
0
)
&&
(
frame
&
127
)
==
0
)
dump_mac_stats
(
RC
.
nrmac
[
module_idP
]);
...
...
@@ -429,6 +431,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
if
(
get_softmodem_params
()
->
phy_test
==
0
)
{
nr_schedule_RA
(
module_idP
,
frame
,
slot
);
}
// This schedules the DCI for Uplink and subsequently PUSCH
{
nr_schedule_ulsch
(
module_idP
,
frame
,
slot
,
num_slots_per_tdd
,
nr_ulmix_slots
,
ulsch_in_slot_bitmap
);
...
...
openair2/NR_PHY_INTERFACE/NR_IF_Module.c
View file @
7f4ffe29
...
...
@@ -242,8 +242,7 @@ void NR_UL_indication(NR_UL_IND_t *UL_info) {
LOG_D
(
PHY
,
"NR_Schedule_response: SFN_SF:%d%d dl_pdus:%d
\n
"
,
sched_info
->
frame
,
sched_info
->
slot
,
sched_info
->
DL_req
->
dl_tti_request_body
.
nPDUs
);
sched_info
->
DL_req
->
dl_tti_request_body
.
nPDUs
);
}
}
}
...
...
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