sdr: RF level is only provided when requested and available
This commit is contained in:
parent
1708d24d73
commit
8c382431b5
|
@ -997,6 +997,8 @@ int sdr_read(void *inst, sample_t **samples, int num, int channels, double *rf_l
|
||||||
|
|
||||||
if (channels) {
|
if (channels) {
|
||||||
for (c = 0; c < channels; c++) {
|
for (c = 0; c < channels; c++) {
|
||||||
|
if (rf_level_db)
|
||||||
|
rf_level_db[c] = NAN;
|
||||||
if (sdr->chan[c].am)
|
if (sdr->chan[c].am)
|
||||||
am_demodulate_complex(&sdr->chan[c].am_demod, samples[c], count, buff, sdr->modbuff_I, sdr->modbuff_Q, sdr->modbuff_carrier);
|
am_demodulate_complex(&sdr->chan[c].am_demod, samples[c], count, buff, sdr->modbuff_I, sdr->modbuff_Q, sdr->modbuff_carrier);
|
||||||
else
|
else
|
||||||
|
@ -1013,6 +1015,7 @@ int sdr_read(void *inst, sample_t **samples, int num, int channels, double *rf_l
|
||||||
avg = sqrt(avg /(double)count); /* RMS */
|
avg = sqrt(avg /(double)count); /* RMS */
|
||||||
avg = log10(avg) * 20;
|
avg = log10(avg) * 20;
|
||||||
display_measurements_update(sdr->chan[c].dmp_rf_level, avg, 0.0);
|
display_measurements_update(sdr->chan[c].dmp_rf_level, avg, 0.0);
|
||||||
|
if (rf_level_db)
|
||||||
rf_level_db[c] = avg;
|
rf_level_db[c] = avg;
|
||||||
if (!sdr->chan[c].am) {
|
if (!sdr->chan[c].am) {
|
||||||
min = 0.0;
|
min = 0.0;
|
||||||
|
|
Loading…
Reference in New Issue