merge selected commits from enhancement-10-harmony-rgu test branch
This commit is contained in:
@@ -126,6 +126,7 @@ endmacro(add_list_string_option)
|
|||||||
if (CMAKE_BUILD_TYPE STREQUAL "")
|
if (CMAKE_BUILD_TYPE STREQUAL "")
|
||||||
set(CMAKE_BUILD_TYPE "RelWithDebInfo")
|
set(CMAKE_BUILD_TYPE "RelWithDebInfo")
|
||||||
endif()
|
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)
|
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)
|
||||||
|
|
||||||
Message("Architecture is ${CMAKE_SYSTEM_PROCESSOR}")
|
Message("Architecture is ${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
|
|||||||
@@ -1020,6 +1020,13 @@ def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo ,
|
|||||||
run_result=0
|
run_result=0
|
||||||
run_result_string = ' RUN_'+str(run) + ' = FAIL(Thread_Busy)'
|
run_result_string = ' RUN_'+str(run) + ' = FAIL(Thread_Busy)'
|
||||||
|
|
||||||
|
#If there is Segmentation fault, we mark the test case as failure as most likely eNB crashed
|
||||||
|
cmd = "grep -ilr \"segmentation fault\" " + logdir_local_testcase + " | cat "
|
||||||
|
cmd_out = subprocess.check_output ([cmd], shell=True)
|
||||||
|
if len(cmd_out) !=0:
|
||||||
|
run_result=0
|
||||||
|
run_result_string = ' RUN_'+str(run) + ' = FAIL(SEGFAULT)'
|
||||||
|
|
||||||
run_result_string = run_result_string + tput_run_string
|
run_result_string = run_result_string + tput_run_string
|
||||||
|
|
||||||
test_result=test_result & run_result
|
test_result=test_result & run_result
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<testCaseList>
|
<testCaseList>
|
||||||
|
|
||||||
<MachineList>mozart hutch starsky stevens amerique calisson nano qseven</MachineList>
|
<MachineList>mozart hutch starsky stevens amerique calisson nano </MachineList>
|
||||||
<NFSResultsShare>/mnt/sradio/TEST_RESULTS/</NFSResultsShare>
|
<NFSResultsShare>/mnt/sradio/TEST_RESULTS/</NFSResultsShare>
|
||||||
<GitOAI5GRepo>https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo>
|
<GitOAI5GRepo>https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo>
|
||||||
<GitOpenair-cnRepo>https://gitlab.eurecom.fr/oai/openair-cn.git</GitOpenair-cnRepo>
|
<GitOpenair-cnRepo>https://gitlab.eurecom.fr/oai/openair-cn.git</GitOpenair-cnRepo>
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
<CleanUpAluLteBox>sudo -S -E /opt/ltebox/tools/stop_ltebox</CleanUpAluLteBox>
|
<CleanUpAluLteBox>sudo -S -E /opt/ltebox/tools/stop_ltebox</CleanUpAluLteBox>
|
||||||
<ExmimoRfStop>exmimo_pci=`lspci -m | grep Xilinx`; if [ -n "$exmimo_pci" ] ; then $OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; fi; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue; uname -a; sudo -E dmesg</ExmimoRfStop>
|
<ExmimoRfStop>exmimo_pci=`lspci -m | grep Xilinx`; if [ -n "$exmimo_pci" ] ; then $OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; fi; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue; uname -a; sudo -E dmesg</ExmimoRfStop>
|
||||||
<Timeout_execution>36000</Timeout_execution>
|
<Timeout_execution>36000</Timeout_execution>
|
||||||
<TestCaseExclusionList>010141 0102+ 010304 010305 0104+ 015506 015507 015508 015509 015510 015511 015602 015605 015702 015705 016102 016105 016502 016505 017002 017005 017502 017505 018002 018005 018502 018505</TestCaseExclusionList>
|
<TestCaseExclusionList>010141 0102+ 010304 010305 0104+ 015506 015507 015508 015509 015510 015511 015602 015605 015702 015705 016102 016105 016502 016505 017002 017005 017502 017505 018002 018005 </TestCaseExclusionList>
|
||||||
<nruns_lte-softmodem>3</nruns_lte-softmodem>
|
<nruns_lte-softmodem>3</nruns_lte-softmodem>
|
||||||
<MachineListGeneric>mozart hutch starsky stevens amerique calisson nano</MachineListGeneric>
|
<MachineListGeneric>mozart hutch starsky stevens amerique calisson nano</MachineListGeneric>
|
||||||
<testCase id="010101" >
|
<testCase id="010101" >
|
||||||
@@ -3437,7 +3437,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -3509,7 +3509,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -3581,7 +3581,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -3653,7 +3653,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -3724,7 +3724,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args>sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec_args>
|
<eNB_pre_exec_args>sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -3796,7 +3796,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -3867,7 +3867,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -3939,7 +3939,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -4011,7 +4011,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -4083,7 +4083,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -4154,7 +4154,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args>sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec_args>
|
<eNB_pre_exec_args>sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -4226,7 +4226,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
<eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
@@ -4299,7 +4299,7 @@ c
|
|||||||
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
<eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args>
|
||||||
<eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec>
|
<eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec>
|
||||||
<eNB_pre_exec_args></eNB_pre_exec_args>
|
<eNB_pre_exec_args></eNB_pre_exec_args>
|
||||||
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
<eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/lte_build_oai/build/lte-softmodem</eNB_main_exec>
|
||||||
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
<eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args>
|
||||||
<eNB_traffic_exec></eNB_traffic_exec>
|
<eNB_traffic_exec></eNB_traffic_exec>
|
||||||
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
<eNB_traffic_exec_args></eNB_traffic_exec_args>
|
||||||
|
|||||||
@@ -35,6 +35,10 @@ $SUDO echo "set pagination off" >> $gdb_file
|
|||||||
$SUDO echo "handle SIG33 pass nostop noprint" >> $gdb_file
|
$SUDO echo "handle SIG33 pass nostop noprint" >> $gdb_file
|
||||||
$SUDO echo "echo backtrace:\n" >> $gdb_file
|
$SUDO echo "echo backtrace:\n" >> $gdb_file
|
||||||
$SUDO echo "backtrace full" >> $gdb_file
|
$SUDO echo "backtrace full" >> $gdb_file
|
||||||
|
$SUDO echo "echo \n\nVariables:\n" >> $gdb_file
|
||||||
|
$SUDO echo "info variables" >> $gdb_file
|
||||||
|
$SUDO echo "echo \n\nlocals:\n" >> $gdb_file
|
||||||
|
$SUDO echo "info locals" >> $gdb_file
|
||||||
$SUDO echo "echo \n\nregisters:\n" >> $gdb_file
|
$SUDO echo "echo \n\nregisters:\n" >> $gdb_file
|
||||||
$SUDO echo "info registers" >> $gdb_file
|
$SUDO echo "info registers" >> $gdb_file
|
||||||
$SUDO echo "echo \n\ncurrent instructions:\n" >> $gdb_file
|
$SUDO echo "echo \n\ncurrent instructions:\n" >> $gdb_file
|
||||||
|
|||||||
+20
-12
@@ -61,6 +61,7 @@ TEST_CASE_GROUP=""
|
|||||||
BUILD_DOXYGEN=0
|
BUILD_DOXYGEN=0
|
||||||
T_TRACER="False"
|
T_TRACER="False"
|
||||||
DISABLE_HARDWARE_DEPENDENCY="False"
|
DISABLE_HARDWARE_DEPENDENCY="False"
|
||||||
|
CMAKE_BUILD_TYPE=""
|
||||||
trap handle_ctrl_c INT
|
trap handle_ctrl_c INT
|
||||||
|
|
||||||
function print_help() {
|
function print_help() {
|
||||||
@@ -82,7 +83,7 @@ Options
|
|||||||
--install-optional-packages
|
--install-optional-packages
|
||||||
Install useful but not mandatory packages such as valgrind
|
Install useful but not mandatory packages such as valgrind
|
||||||
-g | --run-with-gdb
|
-g | --run-with-gdb
|
||||||
Add debugging symbols to compilation directives
|
Add debugging symbols to compilation directives. It also disables any compiler optimization.
|
||||||
-h | --help
|
-h | --help
|
||||||
Print this help
|
Print this help
|
||||||
--eNB
|
--eNB
|
||||||
@@ -170,7 +171,8 @@ function main() {
|
|||||||
shift;;
|
shift;;
|
||||||
-g | --run-with-gdb)
|
-g | --run-with-gdb)
|
||||||
GDB=1
|
GDB=1
|
||||||
echo_info "Will Compile with gdb symbols"
|
CMAKE_BUILD_TYPE="Debug"
|
||||||
|
echo_info "Will Compile with gdb symbols and disable compiler optimization"
|
||||||
shift;;
|
shift;;
|
||||||
--eNB)
|
--eNB)
|
||||||
eNB=1
|
eNB=1
|
||||||
@@ -443,6 +445,7 @@ function main() {
|
|||||||
if [ "$NOS1" = "1" ] ; then
|
if [ "$NOS1" = "1" ] ; then
|
||||||
cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file
|
cat $DIR/$lte_build_dir/CMakeLists.template >> $cmake_file
|
||||||
fi
|
fi
|
||||||
|
echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
|
||||||
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
|
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
|
||||||
echo "set ( XFORMS $XFORMS )" >> $cmake_file
|
echo "set ( XFORMS $XFORMS )" >> $cmake_file
|
||||||
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
||||||
@@ -568,6 +571,8 @@ function main() {
|
|||||||
cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin
|
cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# oaisim compilation
|
||||||
|
###############
|
||||||
if [ "$oaisim" = "1" ] ; then
|
if [ "$oaisim" = "1" ] ; then
|
||||||
dconf=$OPENAIR_DIR/targets/bin
|
dconf=$OPENAIR_DIR/targets/bin
|
||||||
if [ "$NOS1" = "1" ] ; then
|
if [ "$NOS1" = "1" ] ; then
|
||||||
@@ -581,6 +586,7 @@ function main() {
|
|||||||
echo_info "Compiling $oaisim_exec ($oaisim_build_dir)"
|
echo_info "Compiling $oaisim_exec ($oaisim_build_dir)"
|
||||||
cmake_file=$DIR/$oaisim_build_dir/CMakeLists.txt
|
cmake_file=$DIR/$oaisim_build_dir/CMakeLists.txt
|
||||||
cp $DIR/$oaisim_build_dir/CMakeLists.template $cmake_file
|
cp $DIR/$oaisim_build_dir/CMakeLists.template $cmake_file
|
||||||
|
echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
|
||||||
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
|
echo "set ( CFLAGS_PROCESSOR_USER \"$CFLAGS_PROCESSOR_USER\" )" >> $cmake_file
|
||||||
echo "set ( XFORMS $XFORMS )" >> $cmake_file
|
echo "set ( XFORMS $XFORMS )" >> $cmake_file
|
||||||
echo "set ( PRINT_STATS $PRINT_STATS )" >> $cmake_file
|
echo "set ( PRINT_STATS $PRINT_STATS )" >> $cmake_file
|
||||||
@@ -649,9 +655,10 @@ function main() {
|
|||||||
|
|
||||||
cmake_file=$DIR/oaisim_mme_build_oai/CMakeLists.txt
|
cmake_file=$DIR/oaisim_mme_build_oai/CMakeLists.txt
|
||||||
cp $DIR/oaisim_mme_build_oai/CMakeLists.template $cmake_file
|
cp $DIR/oaisim_mme_build_oai/CMakeLists.template $cmake_file
|
||||||
echo "set(XFORMS $XFORMS )" >> $cmake_file
|
echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
|
||||||
echo "set(RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
echo "set ( XFORMS $XFORMS )" >> $cmake_file
|
||||||
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
echo "set ( RRC_ASN1_VERSION \"${REL}\")" >> $cmake_file
|
||||||
|
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||||
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
||||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||||
#[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_mme_build_oai/build
|
#[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_mme_build_oai/build
|
||||||
@@ -676,13 +683,14 @@ function main() {
|
|||||||
mkdir -p $DIR/$rrh_build_dir/build
|
mkdir -p $DIR/$rrh_build_dir/build
|
||||||
cmake_file=$DIR/$rrh_build_dir/CMakeLists.txt
|
cmake_file=$DIR/$rrh_build_dir/CMakeLists.txt
|
||||||
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
|
echo "cmake_minimum_required(VERSION 2.8)" > $cmake_file
|
||||||
echo "set(ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
echo "set ( CMAKE_BUILD_TYPE $CMAKE_BUILD_TYPE )" >> $cmake_file
|
||||||
echo "set(ENABLE_ITTI False )" >> $cmake_file
|
echo "set ( ENABLE_VCD_FIFO $VCD_TIMING )" >> $cmake_file
|
||||||
echo "set(RF_BOARD \"${HW}\")" >> $cmake_file
|
echo "set ( ENABLE_ITTI False )" >> $cmake_file
|
||||||
echo "set(TRANSP_PRO \"${TP}\")" >> $cmake_file
|
echo "set ( RF_BOARD \"${HW}\")" >> $cmake_file
|
||||||
echo 'set(PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
|
echo "set ( TRANSP_PRO \"${TP}\")" >> $cmake_file
|
||||||
echo "set (DEADLINE_SCHEDULER \"${DEADLINE_SCHEDULER_FLAG_USER}\" )" >>$cmake_file
|
echo 'set ( PACKAGE_NAME "\"rrh_gw\"")' >> $cmake_file
|
||||||
echo "set (CPU_AFFINITY \"${CPU_AFFINITY_FLAG_USER}\" )" >>$cmake_file
|
echo "set ( DEADLINE_SCHEDULER \"${DEADLINE_SCHEDULER_FLAG_USER}\" )" >>$cmake_file
|
||||||
|
echo "set ( CPU_AFFINITY \"${CPU_AFFINITY_FLAG_USER}\" )" >>$cmake_file
|
||||||
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
echo "set ( T_TRACER $T_TRACER )" >> $cmake_file
|
||||||
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file
|
||||||
cd $DIR/$rrh_build_dir/build
|
cd $DIR/$rrh_build_dir/build
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
#include <complex>
|
#include <complex>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
#include <time.h>
|
||||||
#include "common_lib.h"
|
#include "common_lib.h"
|
||||||
#ifdef __SSE4_1__
|
#ifdef __SSE4_1__
|
||||||
# include <smmintrin.h>
|
# include <smmintrin.h>
|
||||||
@@ -172,7 +172,13 @@ static void trx_usrp_end(openair0_device *device)
|
|||||||
*/
|
*/
|
||||||
static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp, void **buff, int nsamps, int cc, int flags)
|
static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp, void **buff, int nsamps, int cc, int flags)
|
||||||
{
|
{
|
||||||
int ret;
|
static long long int loop=0;
|
||||||
|
static long time_min=0, time_max=0, time_avg=0;
|
||||||
|
struct timespec tp_start, tp_end;
|
||||||
|
long time_diff;
|
||||||
|
clock_gettime(CLOCK_MONOTONIC_RAW, &tp_start);
|
||||||
|
|
||||||
|
int ret=0, ret_i=0;
|
||||||
usrp_state_t *s = (usrp_state_t*)device->priv;
|
usrp_state_t *s = (usrp_state_t*)device->priv;
|
||||||
|
|
||||||
s->tx_md.time_spec = uhd::time_spec_t::from_ticks(timestamp, s->sample_rate);
|
s->tx_md.time_spec = uhd::time_spec_t::from_ticks(timestamp, s->sample_rate);
|
||||||
@@ -196,7 +202,21 @@ static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp,
|
|||||||
if (ret != nsamps) {
|
if (ret != nsamps) {
|
||||||
printf("[xmit] tx samples %d != %d\n",ret,nsamps);
|
printf("[xmit] tx samples %d != %d\n",ret,nsamps);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
clock_gettime(CLOCK_MONOTONIC_RAW, &tp_end);
|
||||||
|
time_diff = (tp_end.tv_sec - tp_start.tv_sec) *1E09 + (tp_end.tv_nsec - tp_start.tv_nsec);
|
||||||
|
if (time_min==0 ||loop==1 || time_min > time_diff)
|
||||||
|
time_min=time_diff;
|
||||||
|
if (time_max==0 ||loop==1 || time_max < time_diff)
|
||||||
|
time_max=time_diff;
|
||||||
|
if (time_avg ==0 ||loop==1)
|
||||||
|
time_avg= time_diff;
|
||||||
|
else
|
||||||
|
time_avg=(time_diff+time_avg) /2.0;
|
||||||
|
|
||||||
|
if ( loop%10000 ==0)
|
||||||
|
printf("\n usrp_write: min(ns)=%d, max(ns)=%d, avg(ns)=%d", (int)time_min, (int)time_max,(int)time_avg);
|
||||||
|
loop++;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,6 +233,11 @@ static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp,
|
|||||||
*/
|
*/
|
||||||
static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp, void **buff, int nsamps, int cc)
|
static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp, void **buff, int nsamps, int cc)
|
||||||
{
|
{
|
||||||
|
static long long int loop=0;
|
||||||
|
static long time_min=0, time_max=0, time_avg=0;
|
||||||
|
struct timespec tp_start, tp_end;
|
||||||
|
long time_diff;
|
||||||
|
clock_gettime(CLOCK_MONOTONIC_RAW, &tp_start);
|
||||||
usrp_state_t *s = (usrp_state_t*)device->priv;
|
usrp_state_t *s = (usrp_state_t*)device->priv;
|
||||||
int samples_received=0,i,j;
|
int samples_received=0,i,j;
|
||||||
int nsamps2; // aligned to upper 32 or 16 byte boundary
|
int nsamps2; // aligned to upper 32 or 16 byte boundary
|
||||||
@@ -293,7 +318,20 @@ static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp
|
|||||||
s->rx_timestamp = s->rx_md.time_spec.to_ticks(s->sample_rate);
|
s->rx_timestamp = s->rx_md.time_spec.to_ticks(s->sample_rate);
|
||||||
*ptimestamp = s->rx_timestamp;
|
*ptimestamp = s->rx_timestamp;
|
||||||
|
|
||||||
return samples_received;
|
clock_gettime(CLOCK_MONOTONIC_RAW, &tp_end);
|
||||||
|
time_diff = (tp_end.tv_sec - tp_start.tv_sec) *1E09 + (tp_end.tv_nsec - tp_start.tv_nsec);
|
||||||
|
if (time_min==0 ||loop==1 || time_min > time_diff)
|
||||||
|
time_min=time_diff;
|
||||||
|
if (time_max==0 || loop==1|| time_max < time_diff)
|
||||||
|
time_max=time_diff;
|
||||||
|
if (time_avg ==0 ||loop==1)
|
||||||
|
time_avg= time_diff;
|
||||||
|
else
|
||||||
|
time_avg=(time_diff+time_avg) /2.0;
|
||||||
|
if ( loop % 10000==0)
|
||||||
|
printf("\n usrp_read: min(ns)=%d, max(ns)=%d, avg(ns)=%d", (int)time_min, (int)time_max,(int)time_avg);
|
||||||
|
loop++;
|
||||||
|
return samples_received;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*! \brief Get current timestamp of USRP
|
/*! \brief Get current timestamp of USRP
|
||||||
@@ -500,6 +538,7 @@ extern "C" {
|
|||||||
|
|
||||||
// Initialize USRP device
|
// Initialize USRP device
|
||||||
|
|
||||||
|
device->openair0_cfg = openair0_cfg;
|
||||||
|
|
||||||
std::string args = "type=b200";
|
std::string args = "type=b200";
|
||||||
|
|
||||||
@@ -523,6 +562,8 @@ extern "C" {
|
|||||||
// workaround for an api problem, master clock has to be set with the constructor not via set_master_clock_rate
|
// workaround for an api problem, master clock has to be set with the constructor not via set_master_clock_rate
|
||||||
args += boost::str(boost::format(",master_clock_rate=%f") % usrp_master_clock);
|
args += boost::str(boost::format(",master_clock_rate=%f") % usrp_master_clock);
|
||||||
|
|
||||||
|
args += ",num_send_frames=256,num_recv_frames=256, send_frame_size=4096, recv_frame_size=4096";
|
||||||
|
|
||||||
uhd::device_addrs_t device_adds = uhd::device::find(args);
|
uhd::device_addrs_t device_adds = uhd::device::find(args);
|
||||||
|
|
||||||
if(device_adds.size() == 0)
|
if(device_adds.size() == 0)
|
||||||
@@ -554,25 +595,25 @@ extern "C" {
|
|||||||
switch ((int)openair0_cfg[0].sample_rate) {
|
switch ((int)openair0_cfg[0].sample_rate) {
|
||||||
case 30720000:
|
case 30720000:
|
||||||
// from usrp_time_offset
|
// from usrp_time_offset
|
||||||
openair0_cfg[0].samples_per_packet = 2048;
|
//openair0_cfg[0].samples_per_packet = 2048;
|
||||||
openair0_cfg[0].tx_sample_advance = 15;
|
openair0_cfg[0].tx_sample_advance = 15;
|
||||||
openair0_cfg[0].tx_bw = 20e6;
|
openair0_cfg[0].tx_bw = 20e6;
|
||||||
openair0_cfg[0].rx_bw = 20e6;
|
openair0_cfg[0].rx_bw = 20e6;
|
||||||
break;
|
break;
|
||||||
case 15360000:
|
case 15360000:
|
||||||
openair0_cfg[0].samples_per_packet = 2048;
|
//openair0_cfg[0].samples_per_packet = 2048;
|
||||||
openair0_cfg[0].tx_sample_advance = 45;
|
openair0_cfg[0].tx_sample_advance = 45;
|
||||||
openair0_cfg[0].tx_bw = 10e6;
|
openair0_cfg[0].tx_bw = 10e6;
|
||||||
openair0_cfg[0].rx_bw = 10e6;
|
openair0_cfg[0].rx_bw = 10e6;
|
||||||
break;
|
break;
|
||||||
case 7680000:
|
case 7680000:
|
||||||
openair0_cfg[0].samples_per_packet = 1024;
|
//openair0_cfg[0].samples_per_packet = 2048;
|
||||||
openair0_cfg[0].tx_sample_advance = 50;
|
openair0_cfg[0].tx_sample_advance = 50;
|
||||||
openair0_cfg[0].tx_bw = 5e6;
|
openair0_cfg[0].tx_bw = 5e6;
|
||||||
openair0_cfg[0].rx_bw = 5e6;
|
openair0_cfg[0].rx_bw = 5e6;
|
||||||
break;
|
break;
|
||||||
case 1920000:
|
case 1920000:
|
||||||
openair0_cfg[0].samples_per_packet = 256;
|
//openair0_cfg[0].samples_per_packet = 2048;
|
||||||
openair0_cfg[0].tx_sample_advance = 50;
|
openair0_cfg[0].tx_sample_advance = 50;
|
||||||
openair0_cfg[0].tx_bw = 1.25e6;
|
openair0_cfg[0].tx_bw = 1.25e6;
|
||||||
openair0_cfg[0].rx_bw = 1.25e6;
|
openair0_cfg[0].rx_bw = 1.25e6;
|
||||||
@@ -585,7 +626,7 @@ extern "C" {
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
printf("Found USRP B200");
|
printf("Found USRP B200");
|
||||||
args += ",num_recv_frames=256" ;
|
args += ",num_send_frames=256,num_recv_frames=256, send_frame_size=4096, recv_frame_size=4096" ;
|
||||||
s->usrp = uhd::usrp::multi_usrp::make(args);
|
s->usrp = uhd::usrp::multi_usrp::make(args);
|
||||||
|
|
||||||
// s->usrp->set_rx_subdev_spec(rx_subdev);
|
// s->usrp->set_rx_subdev_spec(rx_subdev);
|
||||||
@@ -611,30 +652,35 @@ extern "C" {
|
|||||||
switch ((int)openair0_cfg[0].sample_rate) {
|
switch ((int)openair0_cfg[0].sample_rate) {
|
||||||
case 30720000:
|
case 30720000:
|
||||||
s->usrp->set_master_clock_rate(30.72e6);
|
s->usrp->set_master_clock_rate(30.72e6);
|
||||||
|
//openair0_cfg[0].samples_per_packet = 1024;
|
||||||
openair0_cfg[0].tx_sample_advance = 115;
|
openair0_cfg[0].tx_sample_advance = 115;
|
||||||
openair0_cfg[0].tx_bw = 20e6;
|
openair0_cfg[0].tx_bw = 20e6;
|
||||||
openair0_cfg[0].rx_bw = 20e6;
|
openair0_cfg[0].rx_bw = 20e6;
|
||||||
break;
|
break;
|
||||||
case 23040000:
|
case 23040000:
|
||||||
s->usrp->set_master_clock_rate(23.04e6); //to be checked
|
s->usrp->set_master_clock_rate(23.04e6); //to be checked
|
||||||
|
//openair0_cfg[0].samples_per_packet = 1024;
|
||||||
openair0_cfg[0].tx_sample_advance = 113;
|
openair0_cfg[0].tx_sample_advance = 113;
|
||||||
openair0_cfg[0].tx_bw = 20e6;
|
openair0_cfg[0].tx_bw = 20e6;
|
||||||
openair0_cfg[0].rx_bw = 20e6;
|
openair0_cfg[0].rx_bw = 20e6;
|
||||||
break;
|
break;
|
||||||
case 15360000:
|
case 15360000:
|
||||||
s->usrp->set_master_clock_rate(30.72e06);
|
s->usrp->set_master_clock_rate(30.72e06);
|
||||||
|
//openair0_cfg[0].samples_per_packet = 1024;
|
||||||
openair0_cfg[0].tx_sample_advance = 103;
|
openair0_cfg[0].tx_sample_advance = 103;
|
||||||
openair0_cfg[0].tx_bw = 20e6;
|
openair0_cfg[0].tx_bw = 20e6;
|
||||||
openair0_cfg[0].rx_bw = 20e6;
|
openair0_cfg[0].rx_bw = 20e6;
|
||||||
break;
|
break;
|
||||||
case 7680000:
|
case 7680000:
|
||||||
s->usrp->set_master_clock_rate(30.72e6);
|
s->usrp->set_master_clock_rate(30.72e6);
|
||||||
|
//openair0_cfg[0].samples_per_packet = 1024;
|
||||||
openair0_cfg[0].tx_sample_advance = 80;
|
openair0_cfg[0].tx_sample_advance = 80;
|
||||||
openair0_cfg[0].tx_bw = 20e6;
|
openair0_cfg[0].tx_bw = 20e6;
|
||||||
openair0_cfg[0].rx_bw = 20e6;
|
openair0_cfg[0].rx_bw = 20e6;
|
||||||
break;
|
break;
|
||||||
case 1920000:
|
case 1920000:
|
||||||
s->usrp->set_master_clock_rate(30.72e6);
|
s->usrp->set_master_clock_rate(30.72e6);
|
||||||
|
//openair0_cfg[0].samples_per_packet = 1024;
|
||||||
openair0_cfg[0].tx_sample_advance = 40;
|
openair0_cfg[0].tx_sample_advance = 40;
|
||||||
openair0_cfg[0].tx_bw = 20e6;
|
openair0_cfg[0].tx_bw = 20e6;
|
||||||
openair0_cfg[0].rx_bw = 20e6;
|
openair0_cfg[0].rx_bw = 20e6;
|
||||||
@@ -758,7 +804,8 @@ extern "C" {
|
|||||||
device->trx_stop_func = trx_usrp_stop;
|
device->trx_stop_func = trx_usrp_stop;
|
||||||
device->trx_set_freq_func = trx_usrp_set_freq;
|
device->trx_set_freq_func = trx_usrp_set_freq;
|
||||||
device->trx_set_gains_func = trx_usrp_set_gains;
|
device->trx_set_gains_func = trx_usrp_set_gains;
|
||||||
|
device->openair0_cfg = openair0_cfg;
|
||||||
|
|
||||||
s->sample_rate = openair0_cfg[0].sample_rate;
|
s->sample_rate = openair0_cfg[0].sample_rate;
|
||||||
// TODO:
|
// TODO:
|
||||||
// init tx_forward_nsamps based usrp_time_offset ex
|
// init tx_forward_nsamps based usrp_time_offset ex
|
||||||
|
|||||||
Reference in New Issue
Block a user