Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RTLSDR IQ imbalance ??? #39

Open
wants to merge 309 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
309 commits
Select commit Hold shift + click to select a range
eaae819
Merge pull request #5 from rxseger/negativeshift
jpoirier Jul 2, 2016
0693626
Add IrDA and IR registers from Linux dvb_usb_rtl28xxu driver
rxseger Jul 2, 2016
aa206d0
Add rtl_ir tool stub
rxseger Jul 2, 2016
024f3c5
rtl_ir: initialize dongle
rxseger Jul 3, 2016
4b4942f
rtl_ir: merge some init code from Linux dvb-usb-v2 driver
rxseger Jul 3, 2016
4ca84ae
Add infrared block USB control message indexes
rxseger Jul 3, 2016
70a34fd
Begin integrating IR from dvb_usb_rtl28xxu into librtlsdr
rxseger Jul 3, 2016
45abfbe
Fix rtl28xxu_wr_reg_mask return code, now <0 is error
rxseger Jul 3, 2016
5824c16
Rename rtl28xxu_wr_reg_mask -> rtlsdr_write_reg_mask
rxseger Jul 3, 2016
d7a7a08
Fix IR block claculation for read/write registers non-array
rxseger Jul 3, 2016
05649bf
Add rtlsdr_read_regs to read IR data into buffer
rxseger Jul 3, 2016
ed6c2de
rtl_ir: query IR in a loop
rxseger Jul 3, 2016
61d845e
rtlsdr_ir_query() returns packed buffer, rtl_ir prints
rxseger Jul 3, 2016
e493671
rtl_ir: flush output after writing (so can use with |xxd -b)
rxseger Jul 3, 2016
b446cd1
Read data when IR_RX_IF returns 0x82, 0x81 not only 0x83
rxseger Jul 3, 2016
0cd8007
rtl_tcp: add -I to enable infrared listener port (rtl_ir)
rxseger Jul 3, 2016
c45833a
Fix compile warnings with GCC 4.9.2
rxseger Jul 3, 2016
3ae2072
Do not read when IR_RX_IF returns 0x82/1, fixes -7 libusb timeout on RPi
rxseger Jul 3, 2016
c4e955c
Only read if IR_RX_BC returns 0x83, to match Linux DVB driver
rxseger Jul 3, 2016
ac856a0
Merge branch 'master' into rpc
rxseger Jul 3, 2016
110c4a5
rtl_rpcd: accept command-line arguments
rxseger Jul 3, 2016
8706062
Merge branch 'development' into rpc
rxseger Jul 3, 2016
a577352
Merge branch 'development' into ir
rxseger Jul 3, 2016
3a1f3ec
Merge branch 'ir'
rxseger Jul 4, 2016
69b1931
Merge branch 'rpc'
rxseger Jul 4, 2016
04992ac
rtl_rpcd: add IR listening option
rxseger Jul 3, 2016
2316a13
rtl_rpcd: on IR thread, use select() to check if can send instead of …
rxseger Jul 4, 2016
3cda64c
Bug Fix for some Broken MinGW PThreads sources
racerxdl Jul 22, 2016
bf3319d
Merge pull request #10 from librtlsdr/PThreadsFix
racerxdl Jul 22, 2016
183245f
Merge pull request #9 from rxseger/ir
racerxdl Jul 22, 2016
44cef14
Merge pull request #11 from rxseger/rpc_ir
racerxdl Jul 22, 2016
3e80bdf
Change version to 0.6
racerxdl Jul 22, 2016
df4a682
Merge pull request #12 from librtlsdr/VersionChange
racerxdl Jul 23, 2016
f0c0e8a
Disabling RPC in Windows builds. It uses POSIX calls and we should po…
racerxdl Aug 17, 2016
7228e75
Sorry, wrong notation at CMAKE
racerxdl Aug 17, 2016
5cec665
Merge pull request #13 from librtlsdr/DRPCWIN
racerxdl Aug 17, 2016
6b314e0
Merge pull request #15 from librtlsdr/development
racerxdl Aug 19, 2016
751bc98
Changed debianize scripts to have x32 and x64
racerxdl Aug 23, 2016
35bf7ad
minor fix
hayguen Aug 29, 2016
e35935f
Fix misc. compilation issues, update gitignore
ddcc Sep 16, 2016
609e87b
Merge pull request #19 from ddcc/master
racerxdl Sep 17, 2016
4fd7924
Merge remote-tracking branch 'steve-m/master'
racerxdl Nov 28, 2016
7fe3ba3
Added Bias T Support from RTL-SDR Blog V3 Dongle
racerxdl Aug 17, 2016
83a441a
Added GPIO Fix as suggested by RTL-SDR Admin
racerxdl Aug 17, 2016
582c361
minor fix
hayguen Aug 29, 2016
23ce5dd
fix rtl_tcp's default bufferlength for smooth streaming
hayguen Aug 29, 2016
6c78076
added cli '-E biasT' to rtl_fm and allow control over rtl_tcp
hayguen Aug 29, 2016
4c25b38
option '-T' for activating bias-T in rtl_(adsb|fm|power|tcp)
hayguen Aug 30, 2016
34bbae3
deactivate bias-T with rtlsdr_close()
hayguen Aug 30, 2016
43c4028
direct sampling mode switching depending on center_frequency
hayguen Aug 31, 2016
f286059
silence compiler warning, complaining C90 declaration after statement
hayguen Sep 7, 2016
7514924
allow units for samplerate with rtl_test option '-s'
hayguen Sep 8, 2016
3a82583
scanning via csv command file with specific gain and command-executio…
hayguen Sep 9, 2016
dd2eea3
README explaining rtl_fm option '-C' and the command file
hayguen Sep 9, 2016
4f1bdf8
added options adcmax and adcrms in command file and blocksize
hayguen Sep 14, 2016
484469d
updated README.rtlfm_cmdfile: added keywords adcmax and adcrms
hayguen Sep 15, 2016
90afc43
Added option '-w' to rtl_sdr that allows setting the tuner bandwidth.
lmutt Sep 25, 2016
30a3216
Moved include rtl_tcp.h from rtl-sdr.h to rtl_tcp.c (where it should be)
racerxdl Oct 1, 2016
3106ce1
Updated to v0.7
racerxdl Nov 28, 2016
9d9319c
Merge pull request #25 from librtlsdr/v0.7-propose
racerxdl Nov 28, 2016
2c6201a
Fixed debianize to include pkgconfig script
racerxdl Nov 28, 2016
b2dff29
Added Bias T Support from RTL-SDR Blog V3 Dongle
racerxdl Aug 17, 2016
d621bf0
minor fix
hayguen Aug 29, 2016
0c27010
Fixed missing stddef.h in rtl-sdr.h
racerxdl Dec 4, 2016
21f87a6
Merge pull request #28 from librtlsdr/development
racerxdl Dec 4, 2016
acc3126
rtl_tcp: usleep definition for windows
guruofquality Dec 5, 2016
9b03f75
rtl_ir: round() provided by newer MSVC
guruofquality Dec 5, 2016
51ae5b5
rtl_fm: snprintf for older MSVC
guruofquality Dec 5, 2016
c20ba84
Fix check for NEED_PTHREADS_WORKARROUND
guruofquality Dec 5, 2016
1b1acb5
Merge pull request #30 from pothosware/master
racerxdl Dec 8, 2016
460baa9
Added ARM Hard Float Debianize
racerxdl Dec 21, 2016
0f729ea
Fedora "libusb-1.0/libusb.h" support append.
MiniLight Dec 3, 2016
06ab160
A UDP version of the implementation for rtl_tcp
MiniLight Dec 4, 2016
0281d08
don't need this.
MiniLight Dec 4, 2016
e892ab6
UDP need to manually terminate the data transmission
MiniLight Dec 5, 2016
d86cf51
Two small fixes
MiniLight Dec 10, 2016
730e6f6
cmd is one byte only.
MiniLight Dec 10, 2016
c28886f
Print frequency on PLL locking failure.
tomtastic Jan 11, 2017
0ce6332
Merge pull request #33 from tomtastic/patch-1
racerxdl Jan 15, 2017
9cc63a9
Add contrib info to the readme (#42)
jpoirier Feb 14, 2017
69409fa
Add contrib info to the readme (#42)
jpoirier Feb 14, 2017
c7d970a
Merge pull request #45 from jpoirier/master
jpoirier Feb 15, 2017
dade15f
fixes issue #39
jpoirier Feb 15, 2017
7514ce9
Merge pull request #46 from jpoirier/development
jpoirier Feb 15, 2017
7cefcce
bugfix compiler error on windows for rtl_udp
hayguen Feb 15, 2017
7d46a6e
added missing tools to win32-qtcreator/CMakeLists.txt
hayguen Feb 15, 2017
f236b57
added OPTION RTL_STATIC_BUILD for MinGW/Win32, default: ON
hayguen Feb 15, 2017
ea168c1
changed default of option RTL_FULL_STATIC_BUILD to ON
hayguen Feb 15, 2017
769da46
Merge pull request #47 from hayguen/development
racerxdl Apr 9, 2017
fa06ddb
Merge branch 'development' into master
deeprtl Mar 24, 2018
f220d81
added cmake option LINK_RTLTOOLS_AGAINST_STATIC_LIB
hayguen Jun 11, 2018
3df6090
fix rtl_udp target_link_libraries
hayguen Jun 11, 2018
3180dba
Merge commit '9573e68' from 'osmocom/master'
xloem Oct 3, 2018
e4da2e4
Merge deeprtl PR #61 into development
xloem Oct 3, 2018
a4f0de4
Merge commit '8a26aba' from 'osmocom/master'
xloem Oct 3, 2018
ea24b43
debian: update version to match librtlsdr
xloem Oct 3, 2018
0229ee2
Merge commit '1f0eafe60' from 'osmocom/master'
xloem Oct 3, 2018
4d21e62
Merge pull request #62 from xloem/development
hayguen Oct 29, 2018
e30dbd5
amend usage, that option '-d' also accepts serial
hayguen Oct 11, 2018
fd36226
Merge pull request #63 from hayguen/development
hayguen Oct 29, 2018
3b60de6
added USB vendor/device ID for use with and without dvb drivers
hayguen Nov 6, 2018
26bb67a
docs and extra options for rtl_eeprom for new vendor/product ID
hayguen Nov 27, 2018
1855741
apply mutability patch from https://github.com/steve-m/librtlsdr/pull/10
itdaniher Jan 8, 2019
79825c1
Merge pull request #66 from itdaniher/mutability-take3
hayguen Jan 13, 2019
dc3c2da
new API function rtlsdr_set_opt_string()
hayguen Jan 13, 2019
66688fc
Merge pull request #67 from hayguen/development
jpoirier Jan 13, 2019
53a8fd8
added options '-O' for rtl options and '-v' for verbosity to rtl_sdr
hayguen Jan 17, 2019
8719f28
unify command line usage formatting
hayguen Mar 10, 2019
b812666
added option '-H' to write wave Header for rtl_sdr and rtl_fm
hayguen Mar 10, 2019
4ece366
start of softagc - runs initially at start and after relevant changes
hayguen Apr 13, 2019
dd313f8
expose/permit hacking of Tuner-specific I2C registers
hayguen Apr 20, 2019
00fe84c
more register hacking - with environment variables
hayguen Apr 20, 2019
ec5ebcc
better usage of R820T filters - parts from Alexander Kurpiers (DL8AAU)
hayguen Apr 20, 2019
35bfcd6
applied changes from https://github.com/gat3way/r820tweak
hayguen Apr 28, 2019
48d7263
changes from https://sourceforge.net/projects/librtlsdr-wincontrol/
hayguen Apr 28, 2019
ce12ac0
further changes/additions for udp server
hayguen May 5, 2019
d6e2a8a
udp server now optional, default:off. +fixe data/mask-order
hayguen Jun 19, 2019
cfc56ba
add API rtlsdr_set_tuner_band_center() +rtl_tcp +rtl_udp
hayguen Jun 19, 2019
7ef5e11
minor fix
hayguen Jul 12, 2019
3f3fefc
extracted wavewrite from convenience, improved rtl_fm
hayguen Jul 18, 2019
d6d3be3
added API rtlsdr_set_tuner_agc_mode(), updated r82xx_set_bandwidth()
hayguen Jul 14, 2019
622b614
bugfix and removal of compiler warnings
hayguen Jul 19, 2019
fdaaed9
cmake option WITH_RPC - defaulting to OFF
hayguen Jul 20, 2019
8b69f59
bugfix - when writing non wave files
hayguen Jul 23, 2019
3079457
cleanup, minor fixes
hayguen Jul 27, 2019
75f97e5
enhance version information, added API functions for version
hayguen Jul 27, 2019
22a920d
merge of great additions, e.g. rtlsdr_set_tuner_sideband()
hayguen Jul 27, 2019
4feaa59
bugfixes and compiler warnings with gcc on linux
hayguen Jul 28, 2019
d4e181c
bugfix: recursive mutex is required for i2c/tuner lock
hayguen Jul 28, 2019
ab50557
added agc_variant = -2 for rtlsdr_set_tuner_agc_mode()
hayguen Jul 30, 2019
045c1ea
more comfort at command line options
hayguen Jul 30, 2019
0ff6a5a
allow empty option for "-O" without warning
hayguen Jul 31, 2019
a9ac4ba
added protocol description for rtl_tcp
hayguen Jul 31, 2019
9825bce
additional agc_variant modes for rtlsdr_set_tuner_agc_mode()
hayguen Aug 5, 2019
bc15b17
rtlsdr_set_tuner_agc_mode() -> rtlsdr_set_tuner_if_mode() and simplified
hayguen Aug 18, 2019
a500314
rtlsdr_set_tuner_if_mode() further simplified
hayguen Aug 20, 2019
993faef
rtl_fm: added options "-E [bcc|bclo|bchi]"
hayguen Sep 13, 2019
5abec7f
added tool rtl_raw2wav
hayguen Sep 14, 2019
f0b84e0
add time command parameters to rtl_raw2wav
hayguen Sep 15, 2019
153da10
workaround missing mkgmtime on mingw
hayguen Sep 15, 2019
57c2337
fix rtl_raw2wav: wav data size in header was wrong
hayguen Oct 7, 2019
b713e3f
rtl_raw2wav: deduce wave filename from raw filename
hayguen Oct 7, 2019
d3e2e52
added rtl_wavestat
hayguen Oct 27, 2019
ffdf40a
added rtl_wavestream
hayguen Oct 27, 2019
2c02431
allow reading wave file without 'auxi' chunk
hayguen Nov 1, 2019
635bd29
allow reading files recorded from ELAD software .. and others
hayguen Nov 20, 2019
0d6c4cb
bugfix: only halved data was saved
hayguen Nov 21, 2019
859ced2
usage message showing possible output formats
hayguen Feb 29, 2020
145144b
added helper script and smalle note in README for blacklisting
hayguen Mar 1, 2020
3196b9a
detailed RTL driver options usage, 'sb' options 0 (LSB) or 1 (USB)
hayguen Mar 18, 2020
423aee4
added support for rtlsdr_rpc_set_and_get_tuner_bandwidth in rtl_rpc
stef Apr 5, 2020
0f8d1fc
bugfix rtlsdr option -n, which could sometimes run endless ..
hayguen May 8, 2020
91dbae8
Merge pull request #68 from hayguen/development
hayguen Aug 1, 2020
07370a3
Merge pull request #72 from stef/development
hayguen Aug 1, 2020
748e456
fixes issue #39
jpoirier Feb 8, 2017
b09c635
specify number of seconds to run
psa-jforestier Feb 12, 2017
037d192
Add "volatile" to two fields of rtlsdr_dev
blacklion Feb 7, 2017
cb5b953
Non-volatile access to volatile object is UB.
blacklion Feb 14, 2017
0d369d9
Update rtl-sdr.h
xloem Aug 1, 2020
f937122
Merge pull request #74 from xloem/patch-1
hayguen Aug 1, 2020
e78ecb0
added driver option '-O' for direct sampling mode 'dm=' and threshold…
hayguen Aug 18, 2020
756d05c
fixed/amended API documentation on return
hayguen Aug 18, 2020
dc1e5a1
replaced all 'R820T' by 'R820T/2'
hayguen Aug 18, 2020
220d41c
bugfix: avoid printing "PLL not locked" when frequency is not initial…
hayguen Aug 18, 2020
883229d
bugfix, 2nd try: avoid printing "PLL not locked"
hayguen Aug 19, 2020
c59f109
lib: fix memory leak in rtlsdr_open()
steve-m Jul 16, 2019
2213a49
remove compiler warnings - amongst a lock error
hayguen Aug 19, 2020
2c2877e
rtl_power: fix NaN on 32 bit platforms (T. Kaminski)
hayguen Aug 19, 2020
a88dee8
fix api documentation in rtl-sdr.h
hayguen Aug 19, 2020
284b415
lib: Add GPIO version of the bias tee configuration API
hayguen Aug 19, 2020
cfceb5a
fixed gcc-9.3.0 compiler warnings and missing symbol in rtlsdr_rpc
hayguen Aug 19, 2020
d6337a2
rtl_biast: Add rtl_biast
hayguen Aug 20, 2020
c6bae83
added README_improvements.md
hayguen Aug 20, 2020
7396271
cmake/Modules/Version.cmake: don't use Git version if not in a Git repo
tpetazzoni Aug 11, 2020
76ee57b
prepare version for next release: 0.8
hayguen Aug 21, 2020
8098c2c
fixed errors, see https://github.com/librtlsdr/librtlsdr/issues/79
hayguen Aug 21, 2020
4a50d08
rtl_fm: bugfix from M. Curtis
keenerd Aug 26, 2014
8ba6592
rtl_fm: esbensen's discriminant
hayguen Aug 21, 2020
38cd80a
lib: cache i2c repeater
hayguen Aug 21, 2020
c605fa9
minor comment
hayguen Aug 21, 2020
981586c
fix aplay example in usage of rtl_fm
hayguen Aug 21, 2020
48da906
option to configure GPIO pin for biasT with rtlsdr_set_opt_string() f…
hayguen Aug 21, 2020
e42e577
rtl_test: r820t tuning range
hayguen Aug 21, 2020
4123e70
rtl_test: generic tuner range test
hayguen Aug 21, 2020
e315a41
bugfix, 3rd try: avoid printing "PLL not locked"
hayguen Aug 21, 2020
04ce5ec
rtl_test: abort tuner range test, for error -4 == LIBUSB_ERROR_NO_DEVICE
hayguen Aug 21, 2020
27628aa
convenience: No junk when device info isn't properly extracted.
hayguen Aug 21, 2020
a5a2cc2
amended README_improvements.md - mainly on rtl_fm
hayguen Aug 22, 2020
656a5b5
rtl_test: tests and verbose output for "lost at least .. bytes"
hayguen Aug 22, 2020
6efb9de
fixed usage for '-O ifm=' (VGA gain) and default value for that register
hayguen Aug 22, 2020
2d56e32
suppress PLL error printfs for tuner range tests with 'rtl_test -t'
hayguen Aug 22, 2020
d1395e2
fix API description for rtlsdr_set_tuner_if_mode()
hayguen Aug 23, 2020
3aa88a9
bugfix and clarify API function rtlsdr_get_tuner_gain()
hayguen Aug 23, 2020
d8f4482
(try to) fix 'd6d3be3 is breaking kal -s GSM900 channel visability'
hayguen Aug 23, 2020
6cda6dd
added LOG_API_CALLS for debugging
hayguen Aug 23, 2020
f03ed7a
allow setting options from environment variable "LIBRTLSDR_OPT"
hayguen Aug 24, 2020
ef238fe
rtl_power: epoch time
hayguen Aug 24, 2020
04cab17
patch from ValZapod to fix compilation/link issue on latest debian
hayguen Aug 24, 2020
6d8eff3
fix millisecond parsing - used in rtl_raw2wav command line
hayguen Aug 25, 2020
f911bcc
fix R820T register value from environment .. and deactivate all env s…
hayguen Aug 25, 2020
9856fa3
2nd try for fix R820T register value from environment
hayguen Aug 25, 2020
8456c0d
r82xx: set_dithering()
hayguen Aug 25, 2020
9d96df8
fixed R820T I2C register docs on PW_SDM and added DITHER bit
hayguen Aug 25, 2020
3b36ae5
document rtlsdr_set_dithering() in README_improvements
hayguen Aug 25, 2020
9f6e597
remove example in README .. as QIRX had other reasons ..
hayguen Aug 25, 2020
bff8cf7
remove compiler warnings, unused variables
hayguen Aug 26, 2020
a3349bd
activate/use RTL's IF AGC control .. from https://github.com/old-dab…
hayguen Aug 26, 2020
1af2be0
(try to) fix compilation error on mac os catalina
hayguen Aug 30, 2020
39d2252
fixed bug with mac os using another time struct
theresiasnow Aug 30, 2020
3864bf7
Merge pull request #90 from theresiasnow/bugfix/mac_os_time_struct_fix
hayguen Aug 30, 2020
35b8c01
added gpio functions to API and extended rtl_biast
hayguen Aug 31, 2020
2b88e89
caching of GPIO mode (in/out) and rtl_tcp commands for GPIO
hayguen Sep 1, 2020
e5cdaf1
added docs on GPIO pins and the API
hayguen Sep 3, 2020
5868a66
added github actions, building linux and macos
hayguen Sep 6, 2020
3551e61
.cmake files are relevant in cmake/Modules subdirectory
hayguen Sep 6, 2020
907da08
printing error messages when rtl_tcp commands fail
hayguen Sep 9, 2020
c7d071e
added librtsdr options vcocmin/vcocmax/vcoalgo for testing
hayguen Sep 9, 2020
1819a8d
bugfix for vco options, added rtlsdr_is_tuner_PLL_locked() to API
hayguen Sep 10, 2020
776c31a
fixed compiler warning on vco_max value 3.9 GHz
hayguen Sep 10, 2020
7c6b9e0
rtl_tcp: fixed erroneous message and added last_lock_report
hayguen Sep 10, 2020
6fc09b8
detailed error messages when r82xx_set_pll() fails with verbose flag
hayguen Sep 10, 2020
f8c6475
added bandwidths 1200, 1800, 2200, 3000 and 5000 kHz for R820T/2
hayguen Sep 16, 2020
8ef067e
fix compiler warnings/errors
hayguen Sep 16, 2020
233d634
update R820T/2 register description, source https://github.com/old-da…
hayguen Sep 19, 2020
28b24d6
enable fix internal UDP server for non WIN32
hayguen Sep 19, 2020
c00760e
reception on fifth harmonic for frequencies above 1.76 GHz
hayguen Sep 19, 2020
40bef25
added missing commands and error messages to rtl_udp
hayguen Sep 21, 2020
e87559f
added passthrough driver option 'harm=' to set n-th harmonic
hayguen Sep 23, 2020
6e5e99a
support frequencies above 32 bit limit: ~ 4.29 GHz
hayguen Sep 26, 2020
edd1bda
bugfix r82xx_set_mux(): had missed to change to 64 bit
hayguen Sep 26, 2020
63d2218
cross build for win32 and win64(amd64) using mingw-gcc and github act…
hayguen Sep 30, 2020
514129f
add md5 and sha1 checksum for mingw cross builds
hayguen Oct 3, 2020
6a51ce9
update READMEs
hayguen Oct 4, 2020
710d578
minor fix in README
hayguen Oct 7, 2020
fe22586
add rtl-sdr blog v4 support
Aug 21, 2023
fa89ec0
increment librtlsdr version from 0.8 to 2.1
hayguen Mar 20, 2024
4ded46d
fix windows binary mode for stdout
hayguen Mar 20, 2024
b1c54d0
wavewrite: added missing gettimeofday for msvc
guruofquality Dec 4, 2020
9c599b9
msvc: fix for linking rtl_biast with libopt
guruofquality Dec 4, 2020
5dbb000
Fix building librtlsdr on OpenBSD
tuftedocelot Apr 17, 2021
8ee4ddc
Fix cmake_minimum_required to avoid warning
johanhedin May 28, 2021
7f12fbf
Use range instead of specific version
johanhedin May 29, 2021
bc9edc4
cmake: add "libusb-1.0" to libusb search names to match output of Win…
ncorgan Aug 8, 2021
0eb3923
Make librtlsdr cmake subdirectory friendly
johanhedin May 28, 2021
9cae857
allow add_subdirectory() as git submodule, fix rc compilation with VC
hayguen Nov 14, 2021
580524b
Handle USB bulk transfer timeouts
acinonyx Feb 17, 2021
386a735
rtl_power: fix mem leak for valgrind
hayguen Mar 20, 2024
b45281b
Suppress warning in the build in macOS
Lewuathe Jan 16, 2024
537d2c5
Only create uninstall target if it does not exist
johanhedin Jan 12, 2024
cd36c28
revert major version number: new: 0.9
hayguen Mar 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: C/C++ CI

on:
push:
branches: [ master, development ]
pull_request:
branches: [ master, development ]

jobs:
build_ubuntu-amd64_latest:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: prerequisites
# pre-installed on ubuntu-1804: build-essential, git 2.28.0, cmake 3.10/3.17, make
# pre-installed: clang 6.0 / 8 / 9, gcc/++ 7.5.0/8.4.0/9.3.0
run: sudo apt -qq update && sudo apt -yqq install libusb-1.0-0-dev
- name: cmake_make
run: mkdir build && cmake -S . -B build && cd build && make
- name: compress
run: tar zcvf librtlsdr_build_ubuntu-amd64_latest.tar.gz --directory=build/src --exclude=CMakeFiles --exclude=*.cmake --exclude=Makefile --exclude=rtl_app_ver.h .
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: ubuntu_latest_build
path: librtlsdr_build_ubuntu-amd64_latest.tar.gz

build_macos_latest:
runs-on: macos-latest

steps:
- uses: actions/checkout@v2
#- name: prerequisites
# pre-installed on macos-10.15: git 2.28.0, cmake 3.18.2, libusb 1.0.23
# pre-installed: clang/LLVM 10.0.1, gcc/++ 8.4.0/9.3.0
# run: brew install libusb
- name: cmake_make
run: mkdir build && cmake -S . -B build && cd build && make
- name: compress
run: tar zcvf librtlsdr_build_macos-latest.tar.gz --directory=build/src --exclude=CMakeFiles --exclude=*.cmake --exclude=Makefile --exclude=rtl_app_ver.h .
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: macos_latest_build
path: librtlsdr_build_macos-latest.tar.gz

cross_build_win32_win64_latest:
runs-on: ubuntu-20.04

steps:
- uses: actions/checkout@v2
- name: prerequisites
run: sudo apt -qq update && sudo apt -yqq install gcc-mingw-w64
- name: build_w32_static
run: bash ./cross_build_mingw32.sh static -DLINK_RTLTOOLS_AGAINST_STATIC_LIB=ON
- name: build_w32_static_udpsrv
run: bash ./cross_build_mingw32.sh static_udpsrv -DLINK_RTLTOOLS_AGAINST_STATIC_LIB=ON -DPROVIDE_UDP_SERVER=ON
- name: build_w32_dlldep
run: bash ./cross_build_mingw32.sh dlldep
- name: build_w32_dlldep_udpsrv
run: bash ./cross_build_mingw32.sh dlldep_udpsrv -DPROVIDE_UDP_SERVER=ON

- name: build_w64_static
run: bash ./cross_build_mingw64.sh static -DLINK_RTLTOOLS_AGAINST_STATIC_LIB=ON
- name: build_w64_static_udpsrv
run: bash ./cross_build_mingw64.sh static_udpsrv -DLINK_RTLTOOLS_AGAINST_STATIC_LIB=ON -DPROVIDE_UDP_SERVER=ON
- name: build_w64_dlldep
run: bash ./cross_build_mingw64.sh dlldep
- name: build_w64_dlldep_udpsrv
run: bash ./cross_build_mingw64.sh dlldep_udpsrv -DPROVIDE_UDP_SERVER=ON

- name: 'upload w32 static artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w32_static
path: rtlsdr-bin-w32_static/bin/
- name: 'upload w32 static_udpsrv artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w32_static_udpsrv
path: rtlsdr-bin-w32_static_udpsrv/bin/
- name: 'upload w32 dlldep artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w32_dlldep
path: rtlsdr-bin-w32_dlldep/bin/
- name: 'upload w32 dlldep_udpsrv artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w32_dlldep_udpsrv
path: rtlsdr-bin-w32_dlldep_udpsrv/bin/

- name: 'upload w64 static artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w64_static
path: rtlsdr-bin-w64_static/bin/
- name: 'upload w64 static_udpsrv artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w64_static_udpsrv
path: rtlsdr-bin-w64_static_udpsrv/bin/
- name: 'upload w64 dlldep artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w64_dlldep
path: rtlsdr-bin-w64_dlldep/bin/
- name: 'upload w64 dlldep_udpsrv artifact'
uses: actions/upload-artifact@v2
with:
name: rtlsdr-bin-w64_dlldep_udpsrv
path: rtlsdr-bin-w64_dlldep_udpsrv/bin/

17 changes: 16 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,19 @@ src/rtl_tcp
CMakeCache.txt
*/CMakeFiles
CMakeFiles
*.cmake
build

**/*.o
**/*.so*
**/*.a
src/rtl_adsb
src/rtl_eeprom
src/rtl_fm
src/rtl_ir
src/rtl_power
src/rtl_rpcd
src/rtl_test

debianize/*.deb
.cproject
.project
80 changes: 68 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,28 +21,52 @@
########################################################################
# Project setup
########################################################################
cmake_minimum_required(VERSION 2.6)
cmake_minimum_required(VERSION 2.6...3.19)
project(rtlsdr C)

# quite old cmake version - probably for compatibility with old OS versions?
# see https://cmake.org/cmake/help/cmake2.6docs.html


#select the release build type by default to get optimization flags
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
message(STATUS "Build type not specified: defaulting to release.")
endif(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")

list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)

if(NOT LIB_INSTALL_DIR)
set(LIB_INSTALL_DIR lib)
endif()

OPTION(LINK_RTLTOOLS_AGAINST_STATIC_LIB "Link rtl-tools statically against librtlsdr" OFF)

OPTION(PROVIDE_UDP_SERVER "Provide UDP server for tests" OFF)

OPTION(WITH_RPC "RPC for non-Windows" OFF)

# Set the version information here
set(VERSION_INFO_MAJOR_VERSION 0) # increment major on api compatibility changes
set(VERSION_INFO_MINOR_VERSION 6) # increment minor on feature-level changes
set(VERSION_INFO_PATCH_VERSION 0) # increment patch for bug fixes and docs
set(VERSION_INFO_MINOR_VERSION 9) # increment minor on feature-level changes
set(VERSION_INFO_PATCH_VERSION git) # increment patch for bug fixes and docs
include(Version) # setup version info

########################################################################
# Version defines to include in library and tools
########################################################################

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/src/rtl_app_ver.h.in
${CMAKE_CURRENT_BINARY_DIR}/src/rtl_app_ver.h
@ONLY )


if(PROVIDE_UDP_SERVER)
add_definitions(-DWITH_UDP_SERVER)
endif()

########################################################################
# Compiler specific setup
########################################################################
Expand All @@ -59,12 +83,40 @@ elseif(MSVC14 OR MSVC14)
#pthread-w32 issue, timespec is now part of time.h
ADD_DEFINITIONS(-D_TIMESPEC_DEFINED)
endif()
if (APPLE)
set(CMAKE_MACOSX_RPATH ON)
endif (APPLE)

OPTION(RTL_STATIC_BUILD "Build rtl-tools static (except RTLSDR.DLL) on MinGW/Win32" ON)
if(RTL_STATIC_BUILD)
if (WIN32)
if(MINGW)
# Special MINGW stuff here
# see https://cmake.org/pipermail/cmake/2012-September/051970.html
# see http://stackoverflow.com/questions/13768515/how-to-do-static-linking-of-libwinpthread-1-dll-in-mingw
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc -static")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++")
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS} -static-libgcc -s")
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS} -static-libgcc -static-libstdc++ -s")
endif()
endif()
endif()


#########################################################################
# Bug Fix
#########################################################################
OPTION(NEED_PTHREADS_WORKARROUND "PThreads Workarround for timespec")
IF (NEED_PTHREADS_WORKARROUND)
ADD_DEFINITIONS(-DNEED_PTHREADS_WORKARROUND)
ENDIF()

########################################################################
# Find build dependencies
########################################################################
find_package(PkgConfig)
find_package(LibUSB)
cmake_policy(SET CMP0075 NEW)
if(WIN32 AND NOT MINGW)
set(THREADS_USE_PTHREADS_WIN32 true)
endif()
Expand All @@ -80,8 +132,9 @@ endif()
# Setup the include and linker paths
########################################################################
include_directories(
${CMAKE_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/include
${LIBUSB_INCLUDE_DIR}
${CMAKE_CURRENT_BINARY_DIR}/src
${THREADS_PTHREADS_INCLUDE_DIR}
)

Expand All @@ -95,14 +148,17 @@ include_directories(
########################################################################
# Create uninstall target
########################################################################
configure_file(
${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
@ONLY)
if(NOT TARGET uninstall)
configure_file(
${PROJECT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
@ONLY
)

add_custom_target(uninstall
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
)
add_custom_target(uninstall
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
)
endif()

########################################################################
# Install udev rules
Expand Down
6 changes: 0 additions & 6 deletions README

This file was deleted.

113 changes: 113 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
[![librtlsdr version](https://img.shields.io/github/tag/librtlsdr/librtlsdr.svg?style=flat&label=librtlsdr)](https://github.com/librtlsdr/librtlsdr/releases)
[![GPLv2 License](http://img.shields.io/badge/license-GPLv2-brightgreen.svg)](https://tldrlegal.com/license/gnu-general-public-license-v2)

# Description

rtl-sdr turns your Realtek RTL2832 based DVB dongle into a SDR receiver


# New enhancements and features in this version

Many different developments have been taken in this release. For an overview, see [improvements](README_improvements.md)

# Build / Install (on debian/ubuntu)

## prerequisites
development tools have to be installed:
```
sudo apt-get install build-essential cmake git
```

install the libusb-1.0 development package::
```
sudo apt-get install libusb-dev libusb-1.0-0-dev
```

## retrieve the sources - right branch

```
git clone https://github.com/librtlsdr/librtlsdr.git
```

in case you want the *development* branch, e.g. for testing or preparing patches:
```
cd librtlsdr
git checkout development
```

by default, you should have the *master* branch, in doubt:
```
cd librtlsdr
git status
git checkout master
```

## build
run cmake and start compilation. cmake will accept some options, e.g.
* `-DINSTALL_UDEV_RULES=ON`, default is `OFF`
* `-DDETACH_KERNEL_DRIVER=ON`, default is `OFF`
* `-DPROVIDE_UDP_SERVER=ON`, default is `OFF`
* `-DWITH_RPC=ON`, default is `OFF`
* `-DLINK_RTLTOOLS_AGAINST_STATIC_LIB=ON`, default is `OFF`
* `-DRTL_STATIC_BUILD=OFF`, default is `ON`: for MINGW on WIN32

all cmake options are optional

```
mkdir build && cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
```

## install
setup into prefix, usually will require `sudo`:
```
sudo make install
sudo ldconfig
```

# Development builds / binaries

[GitHub Actions](https://github.com/librtlsdr/librtlsdr/actions) is used for development builds - for Linux (x86), MacOS and Windows x86 32/64.
Cross-builds for Windows from a Linux machine: see [cross_build_mingw32.sh](cross_build_mingw32.sh) or [cross_build_mingw64.sh](cross_build_mingw64.sh)

# For more information see:

http://superkuh.com/rtlsdr.html

https://osmocom.org/projects/rtl-sdr/wiki/Rtl-sdr


# Setup for SDR only use - without DVB compatibility:

- a special USB vendor/product id got reserved at http://pid.codes/ : 0x1209/0x2832
- for such devices the linux kernel's DVB modules are not loaded automatically,
thus can be used without blacklisting *dvb_usb_rtl28xxu* below /etc/modprobe.d/
- this allows to use a second RTL dongle for use with DVB in parallel
- the IDs can be programmed with '`rtl_eeprom -n`' or '`rtl_eeprom -g realtek_sdr`'
- for permanent blacklisting you might check/call following from the clone git directory
```./install-blacklist.sh```


# Contributing

Pull requests are always welcome but please make changes to, and pull request from, the development branch.

## Initial setup:

- fork the librtlsdr repo via GitHub
- clone your fork locally and cd to the cloned repo's folder
- add the upstream development repo:
* `git remote add upstream [email protected]:librtlsdr/librtlsdr.git`
- track the development branch:
* `git branch --track development origin/development`

## Normal workflow:

- checkout the development branch and make your changes
- commit your changes
- sync your local development branch with the upstream development branch:
* `git fetch upstream`
* `git merge upstream/development`
- push your commit/s to your forked repo
- do a pull request via GitHub
Loading