This feature is currently not being used, so let's simplify current code
to move to libosmocore logging system in the future.
Change-Id: If2c77c776823f595130edac963be953026049423
This feature is currently not being used, so let's drop it to make it
easier to integrate into libosmocore logging system in the future.
Change-Id: I8282745ef0282d41599eaf94fe460a1d29b18e2a
It's only used internally inside the Logger module, and in case there's
an "alarm" (level more than critical) we still print on cerr, so we can
just rely on our system catching stderr instead of stdout to handle it.
Change-Id: I6d6df1578c3a4c1a37bd0d69952d443f62eed2ab
Fixes coverity CID 182757.
It's actually a false warning because "async_event_thrd" member is
protected by other member "started", so in practice it's never going to
be used before being initialized in start().
Change-Id: I5d5739bc9d08fe533e4d44c3992005a14e568a4f
Some devices have different Rx or Tx ports with different RF characteristics.
For instance LimeSDR has H (High), L (Low) and W (Wide) band Rx ports,
each of one being more suitable to a specific range of frequencies.
In case one wants to support several GSM bands, the best option is to
use the WideBand port and connect the antenna physically to that port in
the board. Then the firmware must be instructed ro read from that port.
Support for Rx/Tx port configuration is already in there for all the
layers (Limesuite, SoapySDR, SoapyUHD, UHD), but we are missing the
required bits in osmo-trx to make use of the available UHD API. This
commit addresses it.
Before this patch, the Rx/Tx paths configured could be changed by means
of the LimeSuiteGUI app, but after running osmo-trx, the values were
changed to the default ones.
One can now start using osmo-trx with 1 channel and specific Rx/Tx ports
by using for instance: osmo-trx -c 1 -y BAND1 -z LNAW
Default behaviour if no specific path or an empry path is passed ("") is
to do the same as preiously, ie. nothing by not calling the
set{T,R}xAntenna APIs.
One can also configure only specific channels, for instance to configure
only the first Tx channel and the second Rx channel:
osmo-trx -c 2 -y BAND1, -z ,LNAW
Change-Id: I1735e6ab05a05b0312d6d679b16ebd4a2260fa23
Let's disable this test in order to have passing jenkins jobs until we
find a better way to properly test this for different architectures.
Change-Id: I2320309bc8c1c20e2de6ef2e0f17472c68de80cb
The following logic doesn't require root access to run the tests, which
means we can easily run it inside jenkins.
Change-Id: Iba3f4de008662805d8ffc46e1f473e407b088fb8
Before this patch, the experession assert(then_secondws==then.seconds())
was failing in x86 architecture (and passing when adding a fprintf to
debug it). Avoid comparing the double values with == as that's usually a
bad idea, since the processor can output slightly different results for
the same operation depending on how it is optimized. Use timespec()
instead to check the invariant. Take the chance to refactor some
variables around to make the test easier to read.
Change-Id: Id4324be8ece86d371b1acb46bbd97856dfed241d
This fixes failures if the port is already being taken by other apps or
if this test is run several times concurrently in the same system.
Change-Id: Iea213375e489a56cf8ed3e47fe814e17c288803e
osmo-trx.cpp calls convert_init, which in case of building using
--with-neon is not implemented and the compiler stops with an error.
Error was introduced in 7e07cf2346.
Related: OS#2720
Change-Id: I9840d374d13b525b97f978ea0c5ed9e8421072a0
Without this line, destination address for a UDD socket is left with
incorrect value AF_UNSPEC. Later on when calling DatagramSocket:write(),
sendto() fails with EINVAL.
This commit fixes test SocketsTest.cpp.
Change-Id: I6e1b7e743a781abdcf69aa9842b30be893633433
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
This is a required step towards getting rid of ConfigurationTable class
and libsqlite dependency.
As a side effect, support for different log levels for different files
is dropped, but it's not something really being used and we will end up
dropping current logging system in favour of osmocom's one in the future
anyway.
Change-Id: I51cb12d1ab7e103e78190ac71a70fb5bb1d9ff51
* replace references to OpenBTS with OsmoTRX
* drop trademark notice
* drop outdated example
Change-Id: I144f96c507bfe48df350fb0350edbeba87126462
Related: OS#2600
* drop trademark passage
* add link to OpenBTS website and corresponding attribution
* replace OpenBTS references with OsmoTRX
Change-Id: Ia40df831649cdb68898db9ca77868c422a8d631d
Related: OS#2600
The B205mini is similar to the B200mini and runs OsmoTRX just
fine, so let's make OsmoTRX recogonize and support it too.
Change-Id: Iee575121248ea541f7abc49055e49ec2d30904c0
See osmo-ci change I2409b2928b4d7ebbd6c005097d4ad7337307dd93 for rationale.
Depends: I2409b2928b4d7ebbd6c005097d4ad7337307dd93
Change-Id: I609f7c7c88b49f26e2e48e1f1cffed76d9e6fb5e
This is the first real tagged Osmocom release of OsmoTRX.
[ Alexander Chemeris ]
* EDGE: Add support for UmTRX.
* Common: Get rid of a compilation warning.
* Common: Make sure gLogEarly() log to the same facilities as the normal log.
* transceiver: Properly handle MAXDLY.
* transceiver: Add an option to generate random Access Bursts.
* osmo-trx: Output Rx SPS as a part of configuration output.
* transceiver: Do not pass transceiver state struct to function where it's not used.
* makefile: Fix build from an external path.
* radioDevice: GSMRATE macro must have parentheses around its definition.
* uhd: Fix comment.
* radioInterface: Initialize power scale with a meaningful default.
* transceiver: Log channel number in DEBUG output of demoded bursts.
* transceiver: Add an option to emulate a RACH delay in random filler mode.
* UHD: Initial LimeSDR support.
* CommonLibs: Remove unused files.
* sigProcLib: Typo sybols -> symbols
* radioBuffer: Remove extra ; at the end of inline function definitions.
* sigProcLib: Fix documentation, sync argument names in .cpp and .h files.
* sigProcLib: make energyDetect() simpler by returning actual energy.
* sigProcLib: Rename demodulateBurst() to demodGmskBurst() for clarity.
* sigProcLib: Slice SoftVector instead of signalVector for GMSK demod.
* Call vectorSlicer() right before packing bits for transmission to osmo-bts.
* CommonLibs: Print soft bits with less confidence to console when printing a soft vector.
* BitVector: Remove convolutional codec - we don't use it in osmo-trx.
* BitVector: Convert SoftVector from 0..1 to -1..+1 soft bits.
* signalVector: Implement segment().
* vector: Introduce segmentMove() method to move data inside of a vector.
* vector: Introduce shrink() function to shrink vector size without loosing data.
* Move CorrType type from Transceiver to sigProcLib.
* sigProcLib: rename signalError type to SignalError.
* Move Transceiver::detectBurst() to sigProcLib to make it reusable.
* Move BURST_THRESH from Transceiver.cpp to sigProcLib.h to make it reusable.
* sigProcLib: Add operator<< to print CorrType to a string.
* sigProcLib.h: Fix whitespaces. No non-whitespace changes.
* Move Transceiver::demodulate() to sigProcLib to make it reusable.
* sigProcLib: constify signalVector arguments for detectBurst() functions.
* sigProcLib: Constify demodulation functions burst argument.
* sigProcLib: Fix number of tail bits in random Normal Bursts and zero Stealing Bits.
* Configuration: Variables allocated with 'new' must be freed with 'delete'.
* BitVector: Remove Generator class.
* PRBS: a Pseudo-random binary sequence (PRBS) generator class.
[ Tom Tsou ]
* EDGE: Fix USRP B210 device support
* uhd: Correct timing alignment in 8-PSK and GMSK downlink bursts
* EDGE: Fix demodulation slicer input
* common: Restrict UDP binding to localhost only
* common: Add mandatory length field to UDP receive calls
* uhd: Update default E3XX settings
* uhd: Set default Tx sampling to 4 sps
* uhd: Make device offset check a private method
* uhd: Set minimum UHD version requirement for E3XX
* sigproc: Expand RACH, TSC, and EDGE correlation windows
* transceiver: Do not report error on SETTSC when radio is on
* transceiver: Add Rx samples-per-symbol option
* radioInterface: Convert diversity argument to general type
* iface: Add inner ring-buffer implementation
* mcbts: Add multi-ARFCN channelizing filters
* mcbts: Add multi-ARFCN radio support
* sigproc: Adjust burst detection threshold criteria
* egprs: Enable 8-PSK length vectors on the Tx interface
* egprs: Enable 8-PSK burst detection when EDGE is enabled
* transceiver: Remove HANDOVER warnings
* mcbts: Allow out of order channel setup
* radioInterface: Fix multi-channel buffer index bug
* uhd: Add command line option for GPS reference
* transceiver: Fix mixed GSMK / 8-PSK transmission
* transceiver: Fix 4 SPS receive TOA value
* sigproc: Fix missing 8-PSK tail symbols
* uhd: Update USRP2/N200/N210 for 4 SPS Rx
* sigproc: Match differential GMSK start/end bits to tail bits
* uhd: Add missing B200 sample timing for 4 SPS receive
* transceiver: Fix command build warning
* uhd: Set minimum supported version to 3.9.0
* uhd: Add X300 sample timing for 4 SPS
* Revert "uhd: Set minimum supported version to 3.9.0"
* uhd: Add support for UHD-3.11 logging control
* uhd: Increase MC-BTS FPGA clock rate to 51.2 MHz
* Resampler: Fix initialization return checking
* sigProcLib: Remove unreachable code and no-effect checks
* sigProcLib: Check return status on downsampling
* sigProcLib: Fix negative value check on unsigned value
* Resampler: Fix non-array delete for filter taps
* Transceiver: Remove unsigned negative compares
* Configuration: Fix const and signedness compile warnings
* config: Remove OpenBTS style sqlite configuration
* radioInterface: Remove UmTRX 'diversity' option
* build: Require and check for gcc C++11 support
* uhd: Use map container for for device parameter access
* sigProcLib: Remove unused functions from public interface
* uhd: Add non-UmTRX channel swap support
* uhd: Fix Tx-RX timing offset setting
* uhd: Fix USRP2/N200/N210 device detection
* transceiver: Fix POWEROFF crash on USRP2/N200/X300 devices
* sigProcLib: Fix complex/real vector flag in Laurent modulator
* sigProcLib: Remove heap based signal vector allocations
* common: Declare explicit Vector move constructor
* sigProcLib: Remove trigonometric tables
* sigProcLib: Use explicit NaN check in sinc table generation
* sigProcLib: Replace dynamically allocated resampling buffers
* sigProcLib: Specify standard namespace for isnan()
* uhd: Always specify samples-per-symbol for device lookup
* LimeSDR: set approximate tx offset value to make GSM work
[ Neels Hofmeyr ]
* add basic .gitignore
* configure.ac: check for boost/config.hpp header
* The INSTALL file is being overwritten by autoreconf, but it is committed as empty file. As a result, the INSTALL file always shows as modified. Instead, remove INSTALL from git and ignore it.
* add contrib/jenkins.sh, for gerrit build bot
[ pierre.baudry ]
* transceiver: Fix mismatched allocations and deallocations
[ Holger Hans Peter Freyther ]
* debian: Require fftw3 header files for osmo-trx
[ Max ]
* Add gerrit settings
* Integrate Debian packaging changes
* Remove embedded sqlite3
* Fix building against sqlite3
* Add autoconf-archive to dependencies
* debian: remove obsolete dependency
* deb: remove unused dependency
* Remove redundant explicit dependency
* Use release helper from libosmocore
[ Ruben Undheim ]
* Do not embed sqlite3 when building
[ Philipp Maier ]
* buildenv: Turn off native architecture builds
* cosmetic: Make parameter lists uniform
* Add test program to verify convolution implementation
* ssedetect: Add runtime CPU detection
* cosmetic: remove code duplication
* buildenv: Make build CPU invariant
* buildenv: Split up SSE3 and SSE4.1 code
* cosmetic: Add info about SSE support
[ Vadim Yanitskiy ]
* buildenv: correct the ax_sse macro description
* buildenv: actually strip unused cpuid functionality
* buildenv: fix build on systems without SIMD support
* buildenv: cosmetic changes
* buildenv: check for __builtin_cpu_supports call support
* ssedetect: call __builtin_cpu_supports() only if supported
[ Pau Espin Pedrol ]
* cosmetic: transciever: Remove trailing whitespaces
* transceiver: Avoid sending clock indications when trx is not powered on
* Add -j option to bind to specific address
[ ignasj ]
* LimeSDR: Change device detection to work with USB and PCIe versions
* LimeSDR: change tx window type to TX_WINDOW_FIXED
* LimeSDR: Fix sample value range
[ Harald Welte ]
* Add '-t' command line option to enable SCHED_RR
* Import git-version-gen and update AC_INIT()
Change-Id: Ibf3be6cc25e9b20d625b1f67972114b7f613f05c