kopia lustrzana https://github.com/keenerd/rtl-sdr
rtl_test: r820t tuning range
rodzic
0bba67ab45
commit
c5d7ebee5c
|
@ -76,7 +76,7 @@ void usage(void)
|
||||||
"Usage:\n"
|
"Usage:\n"
|
||||||
"\t[-s samplerate (default: 2048000 Hz)]\n"
|
"\t[-s samplerate (default: 2048000 Hz)]\n"
|
||||||
"\t[-d device_index (default: 0)]\n"
|
"\t[-d device_index (default: 0)]\n"
|
||||||
"\t[-t enable Elonics E4000 tuner benchmark]\n"
|
"\t[-t enable E4000 or R820T tuner range benchmark]\n"
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
"\t[-p[seconds] enable PPM error measurement (default: 10 seconds)]\n"
|
"\t[-p[seconds] enable PPM error measurement (default: 10 seconds)]\n"
|
||||||
#endif
|
#endif
|
||||||
|
@ -267,6 +267,33 @@ void e4k_benchmark(void)
|
||||||
gap_start/MHZ(1), gap_end/MHZ(1));
|
gap_start/MHZ(1), gap_end/MHZ(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void r820t_benchmark(void)
|
||||||
|
{
|
||||||
|
uint32_t freq;
|
||||||
|
uint32_t range_start = 0, range_end = 0;
|
||||||
|
|
||||||
|
fprintf(stderr, "Benchmarking R820T PLL...\n");
|
||||||
|
|
||||||
|
/* find tuner range start */
|
||||||
|
for (freq = MHZ(30); freq > MHZ(1); freq -= MHZ(1)) {
|
||||||
|
if (rtlsdr_set_center_freq(dev, freq)) {
|
||||||
|
break;}
|
||||||
|
range_start = freq;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* find tuner range end */
|
||||||
|
for (freq = MHZ(1750); freq < MHZ(1950UL); freq += MHZ(1)) {
|
||||||
|
if (rtlsdr_set_center_freq(dev, freq)) {
|
||||||
|
break;}
|
||||||
|
range_end = freq;
|
||||||
|
}
|
||||||
|
|
||||||
|
fprintf(stderr, "R820T range: %i to %i MHz\n",
|
||||||
|
range_start/MHZ(1), range_end/MHZ(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
|
@ -360,11 +387,16 @@ int main(int argc, char **argv)
|
||||||
verbose_set_sample_rate(dev, samp_rate);
|
verbose_set_sample_rate(dev, samp_rate);
|
||||||
|
|
||||||
if (test_mode == TUNER_BENCHMARK) {
|
if (test_mode == TUNER_BENCHMARK) {
|
||||||
if (rtlsdr_get_tuner_type(dev) == RTLSDR_TUNER_E4000)
|
switch (rtlsdr_get_tuner_type(dev)) {
|
||||||
e4k_benchmark();
|
case RTLSDR_TUNER_E4000:
|
||||||
else
|
e4k_benchmark();
|
||||||
fprintf(stderr, "No E4000 tuner found, aborting.\n");
|
break;
|
||||||
|
case RTLSDR_TUNER_R820T:
|
||||||
|
r820t_benchmark();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
fprintf(stderr, "No testable tuner found, aborting.\n");
|
||||||
|
}
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue