* 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>
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".
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>