Commit Graph

40 Commits

Author SHA1 Message Date
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
9f3f44e03b autotools: add missing header
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-09-08 21:42:58 +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
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
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
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
Dimitri Stolnikov
6ea029d92c add api function to control the IF gain for E4000 tuners 2012-07-05 00:28:52 +02:00
Dimitri Stolnikov
7bd3933c41 introduce getters for tuner parameters (gain, type) 2012-06-02 01:36:42 +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
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
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
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
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
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
259e61fb17 document gain api 2012-05-05 12:33:47 +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
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
Dimitri Stolnikov
5f70efd8d1 return frequency and sample rate as unsigned integers 2012-04-24 20:02:53 +02:00
Dimitri Stolnikov
e4fef23874 rtlsdr_read_async: buffer length must be multiple of 512 2012-04-22 21:47:00 +02:00
Dimitri Stolnikov
1eb1c3e191 new api: rtlsdr_read_async function allows to specify buffer size
this commit deprecates rtlsdr_wait_async function
various small fixes are included in this commit
2012-04-08 23:02:42 +02:00
Steve Markgraf
cdd6c488a3 rtlsdr_callback: use correct pointer type for buffer
Silences a clang warning.

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-04 17:46:19 +02:00
Dimitri Stolnikov
f13cf0e56c adjust project slogan
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-03 20:18:20 +02:00
Dimitri Stolnikov
b38414c15a add copyright notices
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-03 20:18:08 +02:00
Dimitri Stolnikov
01775f0e85 use unique libusb context per rtl
device

this commit breaks rtlsdr_open()
interface
2012-04-03 00:50:47 +02:00
Dimitri Stolnikov
39482fee74 introduce asynchronous streaming interface
this is an experimental feature
2012-04-02 23:09:14 +02:00
Dimitri Stolnikov
030c787cfa cmake & autotools fixes from previous commit 2012-04-02 21:42:24 +02:00
Hoernchen
229ebd2ff2 add win32 compatibility
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-02 21:00:26 +02:00
Dimitri Stolnikov
4c3a5f7397 consolidated function defs and impls 2012-04-01 22:44:07 +02:00
Dimitri Stolnikov
e22c8a8378 fix type definition in library
interface

sorry mom! :P
2012-04-01 22:35:52 +02:00
Steve Markgraf
b5e4b76885 add FCI FC2580 tuner support
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-01 20:06:33 +02:00
Dimitri Stolnikov
6322c9343d add preliminary cmake build system 2012-04-01 16:52:41 +02:00
Dimitri Stolnikov
9d15dc565a handle init/exit functions calling
automatically inside the library
2012-04-01 13:06:22 +02:00
Dimitri Stolnikov
46acfaebd2 rework on autotools handling of
private headers
2012-04-01 12:40:51 +02:00
Steve Markgraf
367113b5c8 add FC0012 driver
Thanks to David Badsen!

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-01 04:03:03 +02:00
Dimitri Stolnikov
4ad93906a4 add skeleton routines for setting tuner gain 2012-04-01 01:36:49 +02:00
Steve Markgraf
ff79104824 add support for autoprobing the tuners
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-03-31 21:01:25 +02:00
Dimitri Stolnikov
001bfb96ef add autotools based build system 2012-03-27 20:53:49 +02:00