]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Some rigctl corrections by VU2DLE
authorc vw <dl1ycf@darc.de>
Mon, 4 Oct 2021 17:05:41 +0000 (19:05 +0200)
committerc vw <dl1ycf@darc.de>
Mon, 4 Oct 2021 17:05:41 +0000 (19:05 +0200)
rigctl.c

index 227c9ce2ad12bf3d18e54f1791ca56e3a8b5e748..01f8031e78dc0a15ccdd1dba5b5d200ee31995a3 100644 (file)
--- a/rigctl.c
+++ b/rigctl.c
@@ -1088,14 +1088,26 @@ gboolean parse_extended_cmd (char *command,CLIENT *client) {
       break;
     case 'C': //ZZCx
       switch(command[3]) {
-        case 'B': //ZZCB
-          implemented=FALSE;
+        case 'B': //ZZCB: VFO A to B
+          if(!locked) {
+            if(command[4]==';') {
+             vfo_a_to_b();
+            }
+          }
           break;
-        case 'D': //ZZCD
-          implemented=FALSE;
+        case 'D': //ZZCD: VFO B to A
+          if(!locked) {
+            if(command[4]==';') {
+              vfo_b_to_a();
+            }
+          }
           break;
-        case 'F': //ZZCF
-          implemented=FALSE;
+        case 'F': //ZZCF: Swap VFO A and B
+          if(!locked) {
+            if(command[4]==';') {
+              vfo_a_swap_b();
+            }
+          }
           break;
         case 'I': //ZZCI
           implemented=FALSE;
@@ -1406,6 +1418,7 @@ gboolean parse_extended_cmd (char *command,CLIENT *client) {
           } else if(command[6]==';') {
             int filter=atoi(&command[4]);
             // update RX1 filter
+           vfo_filter_changed(filter);
           }
           break;
         case 'J': //ZZFJ
@@ -1902,6 +1915,7 @@ gboolean parse_extended_cmd (char *command,CLIENT *client) {
            implemented=FALSE;
            break;
       }
+      break;
     case 'O': //ZZOx
       switch(command[3]) {
         default:
@@ -1979,7 +1993,7 @@ gboolean parse_extended_cmd (char *command,CLIENT *client) {
             if(vfo[VFO_A].mode==modeCWL || vfo[VFO_A].mode==modeCWU) {
               vfo[VFO_A].rit-=10;
             } else {
-              vfo[VFO_A].rit-=50;
+              vfo[VFO_A].rit-=rit_increment;
             }
             vfo_update();
           } else if(command[9]==';') {
@@ -2035,7 +2049,7 @@ gboolean parse_extended_cmd (char *command,CLIENT *client) {
             if(vfo[VFO_A].mode==modeCWL || vfo[VFO_A].mode==modeCWU) {
               vfo[VFO_A].rit+=10;
             } else {
-              vfo[VFO_A].rit+=50;
+              vfo[VFO_A].rit+=rit_increment;
             }
             vfo_update();
           } else if(command[9]==';') {
@@ -2047,6 +2061,7 @@ gboolean parse_extended_cmd (char *command,CLIENT *client) {
           implemented=FALSE;
           break;
       }
+      break;
     case 'S': //ZZSx
       switch(command[3]) {
         case 'A': //ZZSA
@@ -2984,8 +2999,8 @@ int parse_cmd(void *data) {
           if(command[2]==';') {
             sprintf(reply,"LK%d%d;",locked,locked);
             send_resp(client->fd,reply);
-          } else if(command[27]==';') {
-            locked=command[2]=='1';
+          } else if(command[4]==';') {
+            locked = atoi(&command[2]);
             vfo_update();
           }
           break;