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();