From: Ramakrishnan Muthukrishnan Date: Fri, 14 Jan 2022 10:57:19 +0000 (+0530) Subject: store and use the original real attenuation value before truncation X-Git-Url: https://git.rkrishnan.org/Site/Content/simplejson/status?a=commitdiff_plain;h=a744ba21362a0549c56e8efbc7e6c0a5624b7be9;p=pihpsdr.git store and use the original real attenuation value before truncation --- diff --git a/rigctl.c b/rigctl.c index 67e7cf2..6ab71dc 100644 --- a/rigctl.c +++ b/rigctl.c @@ -3463,7 +3463,7 @@ int parse_cmd(void *data) { if (command[2] == ';') { double att = 0.0; if (have_rx_gain) { - att = adc[active_receiver->adc].attenuation + 12.0; + att = adc[active_receiver->adc].attenuation_orig + 12.0; printf("after stage 1: %f\n", att); att = round(att * (99.0 / 60.0)); printf("after stage 2: %f\n", att); @@ -3480,7 +3480,7 @@ int parse_cmd(void *data) { printf("setting attn level [0..99]: %d\n", attI); if (have_rx_gain) { - att = round(((attI * 60.0) / 99.0) - 12.0); + att = ((attI * 60.0) / 99.0) - 12.0; } else { att = (attI * 31.0) / 99.0; } diff --git a/sliders.c b/sliders.c index 61569ad..f5d63ce 100644 --- a/sliders.c +++ b/sliders.c @@ -154,7 +154,8 @@ static void attenuation_value_changed_cb(GtkWidget *widget, gpointer data) { void set_attenuation_value(double value) { g_print("%s\n",__FUNCTION__); printf("last attn value: %d, setting it to: %f\n", adc[active_receiver->adc].attenuation, value); - adc[active_receiver->adc].attenuation=(int)value; + adc[active_receiver->adc].attenuation_orig = value; + adc[active_receiver->adc].attenuation = (int)value; set_attenuation(adc[active_receiver->adc].attenuation); if(display_sliders) { if (have_rx_gain) {