diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2017-08-19 12:27:05 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2017-09-01 18:42:46 +0200 |
commit | 743d147d1672837595ae1d6aa024522f4a011614 (patch) | |
tree | 50c44e565e00700d90338835e681cbb1dccf8e9b /src/common/sdr.c | |
parent | 1c2e9180a2db989f26c5cff01eaa6ef12bb45011 (diff) |
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.
Diffstat (limited to 'src/common/sdr.c')
-rw-r--r-- | src/common/sdr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/common/sdr.c b/src/common/sdr.c index 3560466..ea873c1 100644 --- a/src/common/sdr.c +++ b/src/common/sdr.c @@ -557,7 +557,7 @@ void sdr_close(void *inst) } } -int sdr_write(void *inst, sample_t **samples, int num, enum paging_signal __attribute__((unused)) *paging_signal, int *on, int channels) +int sdr_write(void *inst, sample_t **samples, uint8_t **power, int num, enum paging_signal __attribute__((unused)) *paging_signal, int *on, int channels) { sdr_t *sdr = (sdr_t *)inst; float buffer[num * 2], *buff = NULL; @@ -576,9 +576,9 @@ int sdr_write(void *inst, sample_t **samples, int num, enum paging_signal __attr for (c = 0; c < channels; c++) { /* switch to paging channel, if requested */ if (on[c] && sdr->paging_channel) - fm_modulate_complex(&sdr->chan[sdr->paging_channel].mod, samples[c], num, buff); + fm_modulate_complex(&sdr->chan[sdr->paging_channel].mod, samples[c], power[c], num, buff); else - fm_modulate_complex(&sdr->chan[c].mod, samples[c], num, buff); + fm_modulate_complex(&sdr->chan[c].mod, samples[c], power[c], num, buff); } } else { buff = (float *)samples; |