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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG-RAN
Commits
929d71d0
Commit
929d71d0
authored
Feb 22, 2019
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/uhd_3131_fix' into develop_integration_2019_w08
parents
c1308c61
8fc1a61e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
34 additions
and
34 deletions
+34
-34
README.txt
README.txt
+1
-0
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+13
-6
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+20
-28
No files found.
README.txt
View file @
929d71d0
...
@@ -62,3 +62,4 @@ v1.0.0 -> January 2019. This version first implements the architectural split de
...
@@ -62,3 +62,4 @@ v1.0.0 -> January 2019. This version first implements the architectural split de
New tools: config library, telnet server, ...
New tools: config library, telnet server, ...
A lot of bugfixes and a proper automated Continuous Integration process validates contributions.
A lot of bugfixes and a proper automated Continuous Integration process validates contributions.
v1.0.1 -> February 2019: Bug fix for the UE L1 simulator.
v1.0.1 -> February 2019: Bug fix for the UE L1 simulator.
v1.0.2 -> February 2019: Full OAI support for 3.13.1 UHD
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
929d71d0
...
@@ -28,7 +28,12 @@
...
@@ -28,7 +28,12 @@
#include <pthread.h>
#include <pthread.h>
#include <unistd.h>
#include <unistd.h>
#include <stdio.h>
#include <stdio.h>
#include <uhd/version.hpp>
#if UHD_VERSION < 3110000
#include <uhd/utils/thread_priority.hpp>
#include <uhd/utils/thread_priority.hpp>
#else
#include <uhd/utils/thread.hpp>
#endif
#include <uhd/usrp/multi_usrp.hpp>
#include <uhd/usrp/multi_usrp.hpp>
#include <uhd/version.hpp>
#include <uhd/version.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/lexical_cast.hpp>
...
@@ -183,7 +188,7 @@ static int sync_to_gps(openair0_device *device) {
...
@@ -183,7 +188,7 @@ static int sync_to_gps(openair0_device *device) {
num_gps_locked
++
;
num_gps_locked
++
;
std
::
cout
<<
boost
::
format
(
"GPS Locked
\n
"
);
std
::
cout
<<
boost
::
format
(
"GPS Locked
\n
"
);
}
else
{
}
else
{
std
::
cerr
<<
"WARNING: GPS not locked - time will not be accurate until locked"
<<
std
::
endl
;
LOG_W
(
HW
,
"WARNING: GPS not locked - time will not be accurate until locked
\n
"
)
;
}
}
//Set to GPS time
//Set to GPS time
...
@@ -724,6 +729,7 @@ void *freq_thread(void *arg) {
...
@@ -724,6 +729,7 @@ void *freq_thread(void *arg) {
usrp_state_t
*
s
=
(
usrp_state_t
*
)
device
->
priv
;
usrp_state_t
*
s
=
(
usrp_state_t
*
)
device
->
priv
;
s
->
usrp
->
set_tx_freq
(
device
->
openair0_cfg
[
0
].
tx_freq
[
0
]);
s
->
usrp
->
set_tx_freq
(
device
->
openair0_cfg
[
0
].
tx_freq
[
0
]);
s
->
usrp
->
set_rx_freq
(
device
->
openair0_cfg
[
0
].
rx_freq
[
0
]);
s
->
usrp
->
set_rx_freq
(
device
->
openair0_cfg
[
0
].
rx_freq
[
0
]);
return
NULL
;
}
}
/*! \brief Set frequencies (TX/RX). Spawns a thread to handle the frequency change to not block the calling thread
/*! \brief Set frequencies (TX/RX). Spawns a thread to handle the frequency change to not block the calling thread
* \param device the hardware to use
* \param device the hardware to use
...
@@ -1073,16 +1079,16 @@ extern "C" {
...
@@ -1073,16 +1079,16 @@ extern "C" {
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
)
{
std
::
cerr
<<
"No USRP Device Found. "
<<
std
::
endl
;
LOG_E
(
HW
,
"No USRP Device Found.
\n
"
)
;
free
(
s
);
free
(
s
);
return
-
1
;
return
-
1
;
}
else
if
(
device_adds
.
size
()
>
1
)
{
}
else
if
(
device_adds
.
size
()
>
1
)
{
std
::
cerr
<<
"More than one USRP Device Found. Please specify device more precisely in config file."
<<
std
::
endl
;
LOG_E
(
HW
,
"More than one USRP Device Found. Please specify device more precisely in config file.
\n
"
)
;
free
(
s
);
free
(
s
);
return
-
1
;
return
-
1
;
}
}
std
::
cerr
<<
"Found USRP "
<<
device_adds
[
0
].
get
(
"type"
)
<<
"
\n
"
;
LOG_I
(
HW
,
"Found USRP %s
\n
"
,
device_adds
[
0
].
get
(
"type"
).
c_str
())
;
double
usrp_master_clock
;
double
usrp_master_clock
;
if
(
device_adds
[
0
].
get
(
"type"
)
==
"b200"
)
{
if
(
device_adds
[
0
].
get
(
"type"
)
==
"b200"
)
{
...
@@ -1090,7 +1096,7 @@ extern "C" {
...
@@ -1090,7 +1096,7 @@ extern "C" {
device
->
type
=
USRP_B200_DEV
;
device
->
type
=
USRP_B200_DEV
;
usrp_master_clock
=
30.72e6
;
usrp_master_clock
=
30.72e6
;
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=
15360, recv_frame_size=1536
0"
;
args
+=
",num_send_frames=256,num_recv_frames=256, send_frame_size=
7680, recv_frame_size=768
0"
;
}
}
if
(
device_adds
[
0
].
get
(
"type"
)
==
"n3xx"
)
{
if
(
device_adds
[
0
].
get
(
"type"
)
==
"n3xx"
)
{
...
@@ -1287,8 +1293,9 @@ extern "C" {
...
@@ -1287,8 +1293,9 @@ extern "C" {
samples
/=
10000
;
samples
/=
10000
;
LOG_I
(
PHY
,
"RF board max packet size %u, size for 100µs jitter %d
\n
"
,
max
,
samples
);
LOG_I
(
PHY
,
"RF board max packet size %u, size for 100µs jitter %d
\n
"
,
max
,
samples
);
if
(
samples
<
max
)
if
(
samples
<
max
)
{
stream_args_rx
.
args
[
"spp"
]
=
str
(
boost
::
format
(
"%d"
)
%
samples
);
stream_args_rx
.
args
[
"spp"
]
=
str
(
boost
::
format
(
"%d"
)
%
samples
);
}
LOG_I
(
PHY
,
"rx_max_num_samps %zu
\n
"
,
LOG_I
(
PHY
,
"rx_max_num_samps %zu
\n
"
,
s
->
usrp
->
get_rx_stream
(
stream_args_rx
)
->
get_max_num_samps
());
s
->
usrp
->
get_rx_stream
(
stream_args_rx
)
->
get_max_num_samps
());
...
...
targets/RT/USER/lte-ru.c
View file @
929d71d0
/*******************************************************************************
/*
OpenAirInterface
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
Copyright(c) 1999 - 2014 Eurecom
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
OpenAirInterface is free software: you can redistribute it and/or modify
* The OpenAirInterface Software Alliance licenses this file to You under
it under the terms of the GNU General Public License as published by
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
the Free Software Foundation, either version 3 of the License, or
* except in compliance with the License.
(at your option) any later version.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
OpenAirInterface is distributed in the hope that it will be useful,
*
but WITHOUT ANY WARRANTY; without even the implied warranty of
* Unless required by applicable law or agreed to in writing, software
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* distributed under the License is distributed on an "AS IS" BASIS,
GNU General Public License for more details.
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
You should have received a copy of the GNU General Public License
* limitations under the License.
along with OpenAirInterface.The full GNU General Public License is
*-------------------------------------------------------------------------------
included in this distribution in the file called "COPYING". If not,
* For more information about the OpenAirInterface (OAI) Software Alliance:
see <http://www.gnu.org/licenses/>.
* contact@openairinterface.org
*/
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
*******************************************************************************/
/*! \file lte-enb.c
/*! \file lte-enb.c
* \brief Top-level threads for eNodeB
* \brief Top-level threads for eNodeB
...
...
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