]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
fixed tuning direction bug introduced with LimeSDR changes
authorJohn Melton g0orx/n6lyt <john.d.melton@googlemail.com>
Sat, 11 Jun 2016 13:52:41 +0000 (13:52 +0000)
committerJohn Melton g0orx/n6lyt <john.d.melton@googlemail.com>
Sat, 11 Jun 2016 13:52:41 +0000 (13:52 +0000)
gpio.c
pihpsdr
release/pihpsdr.tar
release/pihpsdr/pihpsdr
vfo.c

diff --git a/gpio.c b/gpio.c
index c2060a8354fbc80593ad1ac3f9eb02ec5eee029a..6c2b9b1d35a82e45d57f8426302d0816925a86ec 100644 (file)
--- a/gpio.c
+++ b/gpio.c
@@ -766,7 +766,7 @@ static int vfo_encoder_changed(void *data) {
 static int af_encoder_changed(void *data) {
   int pos=*(int*)data;
   if(pos!=0) {
-    if(function) {
+    if(function || isTransmitting()) {
       // mic gain
       double gain=mic_gain;
       gain+=(double)pos/100.0;
diff --git a/pihpsdr b/pihpsdr
index 9f371c3b7a64330e7dd58cc83e3b208de87ec89d..8bc9b1434e0728b6f8334fd5daad092fb9bcf416 100755 (executable)
Binary files a/pihpsdr and b/pihpsdr differ
index eade2e57f625b2cdf9fccdcf0d0170033a1c075c..638dc2e600c622d5618a36e4099ffc65a3018578 100644 (file)
Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ
index 9f371c3b7a64330e7dd58cc83e3b208de87ec89d..8bc9b1434e0728b6f8334fd5daad092fb9bcf416 100755 (executable)
Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ
diff --git a/vfo.c b/vfo.c
index 0cf2fc2333ae8b012f0825f09995389c73f795cf..76ecf4c7402cb4bf6e0a521edc6732da4ac59729 100644 (file)
--- a/vfo.c
+++ b/vfo.c
@@ -69,8 +69,13 @@ void vfo_move(int hz) {
     BANDSTACK_ENTRY* entry=bandstack_entry_get_current();
     //entry->frequencyA=(entry->frequencyA+hz)/step*step;
     //setFrequency(entry->frequencyA);
-    //setFrequency((entry->frequencyA+ddsOffset+hz)/step*step);
-    setFrequency((entry->frequencyA+ddsOffset-hz)/step*step);
+    
+#ifdef LIMESDR
+    if(protocol==LIMESDR_PROTOCOL)
+      setFrequency((entry->frequencyA+ddsOffset-hz)/step*step);
+    else 
+#endif
+      setFrequency((entry->frequencyA+ddsOffset+hz)/step*step);
     vfo_update(NULL);
   }
 }
@@ -79,7 +84,12 @@ void vfo_move_to(int hz) {
     BANDSTACK_ENTRY* entry=bandstack_entry_get_current();
     //entry->frequencyA=(entry->frequencyA+hz)/step*step;
     //setFrequency(entry->frequencyA);
-    setFrequency((entry->frequencyA+hz)/step*step);
+#ifdef LIMESDR
+    if(protocol==LIMESDR_PROTOCOL)
+      setFrequency((entry->frequencyA+ddsOffset-hz)/step*step);
+    else
+#endif
+      setFrequency((entry->frequencyA+ddsOffset+hz)/step*step);
     vfo_update(NULL);
   }
 }