Age | Commit message (Collapse) | Author | Files | Lines |
|
When the version was incremented to 2.0.0, this resulted
in the SOVERSION being set to 2, indicating an ABI change,
which was actually not the case.
People have been complaining that software linked against
librtlsdr.so.0 is no longer working, so change the SOVERSION
back to 0.
|
|
|
|
|
|
sultanqasim/rtl-sdr:upstream_fast_retune into master
Reviewed-on: https://gitea.osmocom.org/sdr/rtl-sdr/pulls/6
|
|
Batch six register writes into a single step to speed up retuning.
|
|
|
|
Improve tuner precision by calculating the VCO divisor at full precision, not
at kHz resolution. Also replace the manual divison loop with a simpler
fixed-point calculation.
|
|
commit e30dbd52b638629d58ae6e33ebcf5a2d71a768a5 in https://github.com/librtlsdr/librtlsdr
Signed-off-by: hayati ayguen <h_ayguen@web.de>
[F. Schmidt: rebased on latest master]
Signed-off-by: Fabian P. Schmidt <kerel@mailbox.org>
|
|
|
|
|
|
In future blog v4 production batches (out in several months time), it
will be possible to turn off the upconverter when tuned outside of the
HF bands. The code controls the GPIOs to turn off the upconverter
when it is not in use.
|
|
|
|
|
|
|
|
The signal handler for SIGINT/TERM/QUIT and, importantly, SIGPIPE tries
to write an informational message to stderr. When however stderr is
redirected to a closed pipe, this will cause (another) SIGPIPE, and in
turn the signal handler will get called again, and again and again.
Since we intend to exit rtl_fm anyways, we can just ignore this signal.
|
|
Librtlsdr has a workaround for libusb versions that lack
libusb_handle_events_timeout_completed, which was added in version 1.0.9
(released 2012-04-02). The workaround is always applied unless the
HAVE_LIBUSB_HANDLE_EVENTS_TIMEOUT_COMPLETED macro is set, but the cmake
code that sets this macro was removed in
849f8efca42b659bf7e8fe17156ee0aa67b47233. As a result, the workaround is
now always applied. This results in an extra 1-second delay whenever a
GNU Radio flowgraph containing an RTL-SDR block is stopped, which makes
operations like switching between demodulators in Gqrx annoyingly slow.
To solve this problem, I've simply removed the workaround, as it should
no longer be needed.
I wonder if perhaps the workaround recently applied in
2659e2df31e592d74d6dd264a4f5ce242c6369c8 might stem from the same bug.
|
|
..and before handling usb events
This avoids an occasional crash when closing the device on Windows.
Also see https://github.com/libusb/libusb/issues/1043.
|
|
MinGW-w64 ships all Windows SDK headers as lowercase, which prevents
cross-compiling this code from Linux.
|
|
|
|
Fix failures with some GCC versions:
/usr/src/packages/BUILD/src/rtl_tcp.c:90:24: error: initializer element is not constant
static int llbuf_num = DEFAULT_MAX_NUM_BUFFERS;
Fixes: 641c22 ("rtl_tcp: Extracted some constants out of printf strings")
Change-Id: Ia9e18d4c22d957f561dcdaf2657bb6d201374375
|
|
The help output contained constants that should print values
based on code constants and not be hardcoded into the print strings.
|
|
We really should not have pkgconfig as a build requirement on windows.
|
|
Thanks to https://github.com/erikarn for pointing this out.
|
|
In r82xx_read, there is a 1-byte I2C write followed by the I2C read. If
this I2C write fails, r82xx_read correctly bails out but may return 0.
Callers that check whether (rc < 0) will assume that the buffer was written
when it has not been, e.g. in r82xx_set_tv_standard where
priv->fil_cal_code = data[4] & 0x0f;
consumes a garbage value for data[4].
This change resolves that issue by copying the error path from r82xx_write.
|
|
New minimum version is CMake 3.7.2.
This patch has been rebased to incorporate changes that happened
since the creation of the original patch.
Original Author: A. Maitland Bottoms <bottoms@debian.org>, 07 Sep 2018
|
|
Older versions of GCC will complain that it can be used
uninitialized - which is not the case, but it breaks our Jenkins
build as we build with -Werror.
|
|
I've prepared this patch in response to Debian bug #870804
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870804
It passes the text from the -a and -p options through
getaddrinfo() and uses the first result that has a valid
socket with a successful bind.
While not a complete bind to all possible valid names, it
does appear to address the use case of the bug submitter
without completely changing the program flow.
|
|
|
|
|
|
When trying to build a simple program which uses librtlsdr
as a subproject on Windows, CMake reported several problems
which were solved by:
- Added complete name of libusb in FindLibUSB module.
- Replaced CMAKE_SOURCE_DIR to PROJECT_SOURCE_DIR in src/CMakeLists.txt.
- Replaced header file <afxres.h> in src/rtlsdr.rc.in (only present when windows MFC is
installed) by <windows.h> which defines the same constants.
|
|
This is an import of the rtl_biast command line tool from the
rtlsdrblog github repository. It's easier to include it here than
try to package up the separate application because they both
wish to install dynamic libraries.
|
|
rtl_biast allows for non-default GPIO pins to be used.
Add an API call which allows for that.
|
|
Gets rid of librt, which doesn't exist on OpenBSD. The version of
librtlsdr in the OpenBSD ports tree is extremely old (~2013), so this
should help some users.
Tested against tag 0.6.0, but it should apply just fine to HEAD.
|
|
Account for \0 string terminator when calling strncpy().
Fixes the following GCC 9 warning:
warning: ‘__builtin_strncpy’ specified
bound 256 equals destination size
|
|
Although we added a detection mechanism for the presence of the Kernel
bug earlier, reading from the incorrectly mapped memory might cause a
bus error on some ARM systems.
With the overall performance benefit being rather minimal for the
data rates of rtl-sdr, disable zero-copy by default.
|
|
Thanks to Vincent Perrier for reporting the bug.
|
|
The Linux Kernel has a bug on ARM/ARM64 systems where the USB CMA
memory is incorrectly mapped to userspace, breaking zerocopy.
When the Kernel allocates the memory, it clears it with memset().
If the mapping worked correctly, we should have zeroed out buffers,
if it doesn't, we get random Kernel memory. We now check for this,
and fall back to buffers in userspace if that's the case.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
With just 'inline', if the compiler decides not to inline them, it isn't
required to emit them at all. For some targets with -Os that is causing
build failures, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86360.
Perhaps we might consider using '__attribute__((always_inline))' for
GCC builds, but 'static inline' is a good start.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
As pointed out by Carl Laufer on the mailing list,
turning the loop-through output off reduces the
current consumption by 10-20mA which in turn reduces
the heat a bit. So far there seem to be no devices
that have anything connected to the loop-through output.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
This code stayed unchanged for many years, but for some reason
rtl_adsb started hanging upon exit:
*b66116a5164b69281eacc42ae950;
^CSignal caught, exiting!
<------ hangs here forever
Examining it with gdb reveals that the demod thread waits
peacefully on the condition variable, which we're trying to
destroy. Either the signals killed all threads before, or
condition variables were possible to destroy while other
threads still waited on them.
The easiest fix appears to be just cancel the demod thread
and wait for it to exit before proceeding for the door.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
Decreases CPU load especially for embedded machines.
Requires Linux >= 4.6 and libusb >= 1.0.21. If this
is not the case or the allocation fails, we will
fall back to buffers allocated in userspace.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
Thanks to mot for reporting.
closes #3130
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
|
|
|
|
Since a typo in rtlsdr_set_gpio_output() was fixed,
FC0012 tuners were not detected anymore, as the reset pin
is actually 4, not 5.
Thanks to David Basden et al for reporting the bug.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
* added debug output when activating
Signed-off-by: hayati ayguen <h_ayguen@web.de>
* fixed options argument
Signed-off-by: Fabian P. Schmidt <kerel-fs@gmx.de>
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
|
|
At least one distributor of rtl-sdr dongles (rtl-sdr.com) added
a bias-t to their dongles which could be toggled via GPIO P0 of the
RTL2832U chip.
source: http://www.rtl-sdr.com/rtl-sdr-blog-v-3-dongles-user-guide/
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|
|
source: http://lea.hamradio.si/~s57uuu/mischam/rtlsdr/ports.html
* Removed unnecessary comment of old code.
Signed-off-by: Fabian P. Schmidt <kerel-fs@gmx.de>
Signed-off-by: Steve Markgraf <steve@steve-m.de>
|