SDR: Turn TX power off if requested by network

The power level is ramped smoothly within 1 ms up or down.

R2000, AMPS and C-Netz turn off power when voice channel is not i use.

C-Netz turns off power between OgK timeslots.
This commit is contained in:
Andreas Eversberg
2017-08-19 12:27:05 +02:00
parent 1c2e9180a2
commit 743d147d16
17 changed files with 221 additions and 116 deletions

View File

@@ -690,6 +690,7 @@ void process_call(int c)
/* handle audio, if sound device is used */
sample_t samples[call.latspl + 10], *samples_list[1];
uint8_t *power_list[1];
int count;
int rc;
@@ -725,7 +726,8 @@ void process_call(int c)
jitter_load(&call.dejitter, samples, count);
}
samples_list[0] = samples;
rc = sound_write(call.sound, samples_list, count, NULL, NULL, 1);
power_list[0] = NULL;
rc = sound_write(call.sound, samples_list, power_list, count, NULL, NULL, 1);
if (rc < 0) {
PDEBUG(DSENDER, DEBUG_ERROR, "Failed to write TX data to sound device (rc = %d)\n", rc);
if (rc == -EPIPE)