]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Doing VFO frequency changes via vfo_step always rounds to a multiple
authorc vw <dl1ycf@darc.de>
Wed, 6 Nov 2019 16:07:46 +0000 (17:07 +0100)
committerc vw <dl1ycf@darc.de>
Wed, 6 Nov 2019 16:07:46 +0000 (17:07 +0100)
of the current VFO step size.

vfo.c

diff --git a/vfo.c b/vfo.c
index 6f25daca551e9958edc30db15d24de11b7ca4086..cda735507466bc3473e8c510ff9733ca08cb2837 100644 (file)
--- a/vfo.c
+++ b/vfo.c
@@ -550,9 +550,9 @@ void vfo_step(int steps) {
   int id=active_receiver->id;
   if(!locked) {
     if(vfo[id].ctun) {
-      vfo[id].ctun_frequency=vfo[id].ctun_frequency+(steps*step);
+      vfo[id].ctun_frequency=(vfo[id].ctun_frequency/step + steps)*step;
     } else {
-      vfo[id].frequency=vfo[id].frequency+(steps*step);
+      vfo[id].frequency=(vfo[id].frequency/step +steps)*step;
     }
     receiver_frequency_changed(active_receiver);
 #ifdef INCLUDED
@@ -570,9 +570,9 @@ void vfo_step(int steps) {
 void vfo_id_step(int id, int steps) {
   if(!locked) {
     if(vfo[id].ctun) {
-      vfo[id].ctun_frequency=vfo[id].ctun_frequency+(steps*step);
+      vfo[id].ctun_frequency=(vfo[id].ctun_frequency/step+steps)*step;
     } else {
-      vfo[id].frequency=vfo[id].frequency+(steps*step);
+      vfo[id].frequency=(vfo[id].frequency/step+steps)*step;
     }
     receiver_frequency_changed(active_receiver);
 #ifdef INCLUDED