Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
openairinterface5G
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Merge Requests
16
Merge Requests
16
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
oai
openairinterface5G
Commits
33d9e8f2
Commit
33d9e8f2
authored
Feb 19, 2016
by
Aikaterini Trilyraki
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into bugfix-48-L1L2signaling
parents
cac00e34
eb48479b
Changes
112
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
112 changed files
with
25599 additions
and
1167 deletions
+25599
-1167
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+129
-31
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+75
-63
cmake_targets/build_oai
cmake_targets/build_oai
+194
-43
cmake_targets/rrh_gw/CMakeLists.txt
cmake_targets/rrh_gw/CMakeLists.txt
+0
-6
cmake_targets/tools/build_helper
cmake_targets/tools/build_helper
+19
-1
openair1/PHY/LTE_REFSIG/primary_synch.h
openair1/PHY/LTE_REFSIG/primary_synch.h
+0
-28
openair1/PHY/LTE_TRANSPORT/initial_sync.c
openair1/PHY/LTE_TRANSPORT/initial_sync.c
+10
-15
openair1/PHY/LTE_TRANSPORT/print_stats.c
openair1/PHY/LTE_TRANSPORT/print_stats.c
+3
-3
openair1/PHY/TOOLS/lte_phy_scope.c
openair1/PHY/TOOLS/lte_phy_scope.c
+2
-2
openair1/PHY/defs.h
openair1/PHY/defs.h
+7
-0
openair1/PHY/impl_defs_top.h
openair1/PHY/impl_defs_top.h
+8
-1
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+16
-14
openair1/SIMULATION/LTE_PHY/dlsim.c
openair1/SIMULATION/LTE_PHY/dlsim.c
+11
-1
openair1/SIMULATION/LTE_PHY/ulsim.c
openair1/SIMULATION/LTE_PHY/ulsim.c
+7
-1
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+148
-3
openair2/ENB_APP/enb_config.h
openair2/ENB_APP/enb_config.h
+25
-0
openair2/UTIL/LOG/vcd_signal_dumper.c
openair2/UTIL/LOG/vcd_signal_dumper.c
+3
-0
openair2/UTIL/LOG/vcd_signal_dumper.h
openair2/UTIL/LOG/vcd_signal_dumper.h
+3
-0
targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
+90
-10
targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h
targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.h
+32
-7
targets/ARCH/COMMON/common_lib.c
targets/ARCH/COMMON/common_lib.c
+132
-23
targets/ARCH/COMMON/common_lib.h
targets/ARCH/COMMON/common_lib.h
+149
-79
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
+319
-0
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
+383
-0
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+262
-341
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
+123
-43
targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
+9
-1
targets/ARCH/LMSSDR/USERSPACE/LIB/Si5351C/CMakeLists.txt
targets/ARCH/LMSSDR/USERSPACE/LIB/Si5351C/CMakeLists.txt
+11
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/Si5351C/Si5351C.cpp
targets/ARCH/LMSSDR/USERSPACE/LIB/Si5351C/Si5351C.cpp
+872
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/Si5351C/Si5351C.h
targets/ARCH/LMSSDR/USERSPACE/LIB/Si5351C/Si5351C.h
+100
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/CMakeLists.txt
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/CMakeLists.txt
+63
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M.cpp
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M.cpp
+2612
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M.h
+177
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_RegistersMap.cpp
...H/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_RegistersMap.cpp
+68
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_RegistersMap.h
...RCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_RegistersMap.h
+35
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_filtersCalibration.cpp
...DR/USERSPACE/LIB/lms7002m/LMS7002M_filtersCalibration.cpp
+861
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_parameters.cpp
...RCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_parameters.cpp
+601
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_parameters.h
.../ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_parameters.h
+613
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_statuses.cpp
.../ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_statuses.cpp
+16
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_statuses.h
...ts/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/LMS7002M_statuses.h
+48
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionCOM.cpp
...SERSPACE/LIB/lms7002m/connectionManager/ConnectionCOM.cpp
+596
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionCOM.h
.../USERSPACE/LIB/lms7002m/connectionManager/ConnectionCOM.h
+62
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionManager.cpp
...PACE/LIB/lms7002m/connectionManager/ConnectionManager.cpp
+314
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionManager.h
...RSPACE/LIB/lms7002m/connectionManager/ConnectionManager.h
+60
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionSPI.cpp
...SERSPACE/LIB/lms7002m/connectionManager/ConnectionSPI.cpp
+290
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionSPI.h
.../USERSPACE/LIB/lms7002m/connectionManager/ConnectionSPI.h
+41
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionUSB.cpp
...SERSPACE/LIB/lms7002m/connectionManager/ConnectionUSB.cpp
+762
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/ConnectionUSB.h
.../USERSPACE/LIB/lms7002m/connectionManager/ConnectionUSB.h
+144
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/connectionManager/IConnection.h
...DR/USERSPACE/LIB/lms7002m/connectionManager/IConnection.h
+68
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/INI.h
...MSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/INI.h
+639
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/LICENSE
...SDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/LICENSE
+21
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/README.md
...R/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/README.md
+47
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/example/example.cpp
...E/LIB/lms7002m/cpp-feather-ini-parser/example/example.cpp
+130
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/example/file.ini
...PACE/LIB/lms7002m/cpp-feather-ini-parser/example/file.ini
+5
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/example/file_ints.ini
...LIB/lms7002m/cpp-feather-ini-parser/example/file_ints.ini
+400
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/example/merge.ini
...ACE/LIB/lms7002m/cpp-feather-ini-parser/example/merge.ini
+5
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/example/project.cbp
...E/LIB/lms7002m/cpp-feather-ini-parser/example/project.cbp
+57
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/cpp-feather-ini-parser/example/project.depend
...IB/lms7002m/cpp-feather-ini-parser/example/project.depend
+802
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/lms7002_defines.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/lms7002_defines.h
+218
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/lmsComms.cpp
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/lmsComms.cpp
+326
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/lmsComms.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/lmsComms.h
+111
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/typedefs.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lms7002m/typedefs.h
+18
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/CMakeLists.txt
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/CMakeLists.txt
+58
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_SDR.cpp
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_SDR.cpp
+334
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_SDR.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_SDR.h
+143
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/CMakeLists.txt
...MSSDR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/CMakeLists.txt
+22
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/LMS_StreamBoard.cpp
.../USERSPACE/LIB/lmsSDR/LMS_StreamBoard/LMS_StreamBoard.cpp
+770
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/LMS_StreamBoard.h
...DR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/LMS_StreamBoard.h
+107
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/LMS_StreamBoard_FIFO.h
...ERSPACE/LIB/lmsSDR/LMS_StreamBoard/LMS_StreamBoard_FIFO.h
+122
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/lms7002_defines.h
...DR/USERSPACE/LIB/lmsSDR/LMS_StreamBoard/lms7002_defines.h
+215
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/CMakeLists.txt
...SDR/USERSPACE/LIB/lmsSDR/connectionManager/CMakeLists.txt
+34
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionCOM.cpp
.../USERSPACE/LIB/lmsSDR/connectionManager/ConnectionCOM.cpp
+596
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionCOM.h
...DR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionCOM.h
+62
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionManager.cpp
...RSPACE/LIB/lmsSDR/connectionManager/ConnectionManager.cpp
+319
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionManager.h
...SERSPACE/LIB/lmsSDR/connectionManager/ConnectionManager.h
+60
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionSPI.cpp
.../USERSPACE/LIB/lmsSDR/connectionManager/ConnectionSPI.cpp
+313
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionSPI.h
...DR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionSPI.h
+41
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionUSB.cpp
.../USERSPACE/LIB/lmsSDR/connectionManager/ConnectionUSB.cpp
+771
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionUSB.h
...DR/USERSPACE/LIB/lmsSDR/connectionManager/ConnectionUSB.h
+144
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/IConnection.h
...SSDR/USERSPACE/LIB/lmsSDR/connectionManager/IConnection.h
+68
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/lmsComms.cpp
...MSSDR/USERSPACE/LIB/lmsSDR/connectionManager/lmsComms.cpp
+325
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/lmsComms.h
.../LMSSDR/USERSPACE/LIB/lmsSDR/connectionManager/lmsComms.h
+111
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/dataTypes.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/dataTypes.h
+33
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/fifo.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/fifo.h
+180
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/ringBuffer.h
targets/ARCH/LMSSDR/USERSPACE/LIB/lmsSDR/ringBuffer.h
+143
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
targets/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
+879
-0
targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp
targets/ARCH/LMSSDR/USERSPACE/LIB/sodera_lib.cpp
+723
-0
targets/ARCH/LMSSDR/enb_sodera_highband_10MHz_rx19dB_txfull.ini
...s/ARCH/LMSSDR/enb_sodera_highband_10MHz_rx19dB_txfull.ini
+1128
-0
targets/ARCH/LMSSDR/enb_sodera_highband_5MHz_rx19dB_txfull.ini
...ts/ARCH/LMSSDR/enb_sodera_highband_5MHz_rx19dB_txfull.ini
+1128
-0
targets/ARCH/LMSSDR/enb_sodera_lowband_Wrx_5MHz_rx19dB_txfull.ini
...ARCH/LMSSDR/enb_sodera_lowband_Wrx_5MHz_rx19dB_txfull.ini
+1128
-0
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+125
-27
targets/DOCS/Doxyfile
targets/DOCS/Doxyfile
+4
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf
...CTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.sedora.conf
+171
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf
...CTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.rrh.usrpb210.conf
+190
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf
...ROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.usrpb210.conf
+171
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band4.tm1.usrpb210.conf
+6
-6
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf
.../GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.bladerfx40.conf
+4
-4
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
...ECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.lmssdr.conf
+171
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.lmssdr.conf
.../GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.lmssdr.conf
+192
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf
...ENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.rrh.usrpb210.conf
+190
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf
...OJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf
+2
-2
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf
...s/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf
+171
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.lmssdr.conf
...OJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.lmssdr.conf
+192
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf
...ECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.rrh.usrpb210.conf
+192
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf
...NERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.epc.remote.conf
+7
-7
targets/RT/USER/UE_transport_IQ.c
targets/RT/USER/UE_transport_IQ.c
+15
-15
targets/RT/USER/eNB_transport_IQ.c
targets/RT/USER/eNB_transport_IQ.c
+127
-223
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+175
-77
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+3
-3
targets/RT/USER/rrh.gtkw
targets/RT/USER/rrh.gtkw
+92
-16
targets/RT/USER/rrh_gw.c
targets/RT/USER/rrh_gw.c
+89
-70
targets/RT/USER/rrh_gw_externs.h
targets/RT/USER/rrh_gw_externs.h
+1
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
33d9e8f2
This diff is collapsed.
Click to expand it.
cmake_targets/autotests/test_case_list.xml
View file @
33d9e8f2
This diff is collapsed.
Click to expand it.
cmake_targets/build_oai
View file @
33d9e8f2
This diff is collapsed.
Click to expand it.
cmake_targets/rrh_gw/CMakeLists.txt
deleted
100644 → 0
View file @
cac00e34
cmake_minimum_required
(
VERSION 2.8
)
set
(
ENABLE_VCD_FIFO False
)
set
(
ENABLE_ITTI False
)
set
(
RF_BOARD
"ETHERNET"
)
set
(
PACKAGE_NAME
"
\"
rrh_gw
\"
"
)
include
(
${
CMAKE_CURRENT_SOURCE_DIR
}
/../CMakeLists.txt
)
cmake_targets/tools/build_helper
View file @
33d9e8f2
...
...
@@ -180,7 +180,7 @@ check_install_bladerf_driver(){
$SUDO apt-get install -y bladerf libbladerf-dev
$SUDO apt-get install -y bladerf-firmware-fx3
$SUDO apt-get install -y bladerf-fpga-hostedx40
bladeRF-cli --flash-firmware /usr/share/Nuand/bladeRF/bladeRF_fw.img
$SUDO
bladeRF-cli --flash-firmware /usr/share/Nuand/bladeRF/bladeRF_fw.img
}
check_install_additional_tools (){
...
...
@@ -380,3 +380,21 @@ done
}
# get from http://www.linuxjournal.com/content/validating-ip-address-bash-script
validate_ip() {
local ip=$1
local stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \
&& ${ip[2]} -le 255 && ${ip[3]} -le 255 ]]
stat=$?
fi
return $stat
}
\ No newline at end of file
openair1/PHY/LTE_REFSIG/primary_synch.h
View file @
33d9e8f2
/*******************************************************************************
OpenAirInterface
Copyright(c) 1999 - 2014 Eurecom
OpenAirInterface is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenAirInterface is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OpenAirInterface.The full GNU General Public License is
included in this distribution in the file called "COPYING". If not,
see <http://www.gnu.org/licenses/>.
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
*******************************************************************************/
short
primary_synch0
[
144
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
32767
,
0
,
-
26120
,
-
19785
,
11971
,
-
30502
,
-
24020
,
-
22288
,
32117
,
6492
,
31311
,
9658
,
-
16384
,
-
28378
,
25100
,
-
21063
,
-
7292
,
-
31946
,
20429
,
25618
,
14948
,
29158
,
11971
,
-
30502
,
31311
,
9658
,
25100
,
-
21063
,
-
16384
,
28377
,
-
24020
,
22287
,
32117
,
6492
,
-
7292
,
31945
,
20429
,
25618
,
-
26120
,
-
19785
,
-
16384
,
-
28378
,
-
16384
,
28377
,
-
26120
,
-
19785
,
-
32402
,
4883
,
31311
,
-
9659
,
32117
,
6492
,
-
7292
,
-
31946
,
32767
,
-
1
,
25100
,
-
21063
,
-
24020
,
22287
,
-
32402
,
4883
,
-
32402
,
4883
,
-
24020
,
22287
,
25100
,
-
21063
,
32767
,
-
1
,
-
7292
,
-
31946
,
32117
,
6492
,
31311
,
-
9659
,
-
32402
,
4883
,
-
26120
,
-
19785
,
-
16384
,
28377
,
-
16384
,
-
28378
,
-
26120
,
-
19785
,
20429
,
25618
,
-
7292
,
31945
,
32117
,
6492
,
-
24020
,
22287
,
-
16384
,
28377
,
25100
,
-
21063
,
31311
,
9658
,
11971
,
-
30502
,
14948
,
29158
,
20429
,
25618
,
-
7292
,
-
31946
,
25100
,
-
21063
,
-
16384
,
-
28378
,
31311
,
9658
,
32117
,
6492
,
-
24020
,
-
22288
,
11971
,
-
30502
,
-
26120
,
-
19785
,
32767
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
short
primary_synch1
[
144
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
32767
,
0
,
-
31754
,
-
8086
,
-
24020
,
-
22288
,
2448
,
32675
,
-
26120
,
19784
,
27073
,
18458
,
-
16384
,
28377
,
25100
,
21062
,
-
29523
,
14217
,
-
7292
,
31945
,
-
13477
,
-
29868
,
-
24020
,
-
22288
,
27073
,
18458
,
25100
,
21062
,
-
16384
,
-
28378
,
2448
,
-
32676
,
-
26120
,
19784
,
-
29523
,
-
14218
,
-
7292
,
31945
,
-
31754
,
-
8086
,
-
16384
,
28377
,
-
16384
,
-
28378
,
-
31754
,
-
8086
,
31311
,
-
9659
,
27073
,
-
18459
,
-
26120
,
19784
,
-
29523
,
14217
,
32767
,
-
1
,
25100
,
21062
,
2448
,
-
32676
,
31311
,
-
9659
,
31311
,
-
9659
,
2448
,
-
32676
,
25100
,
21062
,
32767
,
0
,
-
29523
,
14217
,
-
26120
,
19784
,
27073
,
-
18459
,
31311
,
-
9659
,
-
31754
,
-
8086
,
-
16384
,
-
28378
,
-
16384
,
28377
,
-
31754
,
-
8086
,
-
7292
,
31945
,
-
29523
,
-
14218
,
-
26120
,
19784
,
2448
,
-
32676
,
-
16384
,
-
28378
,
25100
,
21062
,
27073
,
18458
,
-
24020
,
-
22288
,
-
13477
,
-
29868
,
-
7292
,
31945
,
-
29523
,
14217
,
25100
,
21062
,
-
16384
,
28377
,
27073
,
18458
,
-
26120
,
19784
,
2448
,
32675
,
-
24020
,
-
22288
,
-
31754
,
-
8086
,
32767
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
short
primary_synch2
[
144
]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
32767
,
0
,
-
31754
,
8085
,
-
24020
,
22287
,
2448
,
-
32676
,
-
26120
,
-
19785
,
27073
,
-
18459
,
-
16384
,
-
28378
,
25100
,
-
21063
,
-
29523
,
-
14218
,
-
7292
,
-
31946
,
-
13477
,
29867
,
-
24020
,
22287
,
27073
,
-
18459
,
25100
,
-
21063
,
-
16384
,
28377
,
2448
,
32675
,
-
26120
,
-
19785
,
-
29523
,
14217
,
-
7292
,
-
31946
,
-
31754
,
8085
,
-
16384
,
-
28378
,
-
16384
,
28377
,
-
31754
,
8085
,
31311
,
9658
,
27073
,
18458
,
-
26120
,
-
19785
,
-
29523
,
-
14218
,
32767
,
0
,
25100
,
-
21063
,
2448
,
32675
,
31311
,
9658
,
31311
,
9658
,
2448
,
32675
,
25100
,
-
21063
,
32767
,
0
,
-
29523
,
-
14218
,
-
26120
,
-
19785
,
27073
,
18458
,
31311
,
9658
,
-
31754
,
8085
,
-
16384
,
28377
,
-
16384
,
-
28378
,
-
31754
,
8085
,
-
7292
,
-
31946
,
-
29523
,
14217
,
-
26120
,
-
19785
,
2448
,
32675
,
-
16384
,
28377
,
25100
,
-
21063
,
27073
,
-
18459
,
-
24020
,
22287
,
-
13477
,
29867
,
-
7292
,
-
31946
,
-
29523
,
-
14218
,
25100
,
-
21063
,
-
16384
,
-
28378
,
27073
,
-
18459
,
-
26120
,
-
19785
,
2448
,
-
32676
,
-
24020
,
22287
,
-
31754
,
8085
,
32767
,
-
1
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
...
...
openair1/PHY/LTE_TRANSPORT/initial_sync.c
View file @
33d9e8f2
...
...
@@ -48,7 +48,7 @@
#include "gain_control.h"
#endif
#if defined(OAI_USRP) || defined(EXMIMO)
#if defined(OAI_USRP) || defined(EXMIMO)
|| defined(OAI_LMSSDR)
#include "common_lib.h"
extern
openair0_config_t
openair0_cfg
[];
#endif
...
...
@@ -291,17 +291,10 @@ int initial_sync(PHY_VARS_UE *phy_vars_ue, runmode_t mode)
frame_parms
->
Ncp
=
NORMAL
;
frame_parms
->
frame_type
=
FDD
;
init_frame_parms
(
frame_parms
,
1
);
// write_output("rxdata0.m","rxd0",phy_vars_ue->lte_ue_common_vars.rxdata[0],10*frame_parms->samples_per_tti,1,1);
/*#ifdef OAI_USRP
for (aarx = 0; aarx<frame_parms->nb_antennas_rx;aarx++) {
rxdata128 = (__m128i*)phy_vars_ue->lte_ue_common_vars.rxdata[aarx];
for (i=0; i<(frame_parms->samples_per_tti*10)>>2; i++) {
rxdata128[i] = _mm_srai_epi16(rxdata128[i],4);
}
}
#endif*/
/*
write_output("rxdata0.m","rxd0",phy_vars_ue->lte_ue_common_vars.rxdata[0],10*frame_parms->samples_per_tti,1,1);
exit(-1);
*/
sync_pos
=
lte_sync_time
(
phy_vars_ue
->
lte_ue_common_vars
.
rxdata
,
frame_parms
,
(
int
*
)
&
phy_vars_ue
->
lte_ue_common_vars
.
eNb_id
);
...
...
@@ -336,9 +329,11 @@ int initial_sync(PHY_VARS_UE *phy_vars_ue, runmode_t mode)
#else
#ifndef OAI_USRP
#ifndef OAI_BLADERF
#ifndef OAI_BLADERF
#ifndef OAI_LMSSDR
phy_adjust_gain
(
phy_vars_ue
,
0
);
#endif
#endif
#endif
#endif
#endif
...
...
@@ -569,7 +564,7 @@ int initial_sync(PHY_VARS_UE *phy_vars_ue, runmode_t mode)
phy_vars_ue
->
lte_frame_parms
.
phich_config_common
.
phich_duration
,
phich_string
[
phy_vars_ue
->
lte_frame_parms
.
phich_config_common
.
phich_resource
],
phy_vars_ue
->
lte_frame_parms
.
nb_antennas_tx_eNB
);
#if defined(OAI_USRP) || defined(EXMIMO)
#if defined(OAI_USRP) || defined(EXMIMO)
|| defined(OAI_LMSSDR)
LOG_I
(
PHY
,
"[UE %d] Frame %d Measured Carrier Frequency %.0f Hz (offset %d Hz)
\n
"
,
phy_vars_ue
->
Mod_id
,
phy_vars_ue
->
frame_rx
,
...
...
openair1/PHY/LTE_TRANSPORT/print_stats.c
View file @
33d9e8f2
...
...
@@ -50,7 +50,7 @@
#endif
extern
int
mac_get_rrc_status
(
uint8_t
Mod_id
,
uint8_t
eNB_flag
,
uint8_t
index
);
#if defined(OAI_USRP) || defined(EXMIMO) || defined(OAI_BLADERF)
#if defined(OAI_USRP) || defined(EXMIMO) || defined(OAI_BLADERF)
|| defined(OAI_LMSSDR)
#include "common_lib.h"
extern
openair0_config_t
openair0_cfg
[];
#endif
...
...
@@ -97,10 +97,10 @@ int dump_ue_stats(PHY_VARS_UE *phy_vars_ue, char* buffer, int length, runmode_t
#ifdef EXMIMO
len
+=
sprintf
(
&
buffer
[
len
],
"[UE PROC] RX Gain %d dB (LNA %d, vga %d dB)
\n
"
,
phy_vars_ue
->
rx_total_gain_dB
,
openair0_cfg
[
0
].
rxg_mode
[
0
],(
int
)
openair0_cfg
[
0
].
rx_gain
[
0
]);
#endif
#if defined(OAI_USRP) || defined(OAI_BLADERF)
#if defined(OAI_USRP) || defined(OAI_BLADERF)
|| defined(OAI_LMSSDR)
len
+=
sprintf
(
&
buffer
[
len
],
"[UE PROC] RX Gain %d dB
\n
"
,
phy_vars_ue
->
rx_total_gain_dB
);
#endif
#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF)
#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF)
|| defined(OAI_LMSSDR)
len
+=
sprintf
(
&
buffer
[
len
],
"[UE_PROC] Frequency offset %d Hz (%d), estimated carrier frequency %f Hz
\n
"
,
phy_vars_ue
->
lte_ue_common_vars
.
freq_offset
,
openair_daq_vars
.
freq_offset
,
openair0_cfg
[
0
].
rx_freq
[
0
]
-
phy_vars_ue
->
lte_ue_common_vars
.
freq_offset
);
#endif
len
+=
sprintf
(
&
buffer
[
len
],
"[UE PROC] UE mode = %s (%d)
\n
"
,
mode_string
[
phy_vars_ue
->
UE_mode
[
0
]],
phy_vars_ue
->
UE_mode
[
0
]);
...
...
openair1/PHY/TOOLS/lte_phy_scope.c
View file @
33d9e8f2
...
...
@@ -88,7 +88,7 @@ FD_lte_phy_scope_enb *create_lte_phy_scope_enb( void )
fl_set_object_boxtype
(
fdui
->
rxsig_t
,
FL_EMBOSSED_BOX
);
fl_set_object_color
(
fdui
->
rxsig_t
,
FL_BLACK
,
FL_RED
);
fl_set_object_lcolor
(
fdui
->
rxsig_t
,
FL_WHITE
);
// Label color
fl_set_xyplot_ybounds
(
fdui
->
rxsig_t
,
3
0
,
70
);
fl_set_xyplot_ybounds
(
fdui
->
rxsig_t
,
1
0
,
70
);
// Time-domain channel response
fdui
->
chest_t
=
fl_add_xyplot
(
FL_NORMAL_XYPLOT
,
410
,
20
,
370
,
100
,
"Channel Impulse Response (samples, abs)"
);
...
...
@@ -396,7 +396,7 @@ FD_lte_phy_scope_ue *create_lte_phy_scope_ue( void )
fl_set_object_boxtype
(
fdui
->
rxsig_t
,
FL_EMBOSSED_BOX
);
fl_set_object_color
(
fdui
->
rxsig_t
,
FL_BLACK
,
FL_RED
);
fl_set_object_lcolor
(
fdui
->
rxsig_t
,
FL_WHITE
);
// Label color
fl_set_xyplot_ybounds
(
fdui
->
rxsig_t
,
3
0
,
70
);
fl_set_xyplot_ybounds
(
fdui
->
rxsig_t
,
1
0
,
70
);
// Time-domain channel response
fdui
->
chest_t
=
fl_add_xyplot
(
FL_NORMAL_XYPLOT
,
410
,
20
,
370
,
100
,
"Channel Impulse Response (samples, abs)"
);
...
...
openair1/PHY/defs.h
View file @
33d9e8f2
...
...
@@ -76,6 +76,13 @@
#define openair_free(y,x) free((y))
#define PAGE_SIZE 4096
//#ifdef SHRLIBDEV
//extern int rxrescale;
//#define RX_IQRESCALELEN rxrescale
//#else
//#define RX_IQRESCALELEN 15
//#endif
//! \brief Allocate \c size bytes of memory on the heap with alignment 16 and zero it afterwards.
//! If no more memory is available, this function will terminate the program with an assertion error.
static
inline
void
*
malloc16_clear
(
size_t
size
)
...
...
openair1/PHY/impl_defs_top.h
View file @
33d9e8f2
...
...
@@ -44,7 +44,14 @@
/** @defgroup _ref_implementation_ OpenAirInterface LTE Implementation
* @{
* @defgroup _PHY_RF_INTERFACE_ Generic PHY - RF Interface
* @defgroup _PHY_RF_INTERFACE_ PHY - RF Interface
* @ingroup _PHY_RF_INTERFACE_
* @{
* @defgroup _GENERIC_PHY_RF_INTERFACE_ Generic PHY - RF Interface
* @defgroup _USRP_PHY_RF_INTERFACE_ PHY - USRP RF Interface
* @defgroup _BLADERF_PHY_RF_INTERFACE_ PHY - BLADERF RF Interface
* @}
*
* @ingroup _ref_implementation_
* @{
* This module is responsible for defining the generic interface between PHY and RF Target
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
33d9e8f2
...
...
@@ -121,7 +121,7 @@ extern int rx_sig_fifo;
#endif
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
extern
uint32_t
downlink_frequency
[
MAX_NUM_CCs
][
4
];
#endif
...
...
@@ -197,7 +197,7 @@ void dump_dlsch_SI(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t subframe)
exit
(
-
1
);
}
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
//unsigned int gain_table[31] = {100,112,126,141,158,178,200,224,251,282,316,359,398,447,501,562,631,708,794,891,1000,1122,1258,1412,1585,1778,1995,2239,2512,2818,3162};
/*
unsigned int get_tx_amp_prach(int power_dBm, int power_max_dBm, int N_RB_UL)
...
...
@@ -669,7 +669,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
uint8_t
ack_status
=
0
;
int8_t
Po_PUCCH
;
int32_t
ulsch_start
=
0
;
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
int
overflow
=
0
;
int
k
,
l
;
#endif
...
...
@@ -969,7 +969,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
#endif
phy_vars_ue
->
tx_total_RE
=
nb_rb
*
12
;
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
tx_amp
=
get_tx_amp
(
phy_vars_ue
->
tx_power_dBm
,
phy_vars_ue
->
tx_power_max_dBm
,
phy_vars_ue
->
lte_frame_parms
.
N_RB_UL
,
...
...
@@ -1065,7 +1065,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
#endif
phy_vars_ue
->
tx_total_RE
=
12
;
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
tx_amp
=
get_tx_amp
(
Po_PUCCH
,
phy_vars_ue
->
tx_power_max_dBm
,
phy_vars_ue
->
lte_frame_parms
.
N_RB_UL
,
...
...
@@ -1128,7 +1128,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
#endif
phy_vars_ue
->
tx_total_RE
=
12
;
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
tx_amp
=
get_tx_amp
(
Po_PUCCH
,
phy_vars_ue
->
tx_power_max_dBm
,
phy_vars_ue
->
lte_frame_parms
.
N_RB_UL
,
...
...
@@ -1230,7 +1230,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
if
(
abstraction_flag
==
0
)
{
nsymb
=
(
frame_parms
->
Ncp
==
0
)
?
14
:
12
;
#if defined(EXMIMO) || defined(OAI_USRP) //this is the EXPRESS MIMO case
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
//this is the EXPRESS MIMO case
ulsch_start
=
(
phy_vars_ue
->
rx_offset
+
subframe_tx
*
frame_parms
->
samples_per_tti
-
openair_daq_vars
.
timing_advance
-
phy_vars_ue
->
timing_advance
-
...
...
@@ -1257,7 +1257,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
for
(
aa
=
0
;
aa
<
frame_parms
->
nb_antennas_tx
;
aa
++
)
{
if
(
frame_parms
->
Ncp
==
1
)
PHY_ofdm_mod
(
&
phy_vars_ue
->
lte_ue_common_vars
.
txdataF
[
aa
][
subframe_tx
*
nsymb
*
frame_parms
->
ofdm_symbol_size
],
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
dummy_tx_buffer
,
#else
&
phy_vars_ue
->
lte_ue_common_vars
.
txdata
[
aa
][
ulsch_start
],
...
...
@@ -1268,7 +1268,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
CYCLIC_PREFIX
);
else
normal_prefix_mod
(
&
phy_vars_ue
->
lte_ue_common_vars
.
txdataF
[
aa
][
subframe_tx
*
nsymb
*
frame_parms
->
ofdm_symbol_size
],
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
dummy_tx_buffer
,
#else
&
phy_vars_ue
->
lte_ue_common_vars
.
txdata
[
aa
][
ulsch_start
],
...
...
@@ -1289,7 +1289,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
}
*/
#ifndef OFDMA_ULSCH
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
apply_7_5_kHz
(
phy_vars_ue
,
dummy_tx_buffer
,
0
);
apply_7_5_kHz
(
phy_vars_ue
,
dummy_tx_buffer
,
1
);
#else
...
...
@@ -1304,7 +1304,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
*/
#endif
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
overflow
=
ulsch_start
-
9
*
frame_parms
->
samples_per_tti
;
//if ((slot_tx==4) && (aa==0)) printf("ulsch_start %d, overflow %d\n",ulsch_start,overflow);
...
...
@@ -1404,7 +1404,7 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
phy_vars_ue
->
tx_total_RE
=
96
;
#if defined(EXMIMO) || defined(OAI_USRP)
#if defined(EXMIMO) || defined(OAI_USRP)
|| defined(OAI_BLADERF) || defined(OAI_LMSSDR)
phy_vars_ue
->
lte_ue_prach_vars
[
eNB_id
]
->
amp
=
get_tx_amp
(
phy_vars_ue
->
tx_power_dBm
,
phy_vars_ue
->
tx_power_max_dBm
,
phy_vars_ue
->
lte_frame_parms
.
N_RB_UL
,
...
...
@@ -1553,9 +1553,11 @@ void lte_ue_measurement_procedures(uint16_t l, PHY_VARS_UE *phy_vars_ue,uint8_t
#else
#ifndef OAI_USRP
#ifndef OAI_BLADERF
#ifndef OAI_BLADERF
#ifndef OAI_LMSSDR
phy_adjust_gain
(
phy_vars_ue
,
0
);
#endif
#endif
#endif
#endif
#endif
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GAIN_CONTROL
,
VCD_FUNCTION_OUT
);
...
...
openair1/SIMULATION/LTE_PHY/dlsim.c
View file @
33d9e8f2
...
...
@@ -656,7 +656,17 @@ int main(int argc, char **argv)
printf
(
"dual_stream_UE=%d
\n
"
,
dual_stream_UE
);
}
lte_param_init
(
n_tx
,
n_rx
,
transmission_mode
,
extended_prefix_flag
,
frame_type
,
Nid_cell
,
tdd_config
,
N_RB_DL
,
threequarter_fs
,
osf
,
perfect_ce
);
lte_param_init
(
n_tx
,
n_rx
,
transmission_mode
,
extended_prefix_flag
,
frame_type
,
Nid_cell
,
tdd_config
,
N_RB_DL
,
threequarter_fs
,
osf
,
perfect_ce
);
...
...
openair1/SIMULATION/LTE_PHY/ulsim.c
View file @
33d9e8f2
...
...
@@ -194,6 +194,7 @@ int main(int argc, char **argv)
int
nb_rb_set
=
0
;
int
sf
;
int
threequarter_fs
=
0
;
opp_enabled
=
1
;
// to enable the time meas
cpu_freq_GHz
=
(
double
)
get_cpu_freq_GHz
();
...
...
@@ -203,7 +204,7 @@ int main(int argc, char **argv)
logInit
();
while
((
c
=
getopt
(
argc
,
argv
,
"hapZbm:n:Y:X:x:s:w:e:q:d:D:O:c:r:i:f:y:c:oA:C:R:g:N:l:S:T:QB:PI:L"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"hapZ
E
bm:n:Y:X:x:s:w:e:q:d:D:O:c:r:i:f:y:c:oA:C:R:g:N:l:S:T:QB:PI:L"
))
!=
-
1
)
{
switch
(
c
)
{
case
'a'
:
channel_model
=
AWGN
;
...
...
@@ -373,6 +374,10 @@ int main(int argc, char **argv)
cyclic_shift
=
atoi
(
optarg
);
break
;
case
'E'
:
threequarter_fs
=
1
;
break
;
case
'N'
:
N0
=
atoi
(
optarg
);
break
;
...
...
@@ -470,6 +475,7 @@ int main(int argc, char **argv)
0
,
tdd_config
,
N_RB_DL
,
threequarter_fs
,
osf
,
0
);
...
...
openair2/ENB_APP/enb_config.c
View file @
33d9e8f2
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_config.h
View file @
33d9e8f2
...
...
@@ -78,6 +78,24 @@ typedef struct mme_ip_address_s {
char
*
ipv6_address
;
}
mme_ip_address_t
;
typedef
struct
rrh_gw_config_s
{
unsigned
udp
:
1
;
unsigned
raw
:
1
;
unsigned
active
:
1
;
char
*
local_address
;
char
*
remote_address
;
uint16_t
local_port
;
uint16_t
remote_port
;
int
tx_scheduling_advance
;
int
tx_sample_advance
;
int
iq_txshift
;
unsigned
exmimo
:
1
;
unsigned
usrp_b200
:
1
;
unsigned
usrp_x300
:
1
;
unsigned
bladerf
:
1
;
unsigned
lmssdr
:
1
;
}
rrh_gw_config_t
;
typedef
struct
Enb_properties_s
{
/* Unique eNB_id to identify the eNB within EPC.
* For macro eNB ids this field should be 20 bits long.
...
...
@@ -203,6 +221,13 @@ typedef struct Enb_properties_s {
char
*
enb_interface_name_for_S1_MME
;
in_addr_t
enb_ipv4_address_for_S1_MME
;
/* Nb of RRH to connect to */
uint8_t
nb_rrh_gw
;
char
*
rrh_gw_if_name
;
/* List of MME to connect to */
rrh_gw_config_t
rrh_gw_config
[
4
];
// otg config
/* Nb of OTG elements */
uint8_t
num_otg_elements
;
...
...
openair2/UTIL/LOG/vcd_signal_dumper.c
View file @
33d9e8f2
...
...
@@ -106,6 +106,9 @@ const char* eurecomVariablesNames[] = {
"lhw_cnt_tx"
,
"pck_rx"
,
"pck_tx"
,
"rx_seq_num"
,
"rx_seq_num_prv"
,
"tx_seq_num"
,
"cnt"
,
"dummy_dump"
,
"itti_send_msg"
,
...
...
openair2/UTIL/LOG/vcd_signal_dumper.h
View file @
33d9e8f2
...
...
@@ -78,6 +78,9 @@ typedef enum {
VCD_SIGNAL_DUMPER_VARIABLES_TX_LHWCNT
,
VCD_SIGNAL_DUMPER_VARIABLES_RX_PCK
,
VCD_SIGNAL_DUMPER_VARIABLES_TX_PCK
,
VCD_SIGNAL_DUMPER_VARIABLES_RX_SEQ_NUM
,
VCD_SIGNAL_DUMPER_VARIABLES_RX_SEQ_NUM_PRV
,
VCD_SIGNAL_DUMPER_VARIABLES_TX_SEQ_NUM
,
VCD_SIGNAL_DUMPER_VARIABLES_CNT
,
VCD_SIGNAL_DUMPER_VARIABLES_DUMMY_DUMP
,
VCD_SIGNAL_DUMPER_VARIABLE_ITTI_SEND_MSG
,
...
...
targets/ARCH/BLADERF/USERSPACE/LIB/bladerf_lib.c
View file @
33d9e8f2
...
...
@@ -38,6 +38,11 @@
#include <inttypes.h>
#include "bladerf_lib.h"
/** @addtogroup _BLADERF_PHY_RF_INTERFACE_
* @{
*/
//! Number of BladeRF devices
#ifdef __SSE4_1__
# include <smmintrin.h>
#endif
...
...
@@ -47,13 +52,21 @@
#endif
int
num_devices
=
0
;
/*These items configure the underlying asynch stream used by the the sync interface.
*/
int
trx_brf_init
(
openair0_device
*
openair0
)
{
/*! \brief BladeRF Init function (not used at the moment)
* \param device RF frontend parameters set by application
*/
int
trx_brf_init
(
openair0_device
*
device
)
{
}
/*! \brief get current timestamp
*\param device the hardware to use
*\param module the bladeRf module
*/
openair0_timestamp
trx_get_timestamp
(
openair0_device
*
device
,
bladerf_module
module
)
{
int
status
;
...
...
@@ -69,18 +82,31 @@ openair0_timestamp trx_get_timestamp(openair0_device *device, bladerf_module mod
return
meta
.
timestamp
;
}
int
trx_brf_start
(
openair0_device
*
openair0
)
{
/*! \brief Start BladeRF
*\param device the hardware to use
*/
int
trx_brf_start
(
openair0_device
*
device
)
{
return
0
;
}
/*! \brief Get BladeRF stats
*\param device the hardware to use
*/
static
void
trx_brf_stats
(
openair0_device
*
device
){
}
static
int
trx_brf_write
(
openair0_device
*
device
,
openair0_timestamp
ptimestamp
,
void
**
buff
,
int
nsamps
,
int
cc
)
{
/*! \brief Called to send samples to the BladeRF RF target
@param device pointer to the device structure specific to the RF hardware target
@param timestamp The timestamp at whicch the first sample MUST be sent
@param buff Buffer which holds the samples
@param nsamps number of samples to be sent
@param cc index of the component carrier
@param flags Ignored for the moment
*/
static
int
trx_brf_write
(
openair0_device
*
device
,
openair0_timestamp
ptimestamp
,
void
**
buff
,
int
nsamps
,
int
cc
,
int
flags
)
{
int
status
;
brf_state_t
*
brf
=
(
brf_state_t
*
)
device
->
priv
;
...
...
@@ -121,6 +147,16 @@ static int trx_brf_write(openair0_device *device,openair0_timestamp ptimestamp,
return
(
0
);
}
/*! \brief Receive samples from hardware.
* Read \ref nsamps samples from each channel to buffers. buff[0] is the array for
* the first channel. *ptimestamp is the time at which the first sample
* was received.
* \param device the hardware to use
* \param[out] ptimestamp the time at which the first sample was received.
* \param[out] buff An array of pointers to buffers for received samples. The buffers must be large enough to hold the number of samples \ref nsamps.
* \param nsamps Number of samples. One sample is 2 byte I + 2 byte Q => 4 byte.
* \param cc Index of component carrier
*/
static
int
trx_brf_read
(
openair0_device
*
device
,
openair0_timestamp
*
ptimestamp
,
void
**
buff
,
int
nsamps
,
int
cc
)
{
int
status
=
0
;
...
...
@@ -157,6 +193,9 @@ static int trx_brf_read(openair0_device *device, openair0_timestamp *ptimestamp,
}
/*! \brief Terminate operation of the BladeRF transceiver -- free all associated resources
* \param device the hardware to use
*/
int
trx_brf_end
(
openair0_device
*
device
)
{
int
status
;
...
...
@@ -172,25 +211,39 @@ int trx_brf_end(openair0_device *device) {
return
0
;
}
/*! \brief print the BladeRF statistics
* \param device the hardware to use
* \returns 0 on success
*/
int
trx_brf_get_stats
(
openair0_device
*
device
)
{
return
(
0
);
}
/*! \brief Reset the BladeRF statistics
* \param device the hardware to use
* \returns 0 on success
*/
int
trx_brf_reset_stats
(
openair0_device
*
device
)
{
return
(
0
);
}
/*! \brief Stop USRP
* \param device the hardware to use
*/
int
trx_brf_stop
(
openair0_device
*
device
)
{
return
(
0
);
}
/*! \brief Set frequencies (TX/RX)
* \param device the hardware to use
* \returns 0 in success
*/
int
trx_brf_set_freq
(
openair0_device
*
device
)
{
int
status
;
...
...
@@ -213,12 +266,19 @@ int trx_brf_set_freq(openair0_device* device) {
return
(
0
);
}
/*! \brief Set Gains (TX/RX)
* \param device the hardware to use
* \returns 0 in success
*/
int
trx_brf_set_gains
(
openair0_device
*
device
)
{
return
(
0
);
}
#define RXDCLENGTH 16384
int16_t
cos_fsover8
[
8
]
=
{
2047
,
1447
,
0
,
-
1448
,
-
2047
,
-
1448
,
0
,
1447
};
int16_t
cos_3fsover8
[
8
]
=
{
2047
,
-
1448
,
0
,
1447
,
-
2047
,
1447
,
0
,
-
1448
};
...
...
@@ -822,15 +882,23 @@ void calibrate_rf(openair0_device *device) {
// write_output("blade_rf_test.m","rxs",calib_buff,RXDCLENGTH,1,1);