Commit Graph

85 Commits

Author SHA1 Message Date
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 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
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
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 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 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 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
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 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
Dimitri Stolnikov bcb8f2b28a cache real sample rate with 1Hz resolution instead of the desired rate 2012-05-26 20:09:01 +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
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
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