From: Ramakrishnan Muthukrishnan Date: Fri, 14 Jan 2022 08:22:01 +0000 (+0530) Subject: rx gain: experimenting with rounding X-Git-Url: https://git.rkrishnan.org/%5B/%5D%20/file/$top_link?a=commitdiff_plain;h=d1e3e963faa70c03944681eed93bc7d7ce57f1a9;p=pihpsdr.git rx gain: experimenting with rounding --- diff --git a/rigctl.c b/rigctl.c index 74d23e2..f8297fe 100644 --- a/rigctl.c +++ b/rigctl.c @@ -3464,20 +3464,20 @@ int parse_cmd(void *data) { int att = 0; if (have_rx_gain) { att = (int)(adc[active_receiver->adc].attenuation + 12); - att = (int)(((double)att / 60.0) * 99.0); + att = (int)round((att * 99.0) / 60.0); } else { att = (int)(adc[active_receiver->adc].attenuation); - att = (int)(((double)att / 31.0) * 99.0); + att = (int)round((att * 99.0) / 31.0); } sprintf(reply, "RA%02d00;", att); send_resp(client->fd, reply); } else if (command[4] == ';') { command[4] = '\0'; - int att = atoi(&command[2]); + int att = strtol(&command[2], NULL, 10); if (have_rx_gain) { - att = (int)((((double)att / 99.0) * 60.0) - 12.0); + att = (int)round(((att * 60.0) / 99.0)) - 12; } else { - att = (int)(((double)att / 99.0) * 31.0); + att = (int)round((att * 31.0) / 99.0); } set_attenuation_value((double)att); }