Commit Graph

575 Commits (dc1e5a16186f5f2cee33f833f437b91fba4ed50a)

Author SHA1 Message Date
hayati ayguen dc1e5a1618 replaced all 'R820T' by 'R820T/2'
this is to indicate, they are not distinguishable in software

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2020-08-18 12:27:55 -07:00
hayati ayguen 756d05cf2d fixed/amended API documentation on return
* added documentation for rtlsdr_open()
* added documentation for rtlsdr_close()
* fixed documentation for rtlsdr_set_center_freq()
* amended documentation for rtlsdr_get_freq_correction()
 and rtlsdr_get_tuner_gain() - but no good error indication possible
 without API change
* added documentation for rtlsdr_reset_buffer() and rtlsdr_read_sync()

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2020-08-18 12:16:17 -07:00
hayati ayguen e78ecb0cf6 added driver option '-O' for direct sampling mode 'dm=' and threshold freq
see https://github.com/librtlsdr/librtlsdr/issues/16

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2020-08-18 06:14:10 -07:00
hayati ayguen f93712213d
Merge pull request #74 from xloem/patch-1
Update rtl-sdr.h
2020-08-01 21:36:11 +00:00
xloem 0d369d9178
Update rtl-sdr.h
Recently merged PR left this unaddressed.
2020-08-01 17:27:53 -04:00
Lev Serebryakov cb5b953d25 Non-volatile access to volatile object is UB. 2020-08-01 17:37:27 +00:00
Lev Serebryakov 037d192d76 Add "volatile" to two fields of rtlsdr_dev
librtlsdr uses two fileds of struct rtlsdr_dev to communicate
between threads. On hardware with weak memory model it is not
guaranteed that it will work, as C memory model guarantees
nothing for simple variables.

 Using C11 atomics seems to be overkill here, but async_status
and async_cancel better be marked as "volatile".
2020-08-01 17:36:09 +00:00
Jerome b09c635885 specify number of seconds to run 2020-08-01 17:11:00 +00:00
Joseph Poirier 748e4564e9 fixes issue #39 2020-08-01 16:57:47 +00:00
hayati ayguen 07370a3a22
Merge pull request #72 from stef/development
added support for rtlsdr_rpc_set_and_get_tuner_bandwidth in rtl_rpc
2020-08-01 16:22:42 +00:00
hayati ayguen 91dbae89d7
Merge pull request #68 from hayguen/development
option '-H' to write wave Header for rtl_sdr and rtl_fm
2020-08-01 08:11:08 +00:00
hayati ayguen 0f8d1fc354 bugfix rtlsdr option -n, which could sometimes run endless ..
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2020-05-08 22:57:17 +00:00
stf 423aee453f added support for rtlsdr_rpc_set_and_get_tuner_bandwidth in rtl_rpc 2020-04-05 19:35:23 +00:00
hayati ayguen 3196b9a974 detailed RTL driver options usage, 'sb' options 0 (LSB) or 1 (USB)
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2020-03-19 05:33:25 +00:00
hayati ayguen 145144bd86 added helper script and smalle note in README for blacklisting
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2020-03-01 18:48:37 +00:00
hayati ayguen 859ced26b3 usage message showing possible output formats
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2020-02-29 23:18:02 +00:00
hayati ayguen 0d6c4cbede bugfix: only halved data was saved
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-11-21 07:23:56 +00:00
hayati ayguen 635bd29275 allow reading files recorded from ELAD software .. and others
* rtl_wave*: skip unknown chunks between auxi and data,
 e.g. 'elad'-chunk which is used in ELAD software

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-11-20 08:20:53 +01:00
hayati ayguen 2c02431075 allow reading wave file without 'auxi' chunk
- rtl_wavestat with option '-z' to print unix start time in seconds

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-11-01 20:14:41 +01:00
hayati ayguen ffdf40af34 added rtl_wavestream
* minor fix(es) in waveread and rtl_wavestat

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-10-27 19:45:20 +01:00
hayati ayguen d3e2e5225b added rtl_wavestat
- fixed rtl_raw2wav

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-10-27 15:32:34 +01:00
hayati ayguen b713e3fab4 rtl_raw2wav: deduce wave filename from raw filename
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-10-08 00:45:25 +02:00
hayati ayguen 57c23373b5 fix rtl_raw2wav: wav data size in header was wrong
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-10-07 23:21:48 +02:00
hayati ayguen 153da10721 workaround missing mkgmtime on mingw
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-09-15 12:37:07 +02:00
hayati ayguen f0b84e010c add time command parameters to rtl_raw2wav
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-09-15 09:35:26 +00:00
hayati ayguen 5abec7f328 added tool rtl_raw2wav
* rtl_raw2wav: similar to raw 2 wav conversion with sox,
  but additional chunk with frequency/time information
* splitted convenience.h/.c, added rtl_convenience.h/.c
2019-09-14 12:01:59 +00:00
hayati ayguen 993faef897 rtl_fm: added options "-E [bcc|bclo|bchi]"
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-09-13 21:30:09 +00:00
hayati ayguen a500314933 rtlsdr_set_tuner_if_mode() further simplified
* modified API mode values/ranges

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-08-20 20:45:46 +00:00
hayati ayguen bc15b17dd0 rtlsdr_set_tuner_agc_mode() -> rtlsdr_set_tuner_if_mode() and simplified
* renamed API
* renamed TCP command enum to SET_TUNER_IF_MODE
* simplified interface
* if_mode/gain is now applied independent of AGC

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-08-18 22:39:56 +00:00
hayati ayguen 9825bcefe5 additional agc_variant modes for rtlsdr_set_tuner_agc_mode()
set VGA explicitly with active AGC on LNA/Mixer

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-08-05 06:40:30 +00:00
hayati ayguen a9ac4bad20 added protocol description for rtl_tcp
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-31 20:58:05 +00:00
hayati ayguen 0ff6a5adff allow empty option for "-O" without warning
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-31 20:57:35 +00:00
hayati ayguen 045c1ea0bb more comfort at command line options
* allow unit suffic at -O options f (frequency) and bc (band center)
* allow 'U' and 'L' for option sb (sideband)

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-31 00:01:24 +02:00
hayati ayguen ab50557d89 added agc_variant = -2 for rtlsdr_set_tuner_agc_mode()
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-30 23:59:12 +02:00
hayati ayguen d4e181c798 bugfix: recursive mutex is required for i2c/tuner lock
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-28 03:02:14 +00:00
hayati ayguen 4feaa59cc6 bugfixes and compiler warnings with gcc on linux
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-28 00:44:45 +00:00
hayati ayguen 22a920d0a6 merge of great additions, e.g. rtlsdr_set_tuner_sideband()
* rtlsdr_set_tuner_sideband():
- "HF-Hase" Bernhard Kistinger (DB9PP) found out,
that one of the undocumented I2C register bits of R820T tuner
controls the used tuner/mixer lower or supper sideband.
That was by testing/playing with a special QIRX version,
showing and allowing change of all I2C registers.
- previous additions in rtl_tcp allowed control of I2C registers;
in addition register contents can be transmitted periodically (to QIRX)
- "Oldenburger" developed a first version controlling the sideband bit,
and additional spectral flipping (spectrum inversion) in the RTL2832
- i've merged Oldenburger's changes with my rtlsdr_set_tuner_band_center()
=> altogether, there's no spectrum inversion, the band center stays,
just the IF filters (steep lowpass and not-so-steep highpass) switch positions

* Oldenburger's changes for FC0012 tuner
* Oldenburger added description of R820T's I2C registers
* rtl_tcp's new response channel now occupies an additional port,
usally 1235, which is +1 of default control port.
this can be deactivated by command line

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-28 01:31:03 +02:00
hayati ayguen 75f97e566d enhance version information, added API functions for version
distinguish between library version .. and program version

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-28 00:15:34 +02:00
hayati ayguen 3079457da2 cleanup, minor fixes
* rtl_fm: use .tmp file only for wave files (-H)
* rtl_sdr: also use .tmp when writing to wave
* fix: remove .wav - before trying to rename .tmp
* replaced C++ one line comments //
* added 'softverbose' for softagc
* rtlsdr_set_opt_string() verbose outputs more readable

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-27 03:27:43 +02:00
hayati ayguen 8b69f59459 bugfix - when writing non wave files
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-24 00:11:27 +02:00
hayati ayguen fdaaed9580 cmake option WITH_RPC - defaulting to OFF
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-20 04:12:28 +02:00
hayati ayguen 622b614479 bugfix and removal of compiler warnings
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-19 23:03:59 +00:00
hayati ayguen d6d3be3952 added API rtlsdr_set_tuner_agc_mode(), updated r82xx_set_bandwidth()
* added TCP/UDP command SET_TUNER_AGC_VARIANT = 0x46
* updated r82xx_set_bandwidth()
* added several commands to UDP control server:
  f: set RF center frequency
  b: set tuner bandwidth
  c: set tuner bandwidth center in output
  a: set tuner AGC variant
  m: set manual tuner gain
  M: set gainMode
  h: print help

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-20 00:37:03 +02:00
hayati ayguen 3f3fefc9e4 extracted wavewrite from convenience, improved rtl_fm
* rtl_fm using rtlsdr_set_tuner_band_center
* rtl_fm recording to .wav.tmp, renaming it when finished

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-18 23:25:32 +00:00
hayati ayguen 7ef5e11b0b minor fix
Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-07-12 00:06:57 +00:00
hayati ayguen cfc56ba7e6 add API rtlsdr_set_tuner_band_center() +rtl_tcp +rtl_udp
* use rtlsdr_get_opt_help() in usage of tools

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-06-19 03:30:00 +02:00
hayati ayguen d6e2a8a719 udp server now optional, default:off. +fixe data/mask-order
* fix function parameter order mask/data
* add control for register 30 = 0x1e
2019-06-19 03:12:36 +02:00
hayati ayguen ce12ac0fd9 further changes/additions for udp server
* added API rtlsdr_set_tuner_i2c_override() to keep register contents
* added SET_I2C_TUNER_REGISTER and SET_I2C_TUNER_OVERRIDE commands
 to rtl_tcp for the R820T tuner
* moved udp server variables into struct rtlsdr_dev
* added hexadecimal and binary format at input for udp server
* start udp server optionally at rtlsdr_set_opt_string()
 with option '-O port='

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-05-05 19:27:10 +02:00
hayati ayguen 48d72638ec changes from https://sourceforge.net/projects/librtlsdr-wincontrol/
* Windows adaptation of https://github.com/gat3way/r820tweak project
 from sourceforge user randaller
* UDP server on 32323
* now at least compiles on Windows

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-04-28 23:14:47 +02:00
hayati ayguen 35bfcd6956 applied changes from https://github.com/gat3way/r820tweak
* with kind permission of Milen Rangelov <gat3way@gmail.com>,
necessary caused by modified GPLv3 license
* unfortunately this revision doesn't compile

Signed-off-by: hayati ayguen <h_ayguen@web.de>
2019-04-28 22:41:33 +02:00