]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Updated new_protocol for cw changes. Updated vfo to align clicked frequency when...
authorJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Tue, 19 Jul 2016 09:45:45 +0000 (09:45 +0000)
committerJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Tue, 19 Jul 2016 09:45:45 +0000 (09:45 +0000)
new_protocol.c
pihpsdr
release/pihpsdr.tar
release/pihpsdr/pihpsdr
vfo.c

index 3e4a07a5d3a2605a1444df8965c661bd331f3189..b2c5c968e143e261f67ce2af0d5f28ae0ae4a3b8 100644 (file)
@@ -259,6 +259,14 @@ fprintf(stderr,"new_protocol_high_priority: run=%d tx=%d drive=%d\n", run, tx, d
     buffer[12]=phase;
 
 // tx (no split yet)
+    long txFrequency=ddsFrequency;
+    if(mode==modeCWU) {
+      txFrequency+=cw_keyer_sidetone_frequency;
+    } else if(mode==modeCWL) {
+      txFrequency-=cw_keyer_sidetone_frequency;
+    }
+    phase=(long)((4294967296.0*(double)txFrequency)/122880000.0);
+
     buffer[329]=phase>>24;
     buffer[330]=phase>>16;
     buffer[331]=phase>>8;
diff --git a/pihpsdr b/pihpsdr
index 93f94d9cb680e9643416cb7c33928c96d79e374f..057062909d76da7c64201d68acf322dc2deb4664 100755 (executable)
Binary files a/pihpsdr and b/pihpsdr differ
index 531ad5633b94a1ba02dc5d537fb628a58560f9dc..97fb3ce9a916dfd31f7471373bc8850220501fdd 100644 (file)
Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ
index c2a18ebbe18c9d4134a24addf8a9050d7dbc99b5..00dab3721bc7b6df5c56640c52ad25563c31e417 100755 (executable)
Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ
diff --git a/vfo.c b/vfo.c
index f328c938322f5c1e3c64630137d54d47c3c9afd8..eb987d0021024cfa96532252194dd00f5793c18e 100644 (file)
--- a/vfo.c
+++ b/vfo.c
@@ -87,12 +87,22 @@ void vfo_move_to(int hz) {
     BANDSTACK_ENTRY* entry=bandstack_entry_get_current();
     //entry->frequencyA=(entry->frequencyA+hz)/step*step;
     //setFrequency(entry->frequencyA);
+
 #ifdef LIMESDR
-    if(protocol==LIMESDR_PROTOCOL)
+    if(protocol==LIMESDR_PROTOCOL) {
       setFrequency((entry->frequencyA+ddsOffset-hz)/step*step);
-    else
+    } else {
+#endif
+      long f=(entry->frequencyA+ddsOffset+hz)/step*step;
+      if(mode==modeCWL) {
+        f+=cw_keyer_sidetone_frequency;
+      } else if(mode==modeCWU) {
+        f-=cw_keyer_sidetone_frequency;
+      }
+      setFrequency(f);
+#ifdef LIMESDR
+    }
 #endif
-      setFrequency((entry->frequencyA+ddsOffset+hz)/step*step);
     vfo_update(NULL);
   }
 }