]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Changed SAT button to single button and radio menu to drop down list
authorJohn Melton G0ORX <john.d.melton@googlemail.com>
Fri, 15 Nov 2019 14:00:36 +0000 (14:00 +0000)
committerJohn Melton G0ORX <john.d.melton@googlemail.com>
Fri, 15 Nov 2019 14:00:36 +0000 (14:00 +0000)
ext.c
gpio.c
gpio.h
i2c.c
radio_menu.c

diff --git a/ext.c b/ext.c
index 58dfff5f81f71b6d9bdfc02b08fbfa3857c9fb11..12a2cd4d249cabd7597e2d17d6d939be8d698026 100644 (file)
--- a/ext.c
+++ b/ext.c
@@ -575,11 +575,16 @@ int ext_diversity_update(void *data) {
 }
 
 int ext_sat_update(void *data) {
-  int mode=GPOINTER_TO_INT(data);
-  if(sat_mode==mode) {
-    sat_mode=SAT_NONE;
-  } else {
-    sat_mode=mode;
+  switch(sat_mode) {
+    case SAT_NONE:
+      sat_mode=SAT_MODE;
+      break;
+    case SAT_MODE:
+      sat_mode=RSAT_MODE;
+      break;
+    case RSAT_MODE:
+      sat_mode=SAT_NONE;
+      break;
   }
   vfo_update();
   return 0;
diff --git a/gpio.c b/gpio.c
index 70ce4e8aa137a85d4a5da5126dfb667abcf30972..5ae0d6f45a31ba4bc6e8a36f2eae5726f8acb038 100644 (file)
--- a/gpio.c
+++ b/gpio.c
@@ -338,7 +338,6 @@ char *sw_string[SWITCH_ACTIONS] = {
   "SPLIT",
   "DIVERSITY",
   "SAT",
-  "RSAT",
   "BAND MENU",
   "BANDSTACK MENU",
   "MODE MENU",
@@ -533,10 +532,7 @@ fprintf(stderr,"e_function_pressed: %d\n",action);
       g_idle_add(ext_diversity_update,GINT_TO_POINTER(0));
       break;
     case SAT:
-      if(can_transmit) g_idle_add(ext_sat_update,GINT_TO_POINTER(SAT_MODE));
-      break;
-    case RSAT:
-      if(can_transmit) g_idle_add(ext_sat_update,GINT_TO_POINTER(RSAT_MODE));
+      if(can_transmit) g_idle_add(ext_sat_update,NULL);
       break;
     case MENU_BAND:
       g_idle_add(ext_band_update,NULL);
diff --git a/gpio.h b/gpio.h
index ca99052c55721dd475770d5878fbe5f563648bf4..c14657901b0e5f7b70d49a5b75a7aba4609900b7 100644 (file)
--- a/gpio.h
+++ b/gpio.h
@@ -79,7 +79,6 @@ enum {
   SPLIT,
   DIVERSITY,
   SAT,
-  RSAT,
   MENU_BAND,
   MENU_BANDSTACK,
   MENU_MODE,
diff --git a/i2c.c b/i2c.c
index d9333ad2ce3ab30db5f67140cbd00aea0d9eb6bc..4f99b9ca71f81cc2e215bdf4e5e3122d67d60995 100644 (file)
--- a/i2c.c
+++ b/i2c.c
@@ -276,10 +276,7 @@ void i2c_interrupt() {
             g_idle_add(ext_diversity_update,GINT_TO_POINTER(0));
             break;
           case SAT:
-            if(can_transmit) g_idle_add(ext_sat_update,GINT_TO_POINTER(SAT_MODE));
-            break;
-          case RSAT:
-            if(can_transmit) g_idle_add(ext_sat_update,GINT_TO_POINTER(RSAT_MODE));
+            if(can_transmit) g_idle_add(ext_sat_update,NULL);
             break;
           case MENU_BAND:
             g_idle_add(ext_band_update,NULL);
index 0559c3a440d107f5f44c8d29da745381dbe6bd03..59fcaa6a0ce9e36ef912ecfce080e6d8ea411326 100644 (file)
@@ -212,22 +212,7 @@ static void duplex_cb(GtkWidget *widget, gpointer data) {
 }
 
 static void sat_cb(GtkWidget *widget, gpointer data) {
-  if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) {
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rsat_b), FALSE);
-    sat_mode=SAT_MODE;
-  } else {
-    sat_mode=SAT_NONE;
-  }
-  vfo_update();
-}
-
-static void rsat_cb(GtkWidget *widget, gpointer data) {
-  if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) {
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sat_b), FALSE);
-    sat_mode=RSAT_MODE;
-  } else {
-    sat_mode=SAT_NONE;
-  }
+  sat_mode=gtk_combo_box_get_active(GTK_COMBO_BOX(widget));
   vfo_update();
 }
 
@@ -655,17 +640,14 @@ void radio_menu(GtkWidget *parent) {
 
   col++;
 
-  sat_b=gtk_check_button_new_with_label("SAT");
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sat_b), sat_mode==SAT_MODE);
-  gtk_grid_attach(GTK_GRID(grid),sat_b,col,row,1,1);
-  g_signal_connect(sat_b,"toggled",G_CALLBACK(sat_cb),NULL);
-
-  col++;
-
-  rsat_b=gtk_check_button_new_with_label("RSAT");
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rsat_b), sat_mode==RSAT_MODE);
-  gtk_grid_attach(GTK_GRID(grid),rsat_b,col,row,1,1);
-  g_signal_connect(rsat_b,"toggled",G_CALLBACK(rsat_cb),NULL);
+  
+  GtkWidget *sat_combo=gtk_combo_box_text_new();
+  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(sat_combo),NULL,"SAT Off");
+  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(sat_combo),NULL,"SAT");
+  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(sat_combo),NULL,"RSAT");
+  gtk_combo_box_set_active(GTK_COMBO_BOX(sat_combo),sat_mode);
+  gtk_grid_attach(GTK_GRID(grid),sat_combo,col,row,1,1);
+  g_signal_connect(sat_combo,"changed",G_CALLBACK(sat_cb),NULL);
 
   row++;
   if(row>temp_row) temp_row=row;