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
wangjie
OpenXG-RAN
Commits
1905611d
Commit
1905611d
authored
5 years ago
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
making ulsim run again, nr_dlsim should run again in CI
parent
8f14c0fe
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
136 additions
and
45 deletions
+136
-45
ci-scripts/rrc-files/rbconfig.raw
ci-scripts/rrc-files/rbconfig.raw
+0
-0
ci-scripts/rrc-files/reconfig.raw
ci-scripts/rrc-files/reconfig.raw
+0
-0
ci-scripts/runTestOnVM.sh
ci-scripts/runTestOnVM.sh
+1
-1
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+1
-2
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+17
-13
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
+1
-1
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+2
-2
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+8
-7
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+102
-14
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
+1
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+1
-1
No files found.
ci-scripts/r
c
c-files/rbconfig.raw
→
ci-scripts/r
r
c-files/rbconfig.raw
View file @
1905611d
File moved
This diff is collapsed.
Click to expand it.
ci-scripts/r
c
c-files/reconfig.raw
→
ci-scripts/r
r
c-files/reconfig.raw
View file @
1905611d
File moved
This diff is collapsed.
Click to expand it.
ci-scripts/runTestOnVM.sh
View file @
1905611d
...
...
@@ -1260,7 +1260,7 @@ function start_rf_sim_nr_ue {
echo
"cd /home/ubuntu/tmp/cmake_targets/ran_build/build/"
>>
$1
if
[
$LOC_S1_CONFIGURATION
-eq
0
]
then
echo
"echo
\"
RFSIMULATOR=
${
LOC_GNB_VM_IP_ADDR
}
./nr-uesoftmodem --numerology 1 -C
${
LOC_FREQUENCY
}
000000 -r
$LOC_PRB
--nokrnmod 1 --rfsim --phy-test --rcc_config_path /home/ubuntu/tmp/ci-scripts/r
c
c-files --log_config.global_log_options level,nocolor --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
echo
"echo
\"
RFSIMULATOR=
${
LOC_GNB_VM_IP_ADDR
}
./nr-uesoftmodem --numerology 1 -C
${
LOC_FREQUENCY
}
000000 -r
$LOC_PRB
--nokrnmod 1 --rfsim --phy-test --rcc_config_path /home/ubuntu/tmp/ci-scripts/r
r
c-files --log_config.global_log_options level,nocolor --noS1
\"
> ./my-nr-softmodem-run.sh "
>>
$1
fi
echo
"chmod 775 ./my-nr-softmodem-run.sh"
>>
$1
echo
"cat ./my-nr-softmodem-run.sh"
>>
$1
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/CMakeLists.txt
View file @
1905611d
...
...
@@ -127,7 +127,7 @@ endfunction()
#set(CMAKE_BUILD_TYPE "Debug")
if (CMAKE_BUILD_TYPE STREQUAL "")
set
(
CMAKE_BUILD_TYPE
"Rel
ease
"
)
set(CMAKE_BUILD_TYPE "Rel
WithDebInfo
")
endif()
message("CMAKE_BUILD_TYPE is ${CMAKE_BUILD_TYPE}")
add_list_string_option(CMAKE_BUILD_TYPE "RelWithDebInfo" "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." Debug Release RelWithDebInfo MinSizeRel)
...
...
@@ -2766,7 +2766,6 @@ target_link_libraries(nr_pucchsim
-Wl,--start-group UTIL SIMU PHY_COMMON PHY_NR_COMMON PHY_NR PHY_NR_UE SCHED_NR_LIB CONFIG_LIB MAC_NR_COMMON -Wl,--end-group
m pthread ${ATLAS_LIBRARIES} ${T_LIB} ${ITTI_LIB} dl
)
#PUCCH ---> Prashanth
add_executable(nr_dlsim
${OPENAIR1_DIR}/SIMULATION/NR_PHY/dlsim.c
...
...
This diff is collapsed.
Click to expand it.
cmake_targets/autotests/test_case_list.xml
View file @
1905611d
...
...
@@ -1089,25 +1089,29 @@
(Test8: 217 PRB 100 PDSCH-PRBs),
(Test9: 217 PRB 80 PDSCH-Offset),
(Test10: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset),
(Test11: 106 PRBs 50 PDSCH-PRBs MCS Index 28
</desc>
(Test11: 106 PRBs 50 PDSCH-PRBs MCS Index 28)
(Test12: 106 PRBs 50 PDSCH-PRBs MCS Index 16)
</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai
</compile_prog>
<compile_prog_args>
--phy_simulators -c
</compile_prog_args>
<pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash
</pre_exec>
<pre_exec_args></pre_exec_args>
<main_exec>
$OPENAIR_DIR/targets/bin/nr_dlsim.Rel15
</main_exec>
<main_exec_args>
-n100 -R106 -b106
-n100 -R217 -b217
-n100 -R273 -b273
-n100 -R106 -o12
-n100 -R217 -o48
-n100 -R106 -a25
-n100 -R106 -a51
-n100 -R217 -b100
-n100 -R217 -a80
-n100 -R217 -a110 -b100
-n100 -e28
</main_exec_args>
<tags>
nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11
</tags>
<main_exec_args>
-n100 -R106 -b106 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R217 -b217 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R273 -b273 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R106 -o12 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R217 -o48 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R106 -a25 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R106 -a51 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R217 -b100 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R217 -a80 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -R217 -a110 -s5 -b100 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -e28 -s20 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
-n100 -e16 -s10 -s5 -f $OPENAIR_DIR/ci-scripts/rrc-files/reconfig.raw
</main_exec_args>
<tags>
nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12
</tags>
<search_expr_true>
PDSCH test OK
</search_expr_true>
<search_expr_false>
segmentation fault|assertion|exiting|fatal
</search_expr_false>
<nruns>
3
</nruns>
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_decoding.c
View file @
1905611d
...
...
@@ -546,7 +546,7 @@ uint32_t nr_dlsch_decoding(PHY_VARS_NR_UE *phy_vars_ue,
//LOG_E(PHY,"AbsSubframe %d.%d Start LDPC segment %d/%d A %d ",frame%1024,nr_tti_rx,r,harq_process->C-1, A);
printf
(
"harq process dr iteration %d
\n
"
,
p_decParams
->
numMaxIter
);
//
printf("harq process dr iteration %d\n", p_decParams->numMaxIter);
memset
(
pv
,
0
,
2
*
harq_process
->
Z
*
sizeof
(
int16_t
));
//memset(pl,0,2*p_decParams->Z*sizeof(int8_t));
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
1905611d
...
...
@@ -408,8 +408,8 @@ void phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
for
(
uint8_t
symbol
=
symbol_start
;
symbol
<
symbol_end
;
symbol
++
)
{
nr_rx_pusch
(
gNB
,
ULSCH_id
,
frame_rx
,
slot_rx
,
symbol
,
harq_pid
);
}
//
LOG_M("rxdataF_comp.m","rxF_comp",gNB->pusch_vars[0]->rxdataF_comp[0],6900,1,1);
//
LOG_M("rxdataF_ext.m","rxF_ext",gNB->pusch_vars[0]->rxdataF_ext[0],6900,1,1);
LOG_M
(
"rxdataF_comp.m"
,
"rxF_comp"
,
gNB
->
pusch_vars
[
0
]
->
rxdataF_comp
[
0
],
6900
,
1
,
1
);
LOG_M
(
"rxdataF_ext.m"
,
"rxF_ext"
,
gNB
->
pusch_vars
[
0
]
->
rxdataF_ext
[
0
],
6900
,
1
,
1
);
nr_ulsch_procedures
(
gNB
,
frame_rx
,
slot_rx
,
ULSCH_id
,
harq_pid
);
nr_fill_rx_indication
(
gNB
,
frame_rx
,
slot_rx
,
ULSCH_id
,
harq_pid
);
// indicate SDU to MAC
nr_fill_crc_indication
(
gNB
,
frame_rx
,
slot_rx
,
ULSCH_id
,
0
);
...
...
This diff is collapsed.
Click to expand it.
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
1905611d
...
...
@@ -229,17 +229,18 @@ int main(int argc, char **argv)
int
mcsIndex_set
=
0
,
rbStart_set
=
0
,
rbSize_set
=
0
;
int
print_perf
=
0
;
FILE
*
scg_fd
=
NULL
;
while
((
c
=
getopt
(
argc
,
argv
,
"f:hA:pf:g:i:j:n:s:S:t:x:y:z:M:N:F:GR:dPIL:Ea:b:e:m:"
))
!=
-
1
)
{
switch
(
c
)
{
/*case 'f':
write_output_file=1;
output_fd = fopen(optarg,"w");
case
'f'
:
scg_fd
=
fopen
(
optarg
,
"r"
);
if (
output
_fd==NULL) {
if
(
scg
_fd
==
NULL
)
{
printf
(
"Error opening %s
\n
"
,
optarg
);
exit
(
-
1
);
}
break;
*/
break
;
/*case 'd':
frame_type = 1;
...
...
@@ -429,7 +430,7 @@ int main(int argc, char **argv)
printf
(
"-O oversampling factor (1,2,4,8,16)
\n
"
);
printf
(
"-A Interpolation_filname Run with Abstraction to generate Scatter plot using interpolation polynomial in file
\n
"
);
//printf("-C Generate Calibration information for Abstraction (effective SNR adjustment to remove Pe bias w.r.t. AWGN)\n");
//printf("-f Output filename (.txt format) for Pe/SNR results
\n");
printf
(
"-f raw file containing RRC configuration (generated by gNB)
\n
"
);
printf
(
"-F Input filename (.txt format) for RX conformance testing
\n
"
);
printf
(
"-E used CSS scheduler
\n
"
);
printf
(
"-o CORESET offset
\n
"
);
...
...
@@ -470,8 +471,8 @@ int main(int argc, char **argv)
gNB_mac
=
RC
.
nrmac
[
0
];
gNB_RRC_INST
rrc
;
memset
((
void
*
)
&
rrc
,
0
,
sizeof
(
rrc
));
// read in SCGroupConfig
FILE
*
scg_fd
=
fopen
(
"reconfig.raw"
,
"r"
);
AssertFatal
(
scg_fd
!=
NULL
,
"no reconfig.raw file
\n
"
);
char
buffer
[
1024
];
int
msg_len
=
fread
(
buffer
,
1
,
1024
,
scg_fd
);
...
...
This diff is collapsed.
Click to expand it.
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
1905611d
...
...
@@ -52,7 +52,6 @@
#include "openair1/SIMULATION/TOOLS/sim.h"
#include "openair1/SIMULATION/RF/rf.h"
#include "openair1/SIMULATION/NR_PHY/nr_unitary_defs.h"
#include "openair1/SIMULATION/NR_PHY/nr_dummy_functions.c"
#include "openair2/LAYER2/NR_MAC_UE/mac_proto.h"
#include "openair2/LAYER2/NR_MAC_gNB/mac_proto.h"
...
...
@@ -63,6 +62,7 @@ PHY_VARS_NR_UE *UE;
RAN_CONTEXT_t
RC
;
int32_t
uplink_frequency_offset
[
MAX_NUM_CCs
][
4
];
int
sf_ahead
=
4
,
phy_test
=
0
;
double
cpuf
;
uint8_t
nfapi_mode
=
0
;
uint16_t
NB_UE_INST
=
1
;
...
...
@@ -116,7 +116,10 @@ int generate_dlsch_header(unsigned char *mac_header,
uint64_t
get_softmodem_optmask
(
void
)
{
return
0
;}
int
rlc_module_init
(
int
enb
)
{
return
(
0
);}
void
pdcp_layer_init
(
void
)
{}
void
pdcp_run
(
const
protocol_ctxt_t
*
const
ctxt_pP
)
{
return
;}
void
nr_ip_over_LTE_DRB_preconfiguration
(
void
){}
int
rrc_init_nr_global_param
(
void
){
return
(
0
);}
// needed for some functions
uint16_t
n_rnti
=
0x1234
;
...
...
@@ -166,6 +169,7 @@ int main(int argc, char **argv)
UE_nr_rxtx_proc_t
UE_proc
;
FILE
*
scg_fd
=
NULL
;
if
(
load_configmodule
(
argc
,
argv
,
CONFIG_ENABLECMDLINEONLY
)
==
0
)
{
...
...
@@ -175,7 +179,7 @@ int main(int argc, char **argv)
//logInit();
randominit
(
0
);
while
((
c
=
getopt
(
argc
,
argv
,
"d:f:g:h:i:j:l:m:n:p:r:s:y:z:F:M:N:P:R:S:L:"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"d:f:g:h:i:j:l:m:n:p:r:s:y:z:F:
G:
M:N:P:R:S:L:"
))
!=
-
1
)
{
switch
(
c
)
{
/*case 'd':
...
...
@@ -190,16 +194,15 @@ int main(int argc, char **argv)
number_of_frames
=
atoi
(
optarg
);
break
;
/*case 'f':
write_output_file = 1;
output_fd = fopen(optarg, "w");
case
'G'
:
scg_fd
=
fopen
(
optarg
,
"r"
);
if (
output
_fd == NULL) {
if
(
scg
_fd
==
NULL
)
{
printf
(
"Error opening %s
\n
"
,
optarg
);
exit
(
-
1
);
}
break;
*/
break
;
case
'g'
:
switch
((
char
)
*
optarg
)
{
...
...
@@ -356,10 +359,10 @@ int main(int argc, char **argv)
//printf("-x Transmission mode (1,2,6 for the moment)\n");
printf
(
"-y Number of TX antennas used in eNB
\n
"
);
printf
(
"-z Number of RX antennas used in UE
\n
"
);
printf
(
"-A Interpolation_filname Run with Abstraction to generate Scatter plot using interpolation polynomial in file
\n
"
);
//printf("-C Generate Calibration information for Abstraction (effective SNR adjustment to remove Pe bias w.r.t. AWGN)\n");
printf
(
"-F Input filename (.txt format) for RX conformance testing
\n
"
);
printf
(
"-G raw file containing RRC configuration (generated by gNB)
\n
"
);
printf
(
"-M Multiple SSB positions in burst
\n
"
);
printf
(
"-N Nid_cell
\n
"
);
printf
(
"-O oversampling factor (1,2,4,8,16)
\n
"
);
...
...
@@ -403,12 +406,74 @@ int main(int argc, char **argv)
frame_parms
->
N_RB_UL
=
N_RB_UL
;
frame_parms
->
Ncp
=
extended_prefix_flag
?
EXTENDED
:
NORMAL
;
crcTableInit
();
RC
.
nb_nr_macrlc_inst
=
1
;
RC
.
nb_nr_mac_CC
=
(
int
*
)
malloc
(
RC
.
nb_nr_macrlc_inst
*
sizeof
(
int
));
for
(
i
=
0
;
i
<
RC
.
nb_nr_macrlc_inst
;
i
++
)
RC
.
nb_nr_mac_CC
[
i
]
=
1
;
mac_top_init_gNB
();
gNB_MAC_INST
*
gNB_mac
=
RC
.
nrmac
[
0
];
gNB_RRC_INST
rrc
;
memset
((
void
*
)
&
rrc
,
0
,
sizeof
(
rrc
));
// read in SCGroupConfig
AssertFatal
(
scg_fd
!=
NULL
,
"no reconfig.raw file
\n
"
);
char
buffer
[
1024
];
int
msg_len
=
fread
(
buffer
,
1
,
1024
,
scg_fd
);
NR_RRCReconfiguration_t
*
NR_RRCReconfiguration
;
printf
(
"Decoding NR_RRCReconfiguration (%d bytes)
\n
"
,
msg_len
);
asn_dec_rval_t
dec_rval
=
uper_decode_complete
(
NULL
,
&
asn_DEF_NR_RRCReconfiguration
,
(
void
**
)
&
NR_RRCReconfiguration
,
(
uint8_t
*
)
buffer
,
msg_len
);
if
((
dec_rval
.
code
!=
RC_OK
)
&&
(
dec_rval
.
consumed
==
0
))
{
AssertFatal
(
1
==
0
,
"NR_RRCReConfiguration decode error
\n
"
);
// free the memory
SEQUENCE_free
(
&
asn_DEF_NR_RRCReconfiguration
,
NR_RRCReconfiguration
,
1
);
exit
(
-
1
);
}
fclose
(
scg_fd
);
AssertFatal
(
NR_RRCReconfiguration
->
criticalExtensions
.
present
==
NR_RRCReconfiguration__criticalExtensions_PR_rrcReconfiguration
,
"wrong NR_RRCReconfiguration->criticalExstions.present type
\n
"
);
NR_RRCReconfiguration_IEs_t
*
reconfig_ies
=
NR_RRCReconfiguration
->
criticalExtensions
.
choice
.
rrcReconfiguration
;
NR_CellGroupConfig_t
*
secondaryCellGroup
;
dec_rval
=
uper_decode_complete
(
NULL
,
&
asn_DEF_NR_CellGroupConfig
,
(
void
**
)
&
secondaryCellGroup
,
(
uint8_t
*
)
reconfig_ies
->
secondaryCellGroup
->
buf
,
reconfig_ies
->
secondaryCellGroup
->
size
);
if
((
dec_rval
.
code
!=
RC_OK
)
&&
(
dec_rval
.
consumed
==
0
))
{
AssertFatal
(
1
==
0
,
"NR_CellGroupConfig decode error
\n
"
);
// free the memory
SEQUENCE_free
(
&
asn_DEF_NR_CellGroupConfig
,
secondaryCellGroup
,
1
);
exit
(
-
1
);
}
NR_ServingCellConfigCommon_t
*
scc
=
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
spCellConfigCommon
;
xer_fprint
(
stdout
,
&
asn_DEF_NR_CellGroupConfig
,
(
const
void
*
)
secondaryCellGroup
);
rrc
.
carrier
.
servingcellconfigcommon
=
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
spCellConfigCommon
;
printf
(
"%p,%p
\n
"
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
spCellConfigCommon
,
rrc
.
carrier
.
servingcellconfigcommon
);
nr_phy_config_request_sim
(
gNB
,
N_RB_DL
,
N_RB_UL
,
mu
,
Nid_cell
,
SSB_positions
);
AssertFatal
((
gNB
->
if_inst
=
NR_IF_Module_init
(
0
))
!=
NULL
,
"Cannot register interface"
);
gNB
->
if_inst
->
NR_PHY_config_req
=
nr_phy_config_request
;
// common configuration
rrc_mac_config_req_gNB
(
0
,
0
,
1
,
scc
,
0
,
0
,
NULL
);
// UE dedicated configuration
rrc_mac_config_req_gNB
(
0
,
0
,
1
,
NULL
,
1
,
secondaryCellGroup
->
spCellConfig
->
reconfigurationWithSync
->
newUE_Identity
,
secondaryCellGroup
);
phy_init_nr_gNB
(
gNB
,
0
,
0
);
N_RB_DL
=
gNB
->
frame_parms
.
N_RB_DL
;
phy_init_nr_gNB
(
gNB
,
0
,
0
);
//init_eNB_afterRU();
//crcTableInit();
//nr_phy_config_request_sim(gNB, N_RB_DL, N_RB_UL, mu, Nid_cell, SSB_positions);
frame_length_complex_samples
=
frame_parms
->
samples_per_subframe
;
frame_length_complex_samples_no_prefix
=
frame_parms
->
samples_per_subframe_wCP
;
...
...
@@ -428,7 +493,9 @@ int main(int argc, char **argv)
}
//nr_init_frame_parms_ue(&UE->frame_parms);
//init_nr_ue_transport(UE, 0);
init_nr_ue_transport
(
UE
,
0
);
/*
for (sf = 0; sf < 2; sf++) {
for (i = 0; i < 2; i++) {
...
...
@@ -441,6 +508,27 @@ int main(int argc, char **argv)
}
}
*/
nr_l2_init_ue
(
NULL
);
NR_UE_MAC_INST_t
*
UE_mac
=
get_mac_inst
(
0
);
UE
->
if_inst
=
nr_ue_if_module_init
(
0
);
UE
->
if_inst
->
scheduled_response
=
nr_ue_scheduled_response
;
UE
->
if_inst
->
phy_config_request
=
nr_ue_phy_config_request
;
UE
->
if_inst
->
dl_indication
=
nr_ue_dl_indication
;
UE
->
if_inst
->
ul_indication
=
nr_ue_ul_indication
;
UE_mac
->
if_module
=
nr_ue_if_module_init
(
0
);
//Configure UE
rrc
.
carrier
.
MIB
=
(
uint8_t
*
)
malloc
(
4
);
rrc
.
carrier
.
sizeof_MIB
=
do_MIB_NR
(
&
rrc
,
0
);
nr_rrc_mac_config_req_ue
(
0
,
0
,
0
,
rrc
.
carrier
.
mib
.
message
.
choice
.
mib
,
secondaryCellGroup
->
spCellConfig
);
nr_ue_phy_config_request
(
&
UE_mac
->
phy_config
);
unsigned
char
harq_pid
=
0
;
...
...
@@ -681,7 +769,7 @@ int main(int argc, char **argv)
break
;
}
// frame loop
if
(
is_frame_in_error
==
0
)
if
(
is_frame_in_error
==
1
)
break
;
}
// SNR loop
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
View file @
1905611d
...
...
@@ -57,7 +57,7 @@ void fill_dci_search_candidates(NR_SearchSpace_t *ss,fapi_nr_dl_config_dci_dl_pd
void
ue_dci_configuration
(
NR_UE_MAC_INST_t
*
mac
,
fapi_nr_dl_config_request_t
*
dl_config
,
int
frame
,
int
slot
)
{
// check if DL slot
if
(
is_nr_DL_slot
(
mac
->
scc
->
tdd_UL_DL_ConfigurationCommon
,
slot
)
==
1
)
{
if
(
is_nr_DL_slot
(
mac
->
scc
,
slot
)
==
1
)
{
// get BWP 1, Coreset 0, SearchSpace 0
if
(
mac
->
DLbwp
[
0
]
==
NULL
)
{
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_phytest.c
View file @
1905611d
...
...
@@ -505,7 +505,6 @@ void nr_schedule_uss_dlsch_phytest(module_id_t module_idP,
nfapi_nr_pdu_t
*
tx_req
=
&
gNB_mac
->
TX_req
[
CC_id
].
pdu_list
[
gNB_mac
->
TX_req
[
CC_id
].
Number_of_PDUs
];
mac_rlc_status_resp_t
rlc_status
;
nfapi_nr_config_request_t
*
cfg
=
&
gNB_mac
->
config
[
0
];
NR_UE_list_t
*
UE_list
=
&
gNB_mac
->
UE_list
;
...
...
@@ -835,4 +834,4 @@ void nr_schedule_uss_ulsch_phytest(int Mod_idP,
pdcch_pdu_rel15
->
PayloadSizeBits
[
0
]
=
nr_dci_size
(
dci_formats
[
0
],
rnti_types
[
0
],
pdcch_pdu_rel15
->
BWPSize
);
fill_dci_pdu_rel15
(
pdcch_pdu_rel15
,
&
dci_pdu_rel15
[
0
],
dci_formats
,
rnti_types
);
}
\ No newline at end of file
}
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
1905611d
...
...
@@ -69,4 +69,4 @@ void nr_rx_sdu(const module_id_t gnb_mod_idP,
if
(
sduP
!=
NULL
)
UE_scheduling_control
->
ta_update
=
timing_advance
;
}
}
\ No newline at end of file
}
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
1905611d
...
...
@@ -112,7 +112,7 @@ typedef struct {
DLSCH_PDU
DLSCH_pdu
[
4
][
MAX_MOBILES_PER_GNB
];
/// scheduling control info
NR_
UE_sched_ctrl_t
UE_sched_ctrl
[
MAX_MOBILES_PER_GNB
];
UE_sched_ctrl_t
UE_sched_ctrl
[
MAX_MOBILES_PER_GNB
];
int
next
[
MAX_MOBILES_PER_GNB
];
int
head
;
int
next_ul
[
MAX_MOBILES_PER_GNB
];
...
...
This diff is collapsed.
Click to expand it.
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