From 8837ae3c9eb59431cee1d8ef1fc808f631122796 Mon Sep 17 00:00:00 2001 From: Ramakrishnan Muthukrishnan Date: Wed, 11 Jan 2023 20:27:46 +0530 Subject: [PATCH] attempt to add level control to transmitted CW samples --- transmitter.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/transmitter.c b/transmitter.c index 7520e75..7c7b7ba 100644 --- a/transmitter.c +++ b/transmitter.c @@ -1056,7 +1056,7 @@ static void full_tx_buffer(TRANSMITTER *tx) { // for (j=0; j< 480; j++) { new_protocol_iq_samples(0,0); - } + } } txflag=1; // @@ -1155,7 +1155,11 @@ void add_mic_sample(TRANSMITTER *tx,float mic_sample) { double mic_sample_double, ramp; int i,s; int updown; + double gain = 1.0; +#ifdef SW_LEVEL_CTRL + gain=gain*(double)transmitter->drive_level*0.00392; +#endif // // silence TX audio if tuning, or when doing CW. // (in order not to fire VOX) @@ -1204,8 +1208,10 @@ void add_mic_sample(TRANSMITTER *tx,float mic_sample) { // side tone ramp=cwramp48[cw_shape]; cwsample=0.00197 * getNextSideToneSample() * cw_keyer_sidetone_volume * ramp; - if(active_receiver->local_audio) cw_audio_write(active_receiver,cwsample); - cw_shape_buffer48[tx->samples]=ramp; + if(active_receiver->local_audio) + cw_audio_write(active_receiver,cwsample); + + cw_shape_buffer48[tx->samples]=ramp*gain; // // In the new protocol, we MUST maintain a constant flow of audio samples to the radio // (at least for ANAN-200D and ANAN-7000 internal side tone generation) -- 2.45.2