direct sampling added to rtl_tcp
parent
775daa821f
commit
9d3d8a5faf
6
README
6
README
|
@ -4,3 +4,9 @@ turns your Realtek RTL2832 based DVB dongle into a SDR receiver
|
||||||
|
|
||||||
For more information see:
|
For more information see:
|
||||||
https://osmocom.org/projects/rtl-sdr/wiki
|
https://osmocom.org/projects/rtl-sdr/wiki
|
||||||
|
|
||||||
|
Modified RTL-SDR Blog Version
|
||||||
|
|
||||||
|
1) VCO PLL current fix - Improves stability at frequencies above ~1.5 GHz https://www.rtl-sdr.com/beta-testing-a-modified-rtl-sdr-driver-for-l-band-heat-issues/
|
||||||
|
2) RTL_TCP ring buffer enhancement by Stephen Blinick https://www.rtl-sdr.com/significantly-improving-rtl_tcps-performance-with-ring-buffers/
|
||||||
|
3) Enabled direct sampling for rtl_tcp
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
/etc/udev/rules.d/rtl-sdr.rules
|
||||||
|
/usr/local/lib/pkgconfig/librtlsdr.pc
|
||||||
|
/usr/local/include/rtl-sdr.h
|
||||||
|
/usr/local/include/rtl-sdr_export.h
|
||||||
|
/usr/local/lib/librtlsdr.so.0.6git
|
||||||
|
/usr/local/lib/librtlsdr.so.0
|
||||||
|
/usr/local/lib/librtlsdr.so
|
||||||
|
/usr/local/lib/librtlsdr.a
|
||||||
|
/usr/local/bin/rtl_sdr
|
||||||
|
/usr/local/bin/rtl_tcp
|
||||||
|
/usr/local/bin/rtl_test
|
||||||
|
/usr/local/bin/rtl_fm
|
||||||
|
/usr/local/bin/rtl_eeprom
|
||||||
|
/usr/local/bin/rtl_adsb
|
||||||
|
/usr/local/bin/rtl_power
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
||||||
|
librtlsdr.so.0
|
|
@ -0,0 +1 @@
|
||||||
|
librtlsdr.so.0.6git
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -913,7 +913,7 @@ int main(int argc, char **argv)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (direct_sampling) {
|
if (direct_sampling) {
|
||||||
verbose_direct_sampling(dev, 1);
|
verbose_direct_sampling(dev, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (offset_tuning) {
|
if (offset_tuning) {
|
||||||
|
|
|
@ -98,7 +98,8 @@ void usage(void)
|
||||||
"\t[-n max number of linked list buffers to keep (default: 500)]\n"
|
"\t[-n max number of linked list buffers to keep (default: 500)]\n"
|
||||||
"\t[-d device index (default: 0)]\n"
|
"\t[-d device index (default: 0)]\n"
|
||||||
"\t[-P ppm_error (default: 0)]\n"
|
"\t[-P ppm_error (default: 0)]\n"
|
||||||
"\t[-T enable bias-T on GPIO PIN 0 (works for rtl-sdr.com v3 dongles)]\n");
|
"\t[-T enable bias-T on GPIO PIN 0 (works for rtl-sdr.com v3 dongles)]\n"
|
||||||
|
"\t[-D enable direct sampling (default: off)]\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,6 +375,7 @@ int main(int argc, char **argv)
|
||||||
int dev_given = 0;
|
int dev_given = 0;
|
||||||
int gain = 0;
|
int gain = 0;
|
||||||
int ppm_error = 0;
|
int ppm_error = 0;
|
||||||
|
int direct_sampling = 0;
|
||||||
struct llist *curelem,*prev;
|
struct llist *curelem,*prev;
|
||||||
pthread_attr_t attr;
|
pthread_attr_t attr;
|
||||||
void *status;
|
void *status;
|
||||||
|
@ -391,7 +393,7 @@ int main(int argc, char **argv)
|
||||||
struct sigaction sigact, sigign;
|
struct sigaction sigact, sigign;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
while ((opt = getopt(argc, argv, "a:p:f:g:s:b:d:P:T")) != -1) {
|
while ((opt = getopt(argc, argv, "a:p:f:g:s:b:d:P:T:D")) != -1) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'd':
|
case 'd':
|
||||||
dev_index = verbose_device_search(optarg);
|
dev_index = verbose_device_search(optarg);
|
||||||
|
@ -421,6 +423,9 @@ int main(int argc, char **argv)
|
||||||
case 'T':
|
case 'T':
|
||||||
enable_biastee = 1;
|
enable_biastee = 1;
|
||||||
break;
|
break;
|
||||||
|
case 'D':
|
||||||
|
direct_sampling = 1;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
usage();
|
usage();
|
||||||
break;
|
break;
|
||||||
|
@ -457,6 +462,11 @@ int main(int argc, char **argv)
|
||||||
SetConsoleCtrlHandler( (PHANDLER_ROUTINE) sighandler, TRUE );
|
SetConsoleCtrlHandler( (PHANDLER_ROUTINE) sighandler, TRUE );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Set direct sampling */
|
||||||
|
if (direct_sampling) {
|
||||||
|
verbose_direct_sampling(dev, 2);
|
||||||
|
}
|
||||||
|
|
||||||
/* Set the tuner error */
|
/* Set the tuner error */
|
||||||
verbose_ppm_set(dev, ppm_error);
|
verbose_ppm_set(dev, ppm_error);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue