Commit Graph

288 Commits

Author SHA1 Message Date
Steve Markgraf
b4e48d9555 rtlsdr_init_baseband: initialize possibly uninitialized registers
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-10-01 02:13:25 +02:00
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
9f3f44e03b autotools: add missing header
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-08 21:42:58 +02:00
Dimitri Stolnikov
0c7ba8e03e don't install udev rules by default, as it may pollute the system
For cmake call with -DINSTALL_UDEV_RULES=ON for the rules to be
installed during the default install/uninstall stages.

For autotools call "make install-udev-rules" or "make uninstall-udev-

The rules file will be installed to "/etc/udev/rules.d".
2012-09-08 16:37:56 +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
Dimitri Stolnikov
0fb8543dde install (and uninstall) udev rules file 2012-09-02 22:15:55 +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
4e2a0ea0c4 tuner_e4k: update license in header
Changing the license of the header as well,
which had been forgotten in commit
6aec27c6d0
- "tuner_e4k: relicense driver under GPLv2+"

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-07-30 23:29:41 +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