Age | Commit message (Collapse) | Author | Files | Lines |
|
Change-Id: I68e18075eade55034567d96fc774d00a794afeeb
|
|
This way the dependencies are passed after the .la object, which seems
to be the correct order. Some setups may fail to find some symbols from
libosmocore otherwise (OBS i586).
Change-Id: I22c80055bcffd4179a0a8ca76533ba7aaa38c859
|
|
osmo-trx can start a considerable amount of threads that can make
debugging it challenging at least. By using phtread_setname_np, the
system sets a meaningful name to the thread which can be seen while
debugging with gdb or by printing /proc/$pid/task/$tid/comm.
Now we also log system TID when setting the name so we can identify
different tasks in /proc even if pthread_setname_np fails.
Change-Id: I84711739c3e224cb383fd12b6db933785b28209e
|
|
Change-Id: I9be2bab3b88a96e94e463e5ab22f9814bd6de950
|
|
The following warning was observed with GCC 4.8.5:
make[4]: Entering directory `.../osmo-trx/Transceiver52M/device/lms'
CXX LMSDevice.lo
LMSDevice.cpp: In member function 'LMSDevice::writeSamples()':
LMSDevice.cpp:582:22: warning: 'rc' may be used uninitialized
in this function [-Wmaybe-uninitialized]
samplesWritten += rc;
Let's fix this by zero-initializing 'rc'.
Change-Id: I4b4a061fc12e5fd1db8d1087d8e0c46ff1e23412
|
|
Change-Id: I82bdeb8a3fa38f3d125e8cbccc3eddbf2b8d8f58
|
|
Change-Id: Ib871a3cd14386ef6e6b512a3d66e7e7a839295a5
|
|
Change-Id: Ia1a4fb62dee35737ece1f3501f352501eba2449e
|
|
This way we catch newly introduced compilation warnings in osmo-trx.
Change-Id: I7effaf243fd6e7fe69728cfce5f97e0b5bd4743c
|
|
Avoids this type of compilation warnings:
‘void* memcpy(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘class Complex<float>’; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
Change-Id: I9724454dfb7b87f74f39074e4004580ac3b5fe5c
|
|
Fixes this type of compilation warning:
‘void* memcpy(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘class Complex<float>’; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
Change-Id: Ibb2380a0a335ce798fe87221519fbbebade53054
|
|
Change-Id: Ibf5a69f0a3a309e87814635fd903b114fe68890c
|
|
This change allows to remove some wrong use of code as per compilation
warning:
osmo-trx/Transceiver52M/sigProcLib.cpp:1266:40: error:
‘void* memcpy(void*, const void*, size_t)’ writing to an object of non-trivially copyable type ‘class Complex<float>’; use copy-assignment or copy-initialization instead [-Werror=class-memaccess]
midMidamble->size() * sizeof(complex));
Change-Id: Id446711349bec70fa4e7c8efe0f7f9faf7e4f277
|
|
Fixes compilation warning:
In file included from osmo-trx/Transceiver52M/device/uhd/UHDDevice.cpp:31:
/usr/include/uhd/utils/thread_priority.hpp:10:17: note: #pragma message: This header is deprecated - please use <uhd/utils/thread.hpp> instead.
Header was moved in uhd.git c33928d2bbdd27688c3475e77fc461e7d16eba5a.
Change-Id: I6299df48a5e14c54eaa07288d166c705eb9ebdbe
|
|
We don't want the version of the last tagged version, but the version
number uniquely representing the current HEAD. Use the script from
libosmocore.
I suspect that this somehow got broken in commit 00d5114717040fedd443e3f723385ede434c8b39
Related: OS#3517
Change-Id: Iba3212aa417dce4240c5c27eb4f12afcd9c95e5b
|
|
This is useful if we add more AC_CHECK_HEADER or similar configure tests including
C++ header files or required C++ features, since otherwise gcc is used
by default and test fail.
Change-Id: Iee757c78b72290c5d2a4c31339800a4e72b6be23
|
|
Change-Id: I0a0a06a6d16a228cfcb7bd746bab2d79f10ce244
|
|
Transceiver::stop() can only be called from either CTRL iface thread or
from main thread (running osmocom loop). That's because stop attempts to
cancel and then join all the other threads, which would then lock if
attempting to stop from some of them.
As a result, the best option is to indicate to the user of the
transceiver option (osmo-trx.cpp) to stop it in a correct fashion by
destroying the object from the main thread.
Change-Id: Iac1d2dbe2328e735db2d4b933cb67b1af1babca1
|
|
If LImeSDR device is unplugged or its fw crashes during operation,
reading from the device will fail and will first receive short reads and
finally 0 byte reads. Let's quickly notify these events to upper layers
instead of trying to process the buffer and checking timestamps for
something we know it's already not useful.
Related: OS#3340
Change-Id: Ib1af8cdd6cdadf581b039882add4049eea45a0f7
|
|
Change-Id: Id7b08b19d6575c79b4d57db656a17ff05bb61ee9
|
|
Change-Id: Ia647cfed0acb35adeb9b3b7824170d06c0369ef7
|
|
pthread_cancel is implemented in c++ using exception handlers. In
destructor of Log object, the log function is called which will
eventually call fputs() to write to a file. Since that function is
considered a cancelation point, if pthread_cancel has been called the
exception handler will start unstacking frames and calling destructors
in the process. At some point this will cause a runtime exception in c++
which will call std::terminate() to abort the process.
The solution is thus to avoid starting the cancellation process inside the
destructor.
This behavior was spotted while calling the destructor of Transceiver
object in forthcoming patches.
See a more detailed example here:
https://skaark.wordpress.com/2010/08/26/pthread_cancel-considered-harmful/
Change-Id: I71ca90f3fbc73df58b878a03361f7b7831d838b4
|
|
Change-Id: Ib2782aecd400398bf36427f255c2a427ef781e06
|
|
Change-Id: I3f553c2cec9689524728cacb15b7daaff8166925
|
|
The DMAIN category got too overloaded. Let's have the code in
Transceive52M/device/* use the new DDEV category.
Also, in some cases the log levels have been adjusted to ensure
that enabling INFO level should not result in a complete overflow
of messages during normal operation.
Change-Id: I844fe4a75bf277cd3cc5bd8fa06e06ad97b2ea95
|
|
Change-Id: I7777d027fffa50dddf3f0a3c0bf2173aa8497be3
|
|
The osmocom-nightly/release can create debian8 package by patching
rules and control files
Change-Id: I261302d2ed16e76540073589504e7426e23d00a1
|
|
We were missing one indent level when writing the rx-path and tx-path
Change-Id: I5d5b02c71d39220cabc2a23d059908ef3c6350e0
Closes: OS#3435
|
|
osmotrxuhd is already being built since it's enabled by default, but
let's make it more explicit that we are building it too.
Change-Id: Ie9c224485cce047cd3ee4600ff7fbdb082355cdc
|
|
Change-Id: I4711e97c844e582601a588fdc359fc020bcee001
|
|
Fixes: c7756e73b73f9e7c64a1391f13e65f4f9d227bf4
Change-Id: If55d14768727c7119d86da60413861674dd3538b
|
|
Until now, setRxGain in LMSDevice did not take into account the setter
parameter and was always using hardcoded 34dB, which was experimentally
found to be a good default value.
Let's force that value during initialization, but still allow the upper
layers (controlled by BTS) to set different values. osmo-bts only sends
a SETRXGAIN command (which calls setRxGain in osmo-trx) if a value is
explicitly set in its VTY config, so we are on the safe side if the user
doesn't explicitly configure a desired dB.
Change-Id: I5684e675281a3f581855dbb56d199a6fe238a712
|
|
Change-Id: I9f2d6c4b1a508aceb1ccc0559f0902eedf2ec5af
|
|
Sort cfg files according to their osmo-trx binary.
Install them during make install.
Add the installed cfg files to related debian packages.
Change-Id: I905cdac30b441e4df0a3f5c0924d1637b9f67b90
|
|
Change-Id: I38a7ff7b9dafc3d6aa0426777036e3d7666045a7
|
|
Change-Id: I3213c66907fbf0c7e531835b4993fa1bdc89edc3
|
|
There might be some configuration that's not supported by osmo-bts-usrp1,
and we should reject that properly.
Change-Id: Ic7308ce0c57439fe97668bd31801c4bf76b797ad
Closes: OS#3348
|
|
There might be some configuration that's not supported by osmo-bts-lms,
and we should reject that properly.
Change-Id: I6f82edce589030a4407f6150fb7e8abe6417c1f2
Closes: OS#3347
|
|
In Change-Id Ib2fca81b76d027b08e2891056fa076d071597783 we introduced
some coding style violations. Let's make newly-added code follows
standard Osmocom coding style.
Change-Id: Ib7ddd275014f03a2eed3cddc02b1356e2b00c0bc
|
|
It's not good style to have the derived classes initialize members
inherited from the base class using "this->foo = bar". Rather, let's
make the base class have a constructor, and call that constructor to
initialize the members of the base class.
While doing this
* rename 'offset' to 'lo_offset' to avoid confusion with timestamp offset
* move 'InterfaceType' into the base class
* move 'chans' into the base class
* move 'rx_sps' into the base class
* mark base class members as 'protected'
Change-Id: Ib885675a7612a392aa7f75fca81269ddcff2f6ab
|
|
All three derived classes use a tx_sps member, let's move this into
the base class.
Change-Id: I73b4aa2705c5049561e2d7b21301a0d2b3c96ced
|
|
Without this call, the antenna/path configuration is not applied.
Change-Id: I0bca58266b59f1315ec72b6407fe4f4495aff678
|
|
Before this patch, any configuration in osmo-trx.cfg regarding the rx
and tx "antenna" (path) would have been completely ignored, as the
radioDevice::make() function would simply drop those arguments to the
floor.
Change-Id: Ie50f854abbc9dcf351cddc052d10206382e1d5d3
|
|
Change-Id: I806143e9db21f0be4dcc6a376b3a630be7aeb3ba
|
|
Initially, Rx gain was hardcoded to be 47. This was too high for our
setup and we were constantly getting "clipping detected" messages.
Reducing Rx gain to 34 solved the issue. However, it looks like gains
should be controlled through configuration files.
Change-Id: I30580f18c4ad630c09f725b1d24c125fc3119809
|
|
LMS_StartStream() (in LMSDevice::start()) was moved to separate loop. It
is because LMS_SetupStream() would fail for second channel if streaming
has already been started (LMS_StartStream()) for single channel
configuration.
Change-Id: I6704bb92864aa81417507c4ae24a22f41dc529c1
|
|
Log level of "send buffer of len ..." messages was changed as it was
causing problems on some machines.
Change-Id: I605d50e81966c7bd169b27788d62af6fb54c84e1
|
|
The tx timestamp offset was not set. We set it to the same value as it
was in UHD interface for LimeSDR
Change-Id: I78bc40cd575097f71a5f82b63467fa81c3f8d837
|
|
As of LimeSuite 618fbb9c3188b36d75ad5785a97b8887dcc468f6, it seems 5e6
is within the returned range, but LMS_SetLPFBW fails anyway.
See for more information: https://github.com/myriadrf/LimeSuite/issues/184
Change-Id: I967e7da7c0e3e8138b76733ee4a0e6311d20b62e
|
|
It seems the order in which static code and -lfoo is passed to the
linker matters.
This commit is a lms specific follow-up of commit
2a8183bdf0dfd5c5a59c3933fb932e827ddf811c.
Change-Id: I59c20d268ecac4c22689124165c47295bd9176d4
|