Steve Markgraf
a48f48e3b1
correct sample frequency with ppm offset
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-10-01 01:55:46 +02:00
Steve Markgraf
35263d0df3
rtlsdr_set_direct_sampling: reset IF freq to 0 on zero-IF tuners
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-20 23:44:49 +02:00
Steve Markgraf
143b103061
tuner_fc0013: fix and improve manual LNA gain
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-20 00:47:11 +02:00
Steve Markgraf
15b9e7ef02
tuner_fc0013: setting GPIO not needed for filter selection
...
The driver selects the VHF/UHF filter via I2C.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-19 06:06:09 +02:00
Steve Markgraf
a943a2ed25
tuner_fc001x: check if PLL values are within boundaries
...
This fixes the issue of the FC0013 locking up at frequencies
between 928.0 and 950.0 MHz, which happened because
the numerator of the fraction exceeded its 5 bit limit.
For the tuner to behave normally again, the dongle needed
to be replugged.
For the FC0013 this now results in a small gap between
948.6 MHz and 950.0 MHz, where no valid PLL values
are existant.
For the FC0012 tuning is aborted when the maximum
frequency has been reached (948.6 MHz).
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-19 03:15:43 +02:00
Steve Markgraf
01d8d308fc
disable second ADC in IF mode, make input selectable in DS-mode
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-16 16:24:58 +02:00
Steve Markgraf
519406264c
make rtlsdr_close() build on win32 again
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-13 23:27:35 +02:00
Steve Markgraf
fc5881d4cd
add support for direct sampling mode
...
This commit adds the function rtlsdr_set_direct_sampling()
which can be used to enable/disable a mode where the
RTL2832 acts as a direct sampling receiver.
This mode disables the tuner, and by attaching a long
wire, or better, a 50Ω to 200Ω transformer and a lowpass-
filter to the In-phase ADC input (pin 1 or 2 of the RTL2832,
whereas pin 1 is at the molded dot) it is possible to listen to
shortwave radio stations. The coupling capacitors can be
left in place, but for better results they should be removed.
Tuning in this mode is done with the DDC, and since the
ADC samples with 28.8 MHz, tuning is possible from 0 to
28.8 MHz.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-13 21:53:51 +02:00
Kyle Keen
1533422f98
rtl_fm: half the oversample bugs
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-10 18:51:07 +02:00
Kyle Keen
a8e7c7b21e
rtl_fm: Axiomatic's automatic termination
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-10 18:51:07 +02:00
Kyle Keen
f4a8a570c4
rtl_fm: fix auto/manual gain
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-10 18:51:07 +02:00
Kyle Keen
c792c4aeac
rtl_fm: bugs found by Axiomatic, alkw0ia and cgommer
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-10 18:51:07 +02:00
Steve Markgraf
0c3c356d19
tuner_r820t: don't perform IMR calibration on init
...
This takes simply too much time (almost 3 seconds)
and doesn't really seem to make any difference for our
use case.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-09 17:45:00 +02:00
Steve Markgraf
5a26bd51e7
add initial support for the R820T tuner
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-08 02:37:30 +02:00
Steve Markgraf
5f88049c0c
rtlsdr_i2c_rad_reg: fix uninitialized variable
...
This could lead to a misdetection of the tuner on some
platforms (E4K instead of FC0013 on the raspberry pi).
Thanks to Christoph Gommel for reporting this issue.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-08-10 02:11:40 +02:00
Dimitri Stolnikov
22b9d82fb5
implement a more robust cancelation mechanism of async reader
2012-08-08 21:21:46 +02:00
Dimitri Stolnikov
b49a8336ee
disable e4k enhanced mixer gain as it seems to have no effect
2012-08-05 16:35:47 +02:00
Dimitri Stolnikov
88cd4b33cf
return RTLSDR_TUNER_UNKNOWN (0) on failure of rtlsdr_get_tuner_type
2012-08-02 19:32:40 +02:00
Steve Markgraf
54fe3eca01
don't print i2c read/write errors for now
...
During autodetection of the tuner they are
normal and may cause confusion.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-21 20:50:51 +02:00
Steve Markgraf
3dff6f3c26
add pid of MyGica TD312 stick
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-20 22:36:22 +02:00
Hoernchen
2b8dfe43f8
fix win32 build
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 23:01:33 +02:00
Steve Markgraf
ec925a64ad
rtl_fm: disable win build for now, install rtl_fm
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 21:38:52 +02:00
Steve Markgraf
de978c3b3a
rtl_fm: fix typo that caused warning
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 21:20:41 +02:00
Steve Markgraf
f7f02836c4
rtl_fm: use getopt on win32 as well
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:47:07 +02:00
Kyle Keen
374abaebb8
rtl_fm: add experimental options
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
d2f8faa204
rtl_fm: disabling fast_atan2() for now, too noisy
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
62cc815863
rtl_fm: crude integer atan2, around 40% faster
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
6e80117205
rtl_fm: missed a var init
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
d56267a42f
rtl_fm: tweaks for nicer scanning
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
c3dde1db91
rtl_fm: multithreaded and frequency scanning
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
defa7af74b
rtl_fm: broken multi freq scanning
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
6a9f5c14c2
rtl_fm: add -E for optional lower edge tuning
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Kyle Keen
37f5559d1c
rtl_fm: satisfactory squelch
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:42:03 +02:00
Steve Markgraf
fc390b3224
build rtl_fm
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:41:27 +02:00
Kyle Keen
6328e11da6
rtl_fm: prototype FM demod
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-17 20:40:15 +02:00
Steve Markgraf
9d0232385b
add debug messages to rtlsdr_read/write_array
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-16 21:11:26 +02:00
Dimitri Stolnikov
42a6592e63
disable sample rate correction until we find a proper solution
2012-07-09 22:22:55 +02:00
Steve Markgraf
2ad7b39e2d
rtlsdr_set_tuner_if_gain(): enable i2c repeater
...
Thanks to Stefan Sydow for noticing this bug.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-08 23:28:31 +02:00
Dimitri Stolnikov
f9b5d7b0a6
apply frequency correction value on the xtal clock directly
...
by using this approach both, the tuning frequency and the sample rate
should be corrected at the same time.
2012-07-08 15:52:59 +02:00
Steve Markgraf
7dc15d9fd7
add PIDs for 2 variants of the Terratex NOXON dongle
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-07 22:52:29 +02:00
Steve Markgraf
f3cf83e3d7
disable DAGC by default, add control function
...
This adds rtlsdr_set_agc_mode() to enable/disable it.
Thanks to Leif Asbrink for finding this setting.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-07 21:06:38 +02:00
Steve Markgraf
98d1b864b6
have *_write_reg() functions pass through the return value
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-07 20:56:12 +02:00
Dimitri Stolnikov
6ea029d92c
add api function to control the IF gain for E4000 tuners
2012-07-05 00:28:52 +02:00
Steve Markgraf
304c7c863d
rtl_test: tuner PLL benchmark only works with E4000
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-28 14:44:25 +02:00
Steve Markgraf
fc736ae67f
init: disable 4 MHz clock output
...
The pin where this clock is outputted is quite close to the
ADC inputs, so better disable it.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-22 15:52:35 +02:00
Dimitri Stolnikov
b09628b3e8
fix symbol visibility for automake builds
2012-06-13 01:29:37 +02:00
Steve Markgraf
e5afd9894d
tuner_fc0012: add manual gain support
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-09 00:17:09 +02:00
Steve Markgraf
6aec27c6d0
tuner_e4k: relicense driver under GPLv2+
...
All authors have agreed to relicense the driver under
GPLv2+, for easing integration in other projects
(such as V4L).
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-08 18:52:47 +02:00
Steve Markgraf
1686a0f905
add another PID for Noxon v1 stick
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-07 14:00:40 +02:00
Steve Markgraf
3838df8669
rtl_tcp: ignore SIGPIPE
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-05 18:04:10 +02:00
Steve Markgraf
9d58aec8cf
correctly clear DDC shift and if_freq registers
...
This fixes the 2 kHz LO shift.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-06-03 21:02:48 +02:00
Dimitri Stolnikov
7bd3933c41
introduce getters for tuner parameters (gain, type)
2012-06-02 01:36:42 +02:00
Dimitri Stolnikov
d5bfa3867f
print the frequency for which the PLL couldn't lock
2012-06-01 20:53:35 +02:00
Steve Markgraf
352e50df43
add PID for Zaapa ZT-MINDVBZP
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-30 20:59:59 +02:00
Steve Markgraf
b136a5ae9e
link applications to shared library
...
This saves space on low-memory devices.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-29 22:00:54 +02:00
Steve Markgraf
4031d6ed04
tuner_fc0012: use new cleaned-up driver
...
The driver was taken from http://git.linuxtv.org/ and adapted
for librtlsdr. Manual gain will be added in a follow-up commit.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-29 03:31:49 +02:00
Steve Markgraf
92d936568c
rtl_tcp: add parameter for changing number of buffers
...
This is useful for devices with low memory, e.g.
routers with OpenWRT (decrease to 8 for example).
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-29 02:40:49 +02:00
Steve Markgraf
d08c4770ab
add local copy of getopt() for win32 build
...
Now all commandline utilities have a platform-independent
syntax.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-29 02:13:18 +02:00
Steve Markgraf
bc2c445055
rtl_tcp: fix includes
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-29 00:32:12 +02:00
Steve Markgraf
74d9619bc3
tuner_fc0013: get rid of compiler warning
...
"this decimal constant is unsigned only in ISO C90"
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-28 05:03:53 +02:00
Steve Markgraf
635b2751af
tuner_e4k: workaround for band selection between 325 - 350 MHz
...
Thanks to roger and Kire Pudsje for reporting
this problem, and Hoernchen for proposing the fix.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-27 19:07:37 +02:00
Steve Markgraf
75548c8bf3
tuner_fc0013: improve tuning resolution
...
We now use Hz instead of kHz for the internal
calculations, and thus improve the tuning resolution
to ~50 Hz (tested with DAB).
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-27 15:33:11 +02:00
Dimitri Stolnikov
bcb8f2b28a
cache real sample rate with 1Hz resolution instead of the desired rate
2012-05-26 20:09:01 +02:00
Christian Vogel
f3a6302866
rtl_tcp: silence warning about socklen_t/int sign.
...
rtl_tcp.c:457:57: warning: pointer types point to integer types
with different sign passing 'int *', expected
'socklen_t *' [-Wpointer-sign]
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-25 20:54:03 +02:00
Dimitri Stolnikov
b5beddca4f
fix gain setting and update usage information for CLI tools
2012-05-25 20:45:47 +02:00
Steve Markgraf
6d34b04b42
tuner_fc0013: use new cleaned-up driver
...
The driver was taken from http://git.linuxtv.org/ and adapted
for librtlsdr. Also, fc0013_set_gain() was added.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-25 17:25:13 +02:00
Michael Karcher
c4c48a69ea
FC0012 doc and fixes
...
Fix selection of VCO band (needed for example to get to 166 MHz) for
the FC0012 tuner, and add a lot of register descriptions.
Signed-Off-by: Michael Karcher <osmosdr@mkarcher.dialup.fu-berlin.de>
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-24 12:33:28 +02:00
Dimitri Stolnikov
6328438479
add help message to rtl_tcp spectrum server
2012-05-23 22:19:01 +02:00
David J. Fiddes
cf8e78646a
Add support for PROlectrix dongle
...
Incorporate support for the PROlectrix DV107669 which appears to
be another variant of G-Tek RTL2832U device. This has a FC0012
tuner.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-21 22:44:39 +02:00
Hoernchen
df52752349
tuner_e4k: fix returncode of e4k_set_enh_gain()
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-21 22:37:43 +02:00
Hoernchen
551a2d2037
fix win32 build of rtl_test
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-21 22:34:43 +02:00
Steve Markgraf
09547797dc
Makefile.am: fix copy & paste mistake
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-21 18:31:48 +02:00
Dimitri Stolnikov
505f40d9a0
introduce api function to read usb string descriptors
...
This API allows to read manufacturer and product names as well as the
serial number advertized by the device on the bus.
2012-05-20 16:41:15 +02:00
Steve Markgraf
fdc7bc978b
add an initial version of rtl_test
...
This tool allows to check for lost samples (and thus check the USB
connection), as well as benchmark the Elonics E4000 tunable range.
(-t switch)
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-17 23:51:59 +02:00
Christian Vogel
73f54be2ed
#include <math.h> was not needed.
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-17 21:59:01 +02:00
Christian Vogel
589e96e8d8
Using a #define for constant 2^22 (not pow())
...
pow() might require the math library to be linked with
rtl-sdl (e.g. when compiling with clang), even though
it's actually constant.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-17 21:58:53 +02:00
Steve Markgraf
c426e94093
rename rtl-sdr.c to librtlsdr.c
...
Having rtl_sdr.c for the application and rtl-sdr.c for the lib
caused a bit of confusion...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-17 21:33:53 +02:00
Dimitri Stolnikov
b345963947
add api version information to the library when building with cmake
2012-05-15 18:14:43 +02:00
Dimitri Stolnikov
3198f14f44
fix a typo in Makefile.am
2012-05-14 20:48:25 +02:00
Hoernchen
f7d9e578a0
tuner_e4k: use empty entry instead of offset for if_stage_gain_regs[]
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-14 19:28:55 +02:00
Steve Markgraf
8dda694101
rtl_tcp: convert command parameters from network to host byteorder
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-13 23:04:09 +02:00
Dimitri Stolnikov
cdfd1cf775
fix a memory leak by unreferencing libusb devices
2012-05-12 15:55:06 +02:00
Steve Markgraf
2ed8375f39
tuner_e4k: allow frequencies above INT_MAX
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-10 21:07:25 +02:00
Dimitri Stolnikov
8402124e6f
enable i2c repeater mode before applying filter bandwidth
2012-05-07 23:39:30 +02:00
Dimitri Stolnikov
e042c36cb5
rtl_sdr, rtl_tcp: cleaned up gain handling
2012-05-07 22:59:34 +02:00
Dimitri Stolnikov
b290116ac7
rtl_tcp: add handler for freq correction command
2012-05-07 22:38:25 +02:00
Dimitri Stolnikov
e5adc9a3ad
rtl_tcp: add handlers for sample rate and gain mode commands
2012-05-06 19:39:39 +02:00
Dimitri Stolnikov
9167a01248
consolidate program arguments
2012-05-06 00:34:13 +02:00
Dimitri Stolnikov
e9251da6e2
reset internally cached gain/freq values on setter failure
2012-05-05 18:30:13 +02:00
Dimitri Stolnikov
eded5bf5c3
tuner_e4k: fix a typo in choose_rf_filter function
2012-05-05 15:09:01 +02:00
Steve Markgraf
7931aa76c5
tuner_e4k: replace remaining printfs with fprintf to stderr
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-05 14:03:59 +02:00
Hoernchen
b6652f33df
uhf appears to work better for ads-b
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-05 13:54:24 +02:00
Steve Markgraf
59198d6342
tuner_e4k: fix off-by-one error in e4k_if_gain_set()
...
Thanks to patchvonbraun for providing debug logs
that helped to track this beast down.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-05 02:19:34 +02:00
Steve Markgraf
86c34428aa
use new E4000 tuner driver, allow manual gain
...
Many thanks to Hoernchen for making the driver work properly
and adding manual gain!
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-04 23:02:29 +02:00
Steve Markgraf
0af094070f
add Compro Videomate U680F
...
Thanks to Marek Kroemeke for submitting the patch.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-05-03 20:58:14 +02:00
Dimitri Stolnikov
cec93754a2
use default xtal freq when 0 is given
2012-04-29 19:51:11 +02:00
Steve Markgraf
721085e1ab
fix a -Wuninitialized warning
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-25 22:47:30 +02:00
Dimitri Stolnikov
bad6fb080b
introduce api to configure crystal oscillator frequency
...
Usually both, the RTL and the tuner ICs use the same clock. Changing the
clock may make sense if you are applying an external clock to the tuner
or to compensate the frequency (and samplerate) error caused by the
original cheap crystal.
This commit covers all tuner drivers except of the Fitipower FC2580
2012-04-25 22:32:51 +02:00
Steve Markgraf
8a1d6d69bd
add Terratec T Stick PLUS
...
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-25 17:11:48 +02:00
Dimitri Stolnikov
5f70efd8d1
return frequency and sample rate as unsigned integers
2012-04-24 20:02:53 +02:00