Commit Graph

263 Commits

Author SHA1 Message Date
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
Hoernchen
eb9a437de7 rtl_tcp: proper linux support
as well as some cosmetic fixes

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-24 18:04:46 +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
7ba990981b add a note with patch submission information 2012-04-21 21:38:37 +02:00
Steve Markgraf
35729e7ee4 e4k: disable DC offset correction
This was causing the 'pulsing' of the DC offset spike.

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-20 23:35:16 +02:00
Dimitri Stolnikov
dd68eb2d22 use fixed (smallest possible) bandwidth for FCI tuners
also fixes c&p error pointed out by j-pi@seznam.cz
2012-04-19 23:02:53 +02:00
Hoernchen
d55b491c43 add initial version of tcp server 2012-04-19 17:51:39 +02:00
Hoernchen
6b99aedc4d fix off-by-one in argument handling
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-19 16:38:31 +02:00
Steve Markgraf
e07189cea1 add Compro Videomate U650F
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-18 20:19:50 +02:00
Steve Markgraf
f182717b76 add Terratec Cinergy T Stick RC (Rev.3)
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-16 23:54:20 +02:00
Steve Markgraf
84158553ee add Compro Videomate U620F (E4K tuner)
Thanks to Simeon Miteff for reporting this device.

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-12 01:08:57 +02:00
Dimitri Stolnikov
7651ff1940 change async cancellation mechnism to make it more reliable
- fixes crashes on windows platform while calling rtlsdr_close()
- makes it possible to restart async reads after cancellation
2012-04-11 00:27:49 +02:00
Hoernchen
24a12a44d1 reorder calls to prevent a crash
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-10 15:17:10 +02:00
Hoernchen
03f3504b41 tell windows that ctrl-c was handled
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-10 15:15:33 +02:00
Hoernchen
0bc846c34c make win32 build actually work
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-10 01:25:00 +02:00
Steve Markgraf
65ac467941 correct LPF coefficient
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-09 18:35:07 +02:00
Steve Markgraf
3ded206470 reset demod after setting samplerate
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-09 18:35:03 +02:00
Dimitri Stolnikov
f5f92ae3fa exit gracefully on SIGPIPE
this will properly free all the used memory when working with a pipe and
closing the other end (think of GRC)
2012-04-09 18:14:39 +02:00
Steve Markgraf
3738a6730c allow user to send data to stdout
Patch provided by 'airwave', Thanks!

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-09 15:09:01 +02:00
Steve Markgraf
a58def7f58 allow user to select sync mode
Patch provided by 'airwave', Thanks!

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-09 15:05:09 +02:00
Steve Markgraf
7e6d2f55ee allow user to select block size
Patch provided by 'airwave', Thanks!

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-09 14:46:22 +02:00
Steve Markgraf
6eeceba397 use fprintf instead of printf
Patch provided by 'airwave', Thanks!

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-09 14:43:14 +02:00
Dimitri Stolnikov
20313516cc disable bulk read timeouts
ideally, we should calculate them depending on the configured sample
rate
2012-04-09 00:27:15 +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
a9900e2b7a add DIKOM pid/vid
Source:
http://forum.ubuntu-it.org/index.php/topic,413840.0.html

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-07 20:54:48 +02:00
Steve Markgraf
3051aa4eef use uint32_t instead of int for frequency
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-07 01:02:08 +02:00
Dimitri Stolnikov
2b0d5963b7 print out exact sample rate only if needed 2012-04-07 00:04:15 +02:00
Alexandru Csete
94c47189d4 Add support for Dexatek DK5217 DVB-T dongle.
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-06 14:18:23 +02:00
Dimitri Stolnikov
df4991bc19 do not use NULL usb contexts to make libusb-pbatard work on windows 2012-04-06 13:47:45 +02:00
Steve Markgraf
6335b37668 fix rtlsdr_demod_read_reg()
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-05 01:09:50 +02:00
Steve Markgraf
912a5b1e31 make older versions of GCC happy
fixes the 'redefinition'-error with older versions of GCC

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-05 01:08:37 +02:00
Steve Markgraf
97db8149d9 workaround for some versions of libusb
Some versions of libusb don't seem to like if you call
libusb_init if you already have another instance opened.
(1.0.8 on Debian squeeze e.g.)

Thus, print name of device before opening it.

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-04 21:50:32 +02:00
Steve Markgraf
003446e508 use timeouts for control transfers
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-04 21:47:20 +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
d2355cfd91 install utility as well
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-03 20:18:24 +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
9773ac0b83 define LIBUSB_CALL if not available with old libusb
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-03 20:18:15 +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
Steve Markgraf
2f6183cd6c properly poweroff PLL/ADCs/tuner on exit
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-03 17:37:55 +02:00
Steve Markgraf
ca70087209 add several new sticks
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-03 15:06:38 +02:00
Dimitri Stolnikov
9a4f4991a0 force same library filename for static and
shared variants of the library on !WIN32
platforms
2012-04-03 00:51:15 +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
2115949bb3 use different library names for
static/shared variants
2012-04-02 23:23:51 +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
Steve Markgraf
ff50e0beda add Terratec Cinergy T Stick Black (rev 1)
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-02 18:29:57 +02:00
Steve Markgraf
09c00e439f select fc0012 UHF/VHF-filter according to frequency
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-02 18:17:28 +02:00
Steve Markgraf
3621cdfc60 don't use C99 2012-04-02 13:20:09 +02:00
Steve Markgraf
9a7051ce0b add Genius TVGo DVB-T03 USB dongle support
original author: Jiri Pinkava <j-pi@seznam.cz>

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-01 23:42:11 +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
c5a6fe2452 add Terratec NOXON rev 2 support 2012-04-01 15:35:06 +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
Dimitri Stolnikov
2f20f6fe9e add argument check for device handle
also outputs all text to stderr
implement rate and frequency read functions
2012-04-01 01:15:05 +02:00
Steve Markgraf
31cb96fc3c add tuner initialization, fix fc0013 replug bug
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-04-01 00:38:40 +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
c09fbb7c57 fix reading from usb by resetting the
buffers as required
2012-03-31 16:20:38 +02:00
Steve Markgraf
25cad444b2 add pid/vid for Logilink VG0002A
Uses the FCI 2580 tuner, no driver yet.

Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-03-31 14:50:04 +02:00
Steve Markgraf
ffea5061f0 cosmetic fixes/cleanup
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-03-31 14:32:18 +02:00
Dimitri Stolnikov
001bfb96ef add autotools based build system 2012-03-27 20:53:49 +02:00
Dimitri Stolnikov
d8da91cbc2 rework towards a library interface 2012-03-27 19:49:44 +02:00
Steve Markgraf
796a47397a fix typo in Makefile
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-03-14 20:27:32 +01:00
Steve Markgraf
409073b8ab display real sample rate with rounding error
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-03-14 03:28:48 +01:00
Steve Markgraf
8dc13ea3ea add commandline option for setting the sample rate
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-03-13 23:18:25 +01:00
Steve Markgraf
5a4fd14581 initial commit
Signed-off-by: Steve Markgraf <steve@steve-m.de>
2012-03-12 00:30:54 +01:00