Implementation of RX level squelch (for A-Netz and B-Netz)

Use -S <dB> for setting RF level or use -S auto for auto level.

When squelch closes, audio is muted. If squelch is closed for some
seconds (depending on network), call is released. (RF loss condition)

The previous loss detection has been removed
This commit is contained in:
Andreas Eversberg
2017-10-09 20:49:14 +02:00
parent f7a0e4622b
commit b32e0ab602
33 changed files with 310 additions and 263 deletions

View File

@@ -700,7 +700,7 @@ int sdr_write(void *inst, sample_t **samples, uint8_t **power, int num, enum pag
return sent;
}
int sdr_read(void *inst, sample_t **samples, int num, int channels)
int sdr_read(void *inst, sample_t **samples, int num, int channels, double *rf_level_db)
{
sdr_t *sdr = (sdr_t *)inst;
float *buff = NULL;
@@ -794,6 +794,7 @@ int sdr_read(void *inst, sample_t **samples, int num, int channels)
avg = sqrt(avg /(double)count); /* RMS */
avg = log10(avg) * 20;
display_measurements_update(sdr->chan[c].dmp_rf_level, avg, 0.0);
rf_level_db[c] = avg;
min = 0.0;
max = 0.0;
avg = 0.0;