Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I1a851181a99f2f35ea4ff1b38c7afe27a04e5f18
|
|
Change-Id: I49b385594271ae64a48d4d39ee9fe26d7c95bd30
|
|
Change-Id: Ie682abf7e83de436d0f37f9f6e0664cb2f4d0c9e
|
|
Test files are moved from CommonLibs/ to tests/CommonLibs/.
Some tests are disabled in autotest because they generate timedate
related output which cannot exactly match against expected output.
Change-Id: I3d6ba625968be09297642d18090c496490e9b8fc
|
|
Change-Id: I823aea91367d586507bbf352f1b6f25bdd635baa
|
|
Change-Id: I64c8dbad3fc42bcb8dd4ac9b16bbd9c59a0cf5d5
|
|
In AC_INIT(), it still stated openbts. Let's clean this up and use
the same method of version generation that we use in all other osmocom
projects, too.
Change-Id: Ie7ae0585955aebdc3950b1dd8bff0d1fff3be212
|
|
See
https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release
for details.
Change-Id: Ieb843923d8f534654413be695f2b5f0c87b75520
Related: OS#1861
|
|
It is now 2017. We can and should be able to use C++11 features now.
Change-Id: I96477e4125390b17b43a3705bb1daf98fa01c9bb
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
The '__builtin_cpu_supports' is a GCC's built-in function which
returns a positive integer if the run-time CPU supports specified
SIMD feature and returns 0 otherwise.
This change adds a new check, whether compiler supports this call.
See /gcc/X86-Built-in-Functions.html at gcc.gnu.org for reference.
Change-Id: I797f638573e8c3aae39c28abb157ce2ac419f3f7
|
|
Currently we find SSE3 and SSE4.1 code mixed togehter along with
generic code in one file. This introduces the risk that the
compiler exidantly mixes SSE4.1 instructions into an SSE3, or
even worse into a generic code path.
This commit splits the SSE3 and SSE4.1 code into separate files
and compiles them with the matching target options.
Change-Id: I846e190e92f1258cd412d1b2d79b539e204e04b3
|
|
The logging API changes in UHD-3.11, which causes build failure if
not properly handled.
Change-Id: I223ebb9fae3f4061e0cb37c05263c1b569e8f628
|
|
* Explicitly check for sqlite3 at configure stage, remove old include
dir, fix header inclusion.
* Use configure results for linking instead of hardcoded linker option
for sqlite.
* Add dependency on -dev package for .deb
Change-Id: I6d7f697d67651f02ceb77fc4da4317b64fa47f9e
Fixes: OS#1928
|
|
Previous patch switches to using system-wide sqlite3 so it's safe to
remove local copy now.
Change-Id: Ie8e751cc62132fe1f7748ccd78c5d48469027329
|
|
This reverts commit 93ca09ea61d044e5f8662b28bf084c808cac4f2c.
Ettus Research recommends the use of 3.9 series of UHD releases,
but requiring this version has lead to issues with broken OBS and
packaged binaries by Debian, Ubuntu, and other distributions.
Change-Id: Ie6b175ac6d46d091937380c79fdd0125b16ec75f
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Versions of UHD prior to 3.9.0 are no longer supported.
Rather then backport and ifdef UHD version specific API and
behavioral changes, set minimum support to the current LTS
release, which is 3.9.0.
Change-Id: Id7d15b52cd4e45f1d856a6ef3a84832a28f2dd04
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
|
|
Introduce polyphase channelizer (Rx) and synthesis (Tx) filterbanks,
which serve as the signal processing backend for multi-carrier GSM.
Fast Fourier Transform (FFT) is used internally. FFTW is added as
a new build dependency.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
UHD handles built in tick and floating point timestamp conversion
since version 003.005.004. This removes the need for separate UHD
timespec to tick conversion.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
New functionality includes B200-mini device support and updated
timing values to match FPGA changes.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
Setup '--with-sse' option to check system capabilities by default, but
allow disabling by the user. Selective SSE build options can be
controlled by the user by defining specific HAVE_SSE options.
Signed-off-by: Tom Tsou <tom.tsou@ettus.com>
|
|
This will shutup automake and make it stop complaining about the
following subdirectory warnings.
"warning: source file 'common/fft.c' is in a
subdirectory, but option 'subdir-objects' is disabled"
Signed-off-by: Tom Tsou <tom@tsou.cc>
|
|
Similar to the existing Intel SSE cases, add support for NEON vector
floating point SIMD processing. In this case, use ARM assembly
directly as the NEON intrinsics do not generate preferential code
output.
Currently support NEON vectorized convolution and floating point
integer conversions.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
Currently the default configuration is to not build the full
transceiver, which is pointless. Set the UHD driver, which
includes either Ettus or Fairwaves variants, as the default.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
Move x86 specific files into their own directory as this
area is about to get crowded with the addition of ARM
support.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
Enabling the external reference on UHD devices through the configure
time switch is awkward. Use a database variable "TRX.Reference" with
'0' or '1' value for internal and external references respectively.
Use internal reference is no entry is defined.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
Current functionality with these old versions is questionable.
There is no reason to use any version of GNU Radio / libusrp older
than 3.3. Version 3.4.2 is the only recommended version for USRP1
users.
Non-USRP1 users must use UHD driver from Ettus Research.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
This large patch replaced the convolve() call with an SSE vector
enabled version. The lower C and SSE intrinsic based code operates
on fixed and aligned vectors for the filter taps. The storage format
of interleaved I/Q for both complex and real vectors is maintained.
SSE filter tap values must:
1. Start 16-byte aligned
2. Number with a multiple of 4 between 4 and 20 for real taps
3. Number with a multiple of 4 for complex taps
Non-compliant values will fall back to non-SSE usage. Fixed length
iterators mean that head and tail cases may require reallocation of
the input vector, which is automatically handled by the upper C++
interface.
Other calls are affected by these changes and adjusted or rewritten
accordingly. The underlying algorithms, however, are unchanged.
generateGSMPulse()
analyzeTrafficBurst()
detectRACHBurst()
Intel SSE configuration is automatically detected and configured at
build time with Autoconf macros.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
Remove the built time resampling selection and link both options.
Move the normal push/pullBuffer() calls back to the base class and
overload them in the inherited resampling class.
USRP2/N2xx devices are the only devices that require resampling so
return that resampling is necessary on the device open(), which is
the point at which the device type will be known.
The GSM transceiver only operates at a whole number multiple of
the GSM rate and doesn't care about the actual device rate and
if resampling is used. Therefore GSM specific portion of the
transceiver should only need to submit the samples-per-symbol
value to the device interface.
Then, the device should be able to determine the appropriate
sample rate (400 ksps or 270.833 ksps) and if resampling is
appropriate.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
This patch is long overdue and can now be merged after better understanding
of timestamp stability issues. UHD tick / timespec conversions were
generally used with the streamer interface, though these calls are actually
independent change sets. The combination would lead to internal rounding
errors and a timing drift most notably on B100 running at GSM symbol
rate multiples. There are no known issues, however, with the streamer code
itself.
The aforementioned issue was discovered in test code only, which was never
merged to mainline.
Signed-off-by: Thomas Tsou <tom@tsou.cc>
|
|
|