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
常顺宇
OpenXG-RAN
Commits
51b23b40
Commit
51b23b40
authored
Feb 08, 2017
by
laurent
Browse files
Options
Browse Files
Download
Plain Diff
merge latest develop, enhance real time, set back BCH tracing in UE as in develop branch
parents
094ac2f3
e2ae88de
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
285 additions
and
214 deletions
+285
-214
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+7
-8
cmake_targets/build_oai
cmake_targets/build_oai
+5
-0
common/utils/T/T_messages.txt
common/utils/T/T_messages.txt
+132
-88
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
+4
-0
openair1/PHY/LTE_TRANSPORT/proto.h
openair1/PHY/LTE_TRANSPORT/proto.h
+2
-1
openair1/PHY/LTE_TRANSPORT/sss.c
openair1/PHY/LTE_TRANSPORT/sss.c
+44
-21
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+1
-0
openair1/PHY/defs.h
openair1/PHY/defs.h
+1
-0
openair1/SCHED/phy_procedures_lte_common.c
openair1/SCHED/phy_procedures_lte_common.c
+3
-0
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+1
-0
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+19
-20
openair2/RRC/LITE/rrc_UE.c
openair2/RRC/LITE/rrc_UE.c
+2
-2
openair2/UTIL/LOG/log.h
openair2/UTIL/LOG/log.h
+2
-0
openair3/NAS/COMMON/EMM/MSG/AttachAccept.c
openair3/NAS/COMMON/EMM/MSG/AttachAccept.c
+3
-1
openair3/NAS/UE/UEprocess.c
openair3/NAS/UE/UEprocess.c
+1
-0
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+56
-73
targets/SIMU/USER/oaisim_functions.c
targets/SIMU/USER/oaisim_functions.c
+2
-0
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
51b23b40
...
...
@@ -62,8 +62,7 @@
<compile_prog_args>
--oaisim -r Rel10 --noS1 -c
</compile_prog_args>
<compile_prog_out>
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/rb_tool
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/oai_nw_drv/oai_nw_drv.ko
</compile_prog_out>
$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko
</compile_prog_out>
<pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash
</pre_exec>
<pre_exec_args></pre_exec_args>
<main_exec></main_exec>
...
...
@@ -10486,7 +10485,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
...
...
@@ -10586,7 +10585,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
...
...
@@ -10686,7 +10685,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
...
...
@@ -10787,7 +10786,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
...
...
@@ -10887,7 +10886,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
...
...
@@ -10989,7 +10988,7 @@ c
<UE_compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x
</UE_compile_prog>
<UE_branch>
develop1B
</UE_branch>
<UE_compile_prog_args></UE_compile_prog_args>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
; sudo rmmod oai_nw_drv
</UE_pre_exec>
<UE_pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip
</UE_pre_exec>
<UE_pre_exec_args></UE_pre_exec_args>
<UE_main_exec>
sleep 50; cd $OPENAIR_DIR/cmake_targets/lte_build_oai/build ; sudo -E $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125
</UE_main_exec>
<UE_main_exec_args></UE_main_exec_args>
...
...
cmake_targets/build_oai
View file @
51b23b40
...
...
@@ -465,6 +465,11 @@ function main() {
echo
"set (CPU_AFFINITY
\"
${
CPU_AFFINITY_FLAG_USER
}
\"
)"
>>
$cmake_file
echo
"set ( T_TRACER
$T_TRACER
)"
>>
$cmake_file
echo
"set (UE_AUTOTEST_TRACE
$UE_AUTOTEST_TRACE
)"
>>
$cmake_file
if
[
"
$UE
"
=
1
-a
"
$NOS1
"
=
"0"
]
;
then
echo_info
"Compiling UE S1 build : enabling Linux and NETLINK"
echo
"set (LINUX True )"
>>
$cmake_file
echo
"set (PDCP_USE_NETLINK True )"
>>
$cmake_file
fi
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
cd
$DIR
/
$lte_build_dir
/build
cmake ..
...
...
common/utils/T/T_messages.txt
View file @
51b23b40
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
View file @
51b23b40
...
...
@@ -40,6 +40,8 @@
#include "SCHED/defs.h"
#include "defs.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#include "UTIL/LOG/log.h"
#include <syscall.h>
//#define DEBUG_DLSCH_CODING
//#define DEBUG_DLSCH_FREE 1
...
...
@@ -347,6 +349,8 @@ int dlsch_encoding_2threads0(te_params *tep) {
extern
int
oai_exit
;
void
*
te_thread
(
void
*
param
)
{
pthread_setname_np
(
pthread_self
(),
"te processing"
);
LOG_I
(
PHY
,
"thread te created id=%ld"
,
syscall
(
__NR_gettid
));
eNB_proc_t
*
proc
=
&
((
te_params
*
)
param
)
->
eNB
->
proc
;
while
(
!
oai_exit
)
{
...
...
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
51b23b40
...
...
@@ -1207,7 +1207,8 @@ int32_t rx_pdcch(LTE_UE_COMMON *lte_ue_common_vars,
*/
int
pss_sss_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int32_t
pss_ext
[
4
][
72
],
int32_t
sss_ext
[
4
][
72
]);
int32_t
sss_ext
[
4
][
72
],
uint8_t
subframe
);
/*! \brief Extract only PSS resource elements
@param phy_vars_ue Pointer to UE variables
...
...
openair1/PHY/LTE_TRANSPORT/sss.c
View file @
51b23b40
...
...
@@ -149,7 +149,8 @@ int pss_ch_est(PHY_VARS_UE *ue,
int
_do_pss_sss_extract
(
PHY_VARS_UE
*
ue
,
int32_t
pss_ext
[
4
][
72
],
int32_t
sss_ext
[
4
][
72
],
uint8_t
doPss
,
uint8_t
doSss
)
// add flag to indicate extracting only PSS, only SSS, or both
uint8_t
doPss
,
uint8_t
doSss
,
uint8_t
subframe
)
// add flag to indicate extracting only PSS, only SSS, or both
{
...
...
@@ -163,32 +164,52 @@ int _do_pss_sss_extract(PHY_VARS_UE *ue,
int
rx_offset
=
frame_parms
->
ofdm_symbol_size
-
3
*
12
;
uint8_t
pss_symb
,
sss_symb
;
int32_t
**
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[
0
].
rxdataF
;
if
(
frame_parms
->
frame_type
==
FDD
)
{
pss_symb
=
6
-
frame_parms
->
Ncp
;
sss_symb
=
pss_symb
-
1
;
}
else
{
pss_symb
=
2
;
sss_symb
=
frame_parms
->
symbols_per_tti
-
1
;
}
int32_t
**
rxdataF
;
for
(
aarx
=
0
;
aarx
<
frame_parms
->
nb_antennas_rx
;
aarx
++
)
{
if
(
frame_parms
->
frame_type
==
FDD
)
{
pss_symb
=
6
-
frame_parms
->
Ncp
;
sss_symb
=
pss_symb
-
1
;
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[(
subframe
&
0x1
)].
rxdataF
;
pss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
sss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
else
{
pss_symb
=
2
;
sss_symb
=
frame_parms
->
symbols_per_tti
-
1
;
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[(
subframe
&
0x1
)].
rxdataF
;
sss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[((
subframe
+
1
)
&
0x1
)].
rxdataF
;
pss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
//printf("extract_rbs: symbol_mod=%d, rx_offset=%d, ch_offset=%d\n",symbol_mod,
// (rx_offset + (symbol*(frame_parms->ofdm_symbol_size)))*2,
// LTE_CE_OFFSET+ch_offset+(symbol_mod*(frame_parms->ofdm_symbol_size)));
pss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
sss_rxF
=
&
rxdataF
[
aarx
][(
rx_offset
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
pss_rxF_ext
=
&
pss_ext
[
aarx
][
0
];
sss_rxF_ext
=
&
sss_ext
[
aarx
][
0
];
for
(
rb
=
0
;
rb
<
nb_rb
;
rb
++
)
{
// skip DC carrier
if
(
rb
==
3
)
{
sss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
pss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
if
(
frame_parms
->
frame_type
==
FDD
)
{
sss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
pss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
else
{
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[(
subframe
&
0x1
)].
rxdataF
;
sss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
sss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
rxdataF
=
ue
->
common_vars
.
common_vars_rx_data_per_thread
[((
subframe
+
1
)
&
0x1
)].
rxdataF
;
pss_rxF
=
&
rxdataF
[
aarx
][(
1
+
(
pss_symb
*
(
frame_parms
->
ofdm_symbol_size
)))];
}
}
for
(
i
=
0
;
i
<
12
;
i
++
)
{
...
...
@@ -209,16 +230,17 @@ int _do_pss_sss_extract(PHY_VARS_UE *ue,
int
pss_sss_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int32_t
pss_ext
[
4
][
72
],
int32_t
sss_ext
[
4
][
72
])
int32_t
sss_ext
[
4
][
72
],
uint8_t
subframe
)
{
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
sss_ext
,
1
/* doPss */
,
1
/* doSss */
);
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
sss_ext
,
1
/* doPss */
,
1
/* doSss */
,
subframe
);
}
int
pss_only_extract
(
PHY_VARS_UE
*
phy_vars_ue
,
int32_t
pss_ext
[
4
][
72
])
{
static
int32_t
dummy
[
4
][
72
];
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
dummy
,
1
/* doPss */
,
0
/* doSss */
);
return
_do_pss_sss_extract
(
phy_vars_ue
,
pss_ext
,
dummy
,
1
/* doPss */
,
0
/* doSss */
,
0
);
}
...
...
@@ -226,7 +248,7 @@ int sss_only_extract(PHY_VARS_UE *phy_vars_ue,
int32_t
sss_ext
[
4
][
72
])
{
static
int32_t
dummy
[
4
][
72
];
return
_do_pss_sss_extract
(
phy_vars_ue
,
dummy
,
sss_ext
,
0
/* doPss */
,
1
/* doSss */
);
return
_do_pss_sss_extract
(
phy_vars_ue
,
dummy
,
sss_ext
,
0
/* doPss */
,
1
/* doSss */
,
0
);
}
...
...
@@ -295,10 +317,10 @@ int rx_sss(PHY_VARS_UE *ue,int32_t *tot_metric,uint8_t *flip_max,uint8_t *phase_
0
,
1
);
}
// pss sss extract for subframe 0
pss_sss_extract
(
ue
,
pss_ext
,
sss0_ext
);
sss0_ext
,
0
);
/*
write_output("rxsig0.m","rxs0",&ue->common_vars.rxdata[0][0],ue->frame_parms.samples_per_tti,1,1);
write_output("rxdataF0.m","rxF0",&ue->common_vars.rxdataF[0][0],2*14*ue->frame_parms.ofdm_symbol_size,2,1);
...
...
@@ -346,9 +368,10 @@ int rx_sss(PHY_VARS_UE *ue,int32_t *tot_metric,uint8_t *flip_max,uint8_t *phase_
1
);
}
// pss sss extract for subframe 5
pss_sss_extract
(
ue
,
pss_ext
,
sss5_ext
);
sss5_ext
,
5
);
// write_output("sss5_ext0.m","sss5ext0",sss5_ext,72,1,1);
// get conjugated channel estimate from PSS (symbol 6), H* = R* \cdot PSS
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
51b23b40
...
...
@@ -418,6 +418,7 @@ int ulsch_decoding_data_2thread0(td_params* tdp) {
extern
int
oai_exit
;
void
*
td_thread
(
void
*
param
)
{
pthread_setname_np
(
pthread_self
(),
"td processing"
);
PHY_VARS_eNB
*
eNB
=
((
td_params
*
)
param
)
->
eNB
;
eNB_proc_t
*
proc
=
&
eNB
->
proc
;
...
...
openair1/PHY/defs.h
View file @
51b23b40
...
...
@@ -32,6 +32,7 @@
#ifndef __PHY_DEFS__H__
#define __PHY_DEFS__H__
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
...
...
openair1/SCHED/phy_procedures_lte_common.c
View file @
51b23b40
...
...
@@ -339,6 +339,9 @@ uint8_t get_reset_ack(LTE_DL_FRAME_PARMS *frame_parms,
o_ACK
[
0
]
=
harq_ack
[
subframe_dl0
].
ack
;
status
=
harq_ack
[
subframe_dl0
].
send_harq_status
;
if
(
do_reset
)
harq_ack
[
subframe_dl0
].
send_harq_status
=
0
;
//printf("get_ack: Getting ACK/NAK for PDSCH (subframe %d) => %d\n",subframe_dl,o_ACK[0]);
}
else
{
switch
(
frame_parms
->
tdd_config
)
{
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
51b23b40
...
...
@@ -2605,6 +2605,7 @@ extern int oai_exit;
static
void
*
fep_thread
(
void
*
param
)
{
pthread_setname_np
(
pthread_self
(),
"UEfep"
);
PHY_VARS_eNB
*
eNB
=
(
PHY_VARS_eNB
*
)
param
;
eNB_proc_t
*
proc
=
&
eNB
->
proc
;
while
(
!
oai_exit
)
{
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
51b23b40
...
...
@@ -1184,11 +1184,12 @@ void ue_prach_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
=
19
;
}
LOG_I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d, P0_PRACH %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
LOG_I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d,
PL %d,
P0_PRACH %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
ue
->
Mod_id
,
frame_tx
,
subframe_tx
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
,
get_PL
(
ue
->
Mod_id
,
ue
->
CC_id
,
eNB_id
),
ue
->
tx_power_dBm
[
subframe_tx
],
ue
->
prach_resources
[
eNB_id
]
->
ra_PREAMBLE_RECEIVED_TARGET_POWER
,
ue
->
prach_resources
[
eNB_id
]
->
ra_TDD_map_index
,
...
...
@@ -1377,7 +1378,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
round
=
0
;
}
ack_status
=
g
et_ack
(
&
ue
->
frame_parms
,
ack_status
=
res
et_ack
(
&
ue
->
frame_parms
,
ue
->
dlsch
[
eNB_id
][
0
]
->
harq_ack
,
subframe_tx
,
ue
->
ulsch
[
eNB_id
]
->
o_ACK
);
...
...
@@ -1393,14 +1394,7 @@ void ue_ulsch_uespec_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB
// check if we received a PDSCH at subframe_tx - 4
// ==> send ACK/NACK on PUSCH
if
(
(
ue
->
dlsch
[
eNB_id
][
0
]
->
harq_ack
[
proc
->
subframe_rx
].
send_harq_status
)
==
1
)
{
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
=
1
;
}
else
{
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
=
0
;
}
ue
->
ulsch
[
eNB_id
]
->
harq_processes
[
harq_pid
]
->
O_ACK
=
ack_status
;
#if T_TRACER
if
(
ue
->
ulsch
[
eNB_id
]
->
o_ACK
[
0
])
...
...
@@ -1710,6 +1704,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
int
tx_amp
;
int16_t
Po_PUCCH
;
uint8_t
ack_status
=
0
;
uint8_t
ack_sr_generated
=
0
;
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_UE_TX_PUCCH
,
VCD_FUNCTION_IN
);
...
...
@@ -1781,7 +1776,8 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
// we need to transmit ACK/NAK in this subframe
ue
->
generate_ul_signal
[
eNB_id
]
=
1
;
ack_sr_generated
=
1
;
if
((
frame_parms
->
frame_type
==
TDD
)
&&
(
SR_payload
>
0
))
{
format
=
pucch_format1b
;
}
...
...
@@ -1882,6 +1878,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
}
}
else
if
(
SR_payload
==
1
)
{
// no ACK/NAK but SR is triggered by MAC
ack_sr_generated
=
1
;
if
(
ue
->
mac_enabled
==
1
)
{
Po_PUCCH
=
pucch_power_cntl
(
ue
,
proc
,
subframe_tx
,
eNB_id
,
pucch_format1
);
}
...
...
@@ -1940,7 +1937,7 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
// PUCCH 2x
if
(
ue
->
generate_ul_signal
[
eNB_id
]
==
0
)
{
// we have not generated ACK/NAK/SR in this subframe
if
(
ack_sr_generated
==
0
)
{
// we have not generated ACK/NAK/SR in this subframe
n2_pucch
=
ue
->
cqi_report_config
[
eNB_id
].
CQI_ReportPeriodic
.
cqi_PUCCH_ResourceIndex
;
// only use format2 for now, i.e. now ACK/NAK - CQI multiplexing
...
...
@@ -1971,14 +1968,6 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
T
(
T_UE_PHY_PUCCH_TX_POWER
,
T_INT
(
eNB_id
),
T_INT
(
Mod_id
),
T_INT
(
frame_tx
%
1024
),
T_INT
(
subframe_tx
),
T_INT
(
ue
->
tx_power_dBm
[
subframe_tx
]),
T_INT
(
tx_amp
),
T_INT
(
ue
->
dlsch
[
eNB_id
][
0
]
->
g_pucch
),
T_INT
(
get_PL
(
ue
->
Mod_id
,
ue
->
CC_id
,
eNB_id
)));
#endif
LOG_D
(
PHY
,
"[UE %d][RNTI %x] AbsSubFrame %d.%d Generating PUCCH 2 (CQI), n2_pucch %d, Po_PUCCH %d, isShortenPucch %d, amp %d
\n
"
,
Mod_id
,
ue
->
dlsch
[
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
n2_pucch
,
Po_PUCCH
,
isShortenPucch
,
tx_amp
);
int
len
;
// get the payload : < 12 bits, returned in len
...
...
@@ -1997,6 +1986,16 @@ void ue_pucch_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
ue
->
pdcch_vars
[
eNB_id
]
->
crnti
);
ue
->
generate_ul_signal
[
eNB_id
]
=
1
;
LOG_D
(
PHY
,
"[UE %d][RNTI %x] AbsSubFrame %d.%d Generating PUCCH 2 (CQI %d), n2_pucch %d, Po_PUCCH %d, isShortenPucch %d, amp %d
\n
"
,
Mod_id
,
ue
->
dlsch
[
eNB_id
][
0
]
->
rnti
,
frame_tx
,
subframe_tx
,
CQI_payload
,
n2_pucch
,
Po_PUCCH
,
isShortenPucch
,
tx_amp
);
}
// Periodic RI report
else
if
((
ue
->
cqi_report_config
[
eNB_id
].
CQI_ReportPeriodic
.
ri_ConfigIndex
>
0
)
&&
...
...
openair2/RRC/LITE/rrc_UE.c
View file @
51b23b40
...
...
@@ -3131,9 +3131,9 @@ static void dump_sib2( SystemInformationBlockType2_t *sib2 )
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
srs_SubframeConfig
);
LOG_I
(
RRC
,
"radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission : %d
\n
"
,
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
ackNackSRS_SimultaneousTransmission
);
LOG_I
(
RRC
,
"radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts : %ld
\n
"
,
//
LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts : %ld\n",
/* TODO: check that it's okay to access [0] */
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
srs_MaxUpPts
[
0
]
);
//
sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts[0] );
}
// uplinkPowerControlCommon
...
...
openair2/UTIL/LOG/log.h
View file @
51b23b40
...
...
@@ -46,6 +46,8 @@
#include <time.h>
#include <stdint.h>
#include <inttypes.h>
#define _GNU_SOURCE
#include <pthread.h>
#else
#include "rtai_fifos.h"
#endif
...
...
openair3/NAS/COMMON/EMM/MSG/AttachAccept.c
View file @
51b23b40
...
...
@@ -28,6 +28,7 @@
#include "TLVEncoder.h"
#include "TLVDecoder.h"
#include "AttachAccept.h"
#include "assertions.h"
int
decode_attach_accept
(
attach_accept_msg
*
attach_accept
,
uint8_t
*
buffer
,
uint32_t
len
)
{
...
...
@@ -59,7 +60,7 @@ int decode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
decoded
+=
decoded_result
;
/* Decoding optional fields */
while
(
len
-
decoded
>
0
)
{
while
(
((
int32_t
)
len
-
(
int32_t
)
decoded
)
>
0
)
{
uint8_t
ieiDecoded
=
*
(
buffer
+
decoded
);
/* Type | value iei are below 0x80 so just return the first 4 bits */
...
...
@@ -189,6 +190,7 @@ int decode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
default:
errorCodeDecoder
=
TLV_DECODE_UNEXPECTED_IEI
;
LOG_TRACE
(
WARNING
,
"DECODE_UNEXPECTED_IEI %x (4 bits)"
,
ieiDecoded
);
AssertFatal
(
0
,
" "
);
return
TLV_DECODE_UNEXPECTED_IEI
;
}
}
...
...
openair3/NAS/UE/UEprocess.c
View file @
51b23b40
...
...
@@ -218,6 +218,7 @@ static void *_nas_user_mngr(void *args)
{
LOG_FUNC_IN
;
pthread_setname_np
(
pthread_self
(),
"nas_user_mngr"
);
int
exit_loop
=
FALSE
;
int
*
fd
=
(
int
*
)
args
;
...
...
targets/RT/USER/lte-ue.c
View file @
51b23b40
This diff is collapsed.
Click to expand it.
targets/SIMU/USER/oaisim_functions.c
View file @
51b23b40
...
...
@@ -450,6 +450,8 @@ void get_simulation_options(int argc, char *argv[])
case
'a'
:
abstraction_flag
=
1
;
printf
(
"FATAL: -a flag not functional for the moment.
\n
We are working on fixing the abstraction mode.
\n
"
);
exit
(
1
);
break
;
case
'A'
:
...
...
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