From: c vw <dl1ycf@darc.de>
Date: Fri, 8 Nov 2019 09:05:52 +0000 (+0100)
Subject: Merge branch 'master' of https://github.com/g0orx/pihpsdr
X-Git-Url: https://git.rkrishnan.org/pf/content/en/seg/simplejson/decoder.py.html?a=commitdiff_plain;h=db7a842c73abb4865d4d14b9d64b61db191399db;p=pihpsdr.git

Merge branch 'master' of https://github.com/g0orx/pihpsdr
---

db7a842c73abb4865d4d14b9d64b61db191399db
diff --cc vfo.c
index cda7355,9097885..914ccbe
--- a/vfo.c
+++ b/vfo.c
@@@ -550,30 -548,33 +552,53 @@@ 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/step +steps)*step;
 +    }
 +    receiver_frequency_changed(active_receiver);
 +#ifdef INCLUDED
 +    BANDSTACK_ENTRY* entry=bandstack_entry_get_current();
 +    setFrequency(active_receiver->frequency+(steps*step));
 +#endif
 +    g_idle_add(ext_vfo_update,NULL);
 +  }
 +}
 +//
 +// DL1YCF: essentially a duplicate of vfo_step but
 +//         changing a specific VFO freq instead of
 +//         changing the VFO of the active receiver
 +//
 +void vfo_id_step(int id, int steps) {
 +  if(!locked) {
 +    if(vfo[id].ctun) {
 +      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;
      }
+ 
+     int sid=id==0?1:0;
+     switch(sat_mode) {
+       case SAT_NONE:
+         break;
+       case SAT_MODE:
+         // A and B increment and decrement together
+         if(vfo[sid].ctun) {
+           vfo[sid].ctun_frequency=vfo[sid].ctun_frequency+(steps*step);
+         } else {
+           vfo[sid].frequency=vfo[sid].frequency+(steps*step);
+         }
+         break;
+       case RSAT_MODE:
+         // A increments and B decrements or A decrments and B increments
+         if(vfo[sid].ctun) {
+           vfo[sid].ctun_frequency=vfo[sid].ctun_frequency-(steps*step);
+         } else {
+           vfo[sid].frequency=vfo[sid].frequency-(steps*step);
+         }
+         break;
+     }
+ 
      receiver_frequency_changed(active_receiver);
  #ifdef INCLUDED
      BANDSTACK_ENTRY* entry=bandstack_entry_get_current();