From: c vw 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/Site/listings/$sch_link?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();