]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
removed sample rate from configuration and moved to menu
authorJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Tue, 12 Jul 2016 15:37:17 +0000 (15:37 +0000)
committerJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Tue, 12 Jul 2016 15:37:17 +0000 (15:37 +0000)
configure.c
menu.c
old_protocol.c
old_protocol.h
pihpsdr
release/pihpsdr.tar
release/pihpsdr/pihpsdr

index aecdb4e5de717a79269f723470573302ff71208c..2ec820f5b735ab87caadc522ad456cb125a6b5d0 100644 (file)
 #define INCLUDE_GPIO
 #endif
 
-static void sample_rate_cb(GtkWidget *widget, gpointer data) {
-  sample_rate=(int)data;
-}
-
 static void display_panadapter_cb(GtkWidget *widget, gpointer data) {
   display_panadapter=display_panadapter==1?0:1;
 }
@@ -361,116 +357,37 @@ void configure(DISCOVERED* d,GtkWidget *parent) {
   gtk_grid_set_column_homogeneous(GTK_GRID(grid),FALSE);
   gtk_grid_set_row_homogeneous(GTK_GRID(grid),FALSE);
 
-  GtkWidget *sample_rate_label=gtk_label_new("Sample Rate:");
-  //gtk_widget_override_font(sample_rate_label, pango_font_description_from_string("Arial 18"));
-  gtk_widget_show(sample_rate_label);
-  gtk_grid_attach(GTK_GRID(grid),sample_rate_label,0,0,1,1);
-
-  GtkWidget *sample_rate_48=gtk_radio_button_new_with_label(NULL,"48000");
-  //gtk_widget_override_font(sample_rate_48, pango_font_description_from_string("Arial 18"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_48), sample_rate==48000);
-  gtk_widget_show(sample_rate_48);
-  gtk_grid_attach(GTK_GRID(grid),sample_rate_48,0,1,1,1);
-  g_signal_connect(sample_rate_48,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)48000);
-
-  GtkWidget *sample_rate_96=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_48),"96000");
-  //gtk_widget_override_font(sample_rate_96, pango_font_description_from_string("Arial 18"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_96), sample_rate==96000);
-  gtk_widget_show(sample_rate_96);
-  gtk_grid_attach(GTK_GRID(grid),sample_rate_96,0,2,1,1);
-  g_signal_connect(sample_rate_96,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)96000);
-
-  GtkWidget *sample_rate_192=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_96),"192000");
-  //gtk_widget_override_font(sample_rate_192, pango_font_description_from_string("Arial 18"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_192), sample_rate==192000);
-  gtk_widget_show(sample_rate_192);
-  gtk_grid_attach(GTK_GRID(grid),sample_rate_192,0,3,1,1);
-  g_signal_connect(sample_rate_192,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)192000);
-
-  GtkWidget *sample_rate_384=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_192),"384000");
-  //gtk_widget_override_font(sample_rate_384, pango_font_description_from_string("Arial 18"));
-  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_384), sample_rate==384000);
-  gtk_widget_show(sample_rate_384);
-  gtk_grid_attach(GTK_GRID(grid),sample_rate_384,0,4,1,1);
-  g_signal_connect(sample_rate_384,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)384000);
-
-  if(d->protocol==NEW_PROTOCOL
-#ifdef LIMESDR
-    || d->protocol==LIMESDR_PROTOCOL
-#endif
-    ) {
-    GtkWidget *sample_rate_768=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_384),"768000");
-    //gtk_widget_override_font(sample_rate_768, pango_font_description_from_string("Arial 18"));
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_768), sample_rate==768000);
-    gtk_widget_show(sample_rate_768);
-    gtk_grid_attach(GTK_GRID(grid),sample_rate_768,0,5,1,1);
-    g_signal_connect(sample_rate_768,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)768000);
-
-    GtkWidget *sample_rate_921=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_768),"921180");
-    //gtk_widget_override_font(sample_rate_921, pango_font_description_from_string("Arial 18"));
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_921), sample_rate==921180);
-    gtk_widget_show(sample_rate_921);
-    gtk_grid_attach(GTK_GRID(grid),sample_rate_921,0,6,1,1);
-    g_signal_connect(sample_rate_921,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)921180);
-
-    GtkWidget *sample_rate_1536=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_921),"1536000");
-    //gtk_widget_override_font(sample_rate_1536, pango_font_description_from_string("Arial 18"));
-    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_1536), sample_rate==1536000);
-    gtk_widget_show(sample_rate_1536);
-    gtk_grid_attach(GTK_GRID(grid),sample_rate_1536,0,7,1,1);
-    g_signal_connect(sample_rate_1536,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)1536000);
-
-#ifdef LIMESDR
-    if(d->protocol==LIMESDR_PROTOCOL) {
-      GtkWidget *sample_rate_1M=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_1536),"1048576");
-      //gtk_widget_override_font(sample_rate_1M, pango_font_description_from_string("Arial 18"));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_1M), sample_rate==1048576);
-      gtk_widget_show(sample_rate_1M);
-      gtk_grid_attach(GTK_GRID(grid),sample_rate_1M,0,8,1,1);
-      g_signal_connect(sample_rate_1M,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)1048576);
-  
-      GtkWidget *sample_rate_2M=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_1M),"2097152");
-      //gtk_widget_override_font(sample_rate_2M, pango_font_description_from_string("Arial 18"));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_2M), sample_rate==2097152);
-      gtk_widget_show(sample_rate_2M);
-      gtk_grid_attach(GTK_GRID(grid),sample_rate_2M,0,9,1,1);
-      g_signal_connect(sample_rate_2M,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)2097152);
-    }
-#endif
-  }
-
-
   GtkWidget *display_label=gtk_label_new("Display:");
   //gtk_widget_override_font(display_label, pango_font_description_from_string("Arial 18"));
   gtk_widget_show(display_label);
-  gtk_grid_attach(GTK_GRID(grid),display_label,0,9,1,1);
+  gtk_grid_attach(GTK_GRID(grid),display_label,0,0,1,1);
 
   GtkWidget *b_display_panadapter=gtk_check_button_new_with_label("Display Panadapter");
   //gtk_widget_override_font(b_display_panadapter, pango_font_description_from_string("Arial 18"));
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_display_panadapter), display_panadapter);
   gtk_widget_show(b_display_panadapter);
-  gtk_grid_attach(GTK_GRID(grid),b_display_panadapter,0,10,1,1);
+  gtk_grid_attach(GTK_GRID(grid),b_display_panadapter,0,1,1,1);
   g_signal_connect(b_display_panadapter,"toggled",G_CALLBACK(display_panadapter_cb),(gpointer *)NULL);
 
   GtkWidget *b_display_waterfall=gtk_check_button_new_with_label("Display Waterfall");
   //gtk_widget_override_font(b_display_waterfall, pango_font_description_from_string("Arial 18"));
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_display_waterfall), display_waterfall);
   gtk_widget_show(b_display_waterfall);
-  gtk_grid_attach(GTK_GRID(grid),b_display_waterfall,0,11,1,1);
+  gtk_grid_attach(GTK_GRID(grid),b_display_waterfall,0,2,1,1);
   g_signal_connect(b_display_waterfall,"toggled",G_CALLBACK(display_waterfall_cb),(gpointer *)NULL);
 
   GtkWidget *b_display_sliders=gtk_check_button_new_with_label("Display Sliders");
   //gtk_widget_override_font(b_display_sliders, pango_font_description_from_string("Arial 18"));
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_display_sliders), display_sliders);
   gtk_widget_show(b_display_sliders);
-  gtk_grid_attach(GTK_GRID(grid),b_display_sliders,0,12,1,1);
+  gtk_grid_attach(GTK_GRID(grid),b_display_sliders,0,3,1,1);
   g_signal_connect(b_display_sliders,"toggled",G_CALLBACK(display_sliders_cb),(gpointer *)NULL);
 
   GtkWidget *b_display_toolbar=gtk_check_button_new_with_label("Display Toolbar");
   //gtk_widget_override_font(b_display_toolbar, pango_font_description_from_string("Arial 18"));
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_display_toolbar), display_toolbar);
   gtk_widget_show(b_display_toolbar);
-  gtk_grid_attach(GTK_GRID(grid),b_display_toolbar,0,13,1,1);
+  gtk_grid_attach(GTK_GRID(grid),b_display_toolbar,0,4,1,1);
   g_signal_connect(b_display_toolbar,"toggled",G_CALLBACK(display_toolbar_cb),(gpointer *)NULL);
 
   gtk_container_add(GTK_CONTAINER(content),grid);
diff --git a/menu.c b/menu.c
index 04768882ea2e355dda598bcb751ffce9c5312646..ca884272b0e7f832280e134ad98e0cfe7bfbe7ec 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -50,6 +50,14 @@ static GtkWidget *menu;
 static GtkWidget *ant_grid;
 static gint ant_id;
 
+static void sample_rate_cb(GtkWidget *widget, gpointer data) {
+  if(protocol==ORIGINAL_PROTOCOL) {
+    old_protocol_new_sample_rate((int)data);
+  } else {
+    sample_rate=(int)data;
+  }
+}
+
 static void cw_keyer_internal_cb(GtkWidget *widget, gpointer data) {
   cw_keyer_internal=cw_keyer_internal==1?0:1;
   cw_changed();
@@ -487,38 +495,38 @@ static gboolean menu_pressed_event_cb (GtkWidget *widget,
   gtk_grid_attach(GTK_GRID(general_grid),vfo_divisor,1,0,1,1);
   g_signal_connect(vfo_divisor,"value_changed",G_CALLBACK(vfo_divisor_value_changed_cb),NULL);
 
+#ifdef FREEDV
+  GtkWidget *freedv_text_label=gtk_label_new("FreeDV Text Message: ");
+  gtk_grid_attach(GTK_GRID(general_grid),freedv_text_label,0,1,1,1);
+
+  GtkWidget *freedv_text=gtk_entry_new();
+  gtk_entry_set_text(GTK_ENTRY(freedv_text),freedv_tx_text_data);
+  gtk_grid_attach(GTK_GRID(general_grid),freedv_text,1,1,1,1);
+  g_signal_connect(freedv_text,"changed",G_CALLBACK(freedv_text_changed_cb),NULL);
+#endif
 
   if(protocol==ORIGINAL_PROTOCOL || protocol==NEW_PROTOCOL) {
     GtkWidget *rx_dither_b=gtk_check_button_new_with_label("Dither");
     //gtk_widget_override_font(rx_dither_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx_dither_b), rx_dither);
     gtk_widget_show(rx_dither_b);
-    gtk_grid_attach(GTK_GRID(general_grid),rx_dither_b,0,1,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),rx_dither_b,0,2,1,1);
     g_signal_connect(rx_dither_b,"toggled",G_CALLBACK(rx_dither_cb),NULL);
 
     GtkWidget *rx_random_b=gtk_check_button_new_with_label("Random");
     //gtk_widget_override_font(rx_random_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx_random_b), rx_random);
     gtk_widget_show(rx_random_b);
-    gtk_grid_attach(GTK_GRID(general_grid),rx_random_b,0,2,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),rx_random_b,0,3,1,1);
     g_signal_connect(rx_random_b,"toggled",G_CALLBACK(rx_random_cb),NULL);
 
-#ifdef FREEDV
-  GtkWidget *freedv_text_label=gtk_label_new("FreeDV Text Message: ");
-  gtk_grid_attach(GTK_GRID(general_grid),freedv_text_label,0,3,1,1);
-
-  GtkWidget *freedv_text=gtk_entry_new();
-  gtk_entry_set_text(GTK_ENTRY(freedv_text),freedv_tx_text_data);
-  gtk_grid_attach(GTK_GRID(general_grid),freedv_text,0,4,1,1);
-  g_signal_connect(freedv_text,"changed",G_CALLBACK(freedv_text_changed_cb),NULL);
-#endif
 
 /*
     GtkWidget *rx_preamp_b=gtk_check_button_new_with_label("Preamp");
     //gtk_widget_override_font(rx_preamp_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx_preamp_b), rx_preamp);
     gtk_widget_show(rx_preamp_b);
-    gtk_grid_attach(GTK_GRID(general_grid),rx_preamp_b,0,3,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),rx_preamp_b,0,4,1,1);
     g_signal_connect(rx_preamp_b,"toggled",G_CALLBACK(rx_preamp_cb),NULL);
 */
 
@@ -526,28 +534,28 @@ static gboolean menu_pressed_event_cb (GtkWidget *widget,
     //gtk_widget_override_font(linein_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (linein_b), mic_linein);
     gtk_widget_show(linein_b);
-    gtk_grid_attach(GTK_GRID(general_grid),linein_b,1,1,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),linein_b,1,2,1,1);
     g_signal_connect(linein_b,"toggled",G_CALLBACK(linein_cb),NULL);
 
     GtkWidget *micboost_b=gtk_check_button_new_with_label("Mic Boost");
     //gtk_widget_override_font(micboost_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (micboost_b), mic_boost);
     gtk_widget_show(micboost_b);
-    gtk_grid_attach(GTK_GRID(general_grid),micboost_b,1,2,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),micboost_b,1,3,1,1);
     g_signal_connect(micboost_b,"toggled",G_CALLBACK(micboost_cb),NULL);
 
     GtkWidget *local_audio_b=gtk_check_button_new_with_label("Local Audio");
     //gtk_widget_override_font(local_audio_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (local_audio_b), local_audio);
     gtk_widget_show(local_audio_b);
-    gtk_grid_attach(GTK_GRID(general_grid),local_audio_b,1,3,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),local_audio_b,1,4,1,1);
     g_signal_connect(local_audio_b,"toggled",G_CALLBACK(local_audio_cb),NULL);
 
     GtkWidget *b_toolbar_dialog_buttons=gtk_check_button_new_with_label("Buttons Display Dialog");
     //gtk_widget_override_font(b_toolbar_dialog_buttons, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (b_toolbar_dialog_buttons), toolbar_dialog_buttons);
     gtk_widget_show(b_toolbar_dialog_buttons);
-    gtk_grid_attach(GTK_GRID(general_grid),b_toolbar_dialog_buttons,1,4,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),b_toolbar_dialog_buttons,1,5,1,1);
     g_signal_connect(b_toolbar_dialog_buttons,"toggled",G_CALLBACK(toolbar_dialog_buttons_cb),(gpointer *)NULL);
 
     if((protocol==NEW_PROTOCOL && device==NEW_DEVICE_ORION) ||
@@ -558,28 +566,28 @@ static gboolean menu_pressed_event_cb (GtkWidget *widget,
       //gtk_widget_override_font(ptt_ring_b, pango_font_description_from_string("Arial 18"));
       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ptt_ring_b), mic_ptt_tip_bias_ring==0);
       gtk_widget_show(ptt_ring_b);
-      gtk_grid_attach(GTK_GRID(general_grid),ptt_ring_b,1,5,1,1);
+      gtk_grid_attach(GTK_GRID(general_grid),ptt_ring_b,1,6,1,1);
       g_signal_connect(ptt_ring_b,"pressed",G_CALLBACK(ptt_ring_cb),NULL);
 
       GtkWidget *ptt_tip_b=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(ptt_ring_b),"PTT On Tip, Mic and Bias on Ring");
       //gtk_widget_override_font(ptt_tip_b, pango_font_description_from_string("Arial 18"));
       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ptt_tip_b), mic_ptt_tip_bias_ring==1);
       gtk_widget_show(ptt_tip_b);
-      gtk_grid_attach(GTK_GRID(general_grid),ptt_tip_b,1,6,1,1);
+      gtk_grid_attach(GTK_GRID(general_grid),ptt_tip_b,1,7,1,1);
       g_signal_connect(ptt_tip_b,"pressed",G_CALLBACK(ptt_tip_cb),NULL);
 
       GtkWidget *ptt_b=gtk_check_button_new_with_label("PTT Enabled");
       //gtk_widget_override_font(ptt_b, pango_font_description_from_string("Arial 18"));
       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ptt_b), mic_ptt_enabled);
       gtk_widget_show(ptt_b);
-      gtk_grid_attach(GTK_GRID(general_grid),ptt_b,1,7,1,1);
+      gtk_grid_attach(GTK_GRID(general_grid),ptt_b,1,8,1,1);
       g_signal_connect(ptt_b,"toggled",G_CALLBACK(ptt_cb),NULL);
 
       GtkWidget *bias_b=gtk_check_button_new_with_label("BIAS Enabled");
       //gtk_widget_override_font(bias_b, pango_font_description_from_string("Arial 18"));
       gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bias_b), mic_bias_enabled);
       gtk_widget_show(bias_b);
-      gtk_grid_attach(GTK_GRID(general_grid),bias_b,1,8,1,1);
+      gtk_grid_attach(GTK_GRID(general_grid),bias_b,1,9,1,1);
       g_signal_connect(bias_b,"toggled",G_CALLBACK(bias_cb),NULL);
     }
 
@@ -588,13 +596,13 @@ static gboolean menu_pressed_event_cb (GtkWidget *widget,
     //gtk_widget_override_font(alex_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (alex_b), filter_board==ALEX);
     gtk_widget_show(alex_b);
-    gtk_grid_attach(GTK_GRID(general_grid),alex_b,2,1,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),alex_b,2,2,1,1);
 
     GtkWidget *apollo_b=gtk_check_button_new_with_label("APOLLO");
     //gtk_widget_override_font(apollo_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (apollo_b), filter_board==APOLLO);
     gtk_widget_show(apollo_b);
-    gtk_grid_attach(GTK_GRID(general_grid),apollo_b,2,2,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),apollo_b,2,3,1,1);
   
     g_signal_connect(alex_b,"toggled",G_CALLBACK(alex_cb),apollo_b);
     g_signal_connect(apollo_b,"toggled",G_CALLBACK(apollo_cb),alex_b);
@@ -603,18 +611,87 @@ static gboolean menu_pressed_event_cb (GtkWidget *widget,
     //gtk_widget_override_font(apollo_tuner_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (apollo_tuner_b), apollo_tuner);
     gtk_widget_show(apollo_tuner_b);
-    gtk_grid_attach(GTK_GRID(general_grid),apollo_tuner_b,2,3,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),apollo_tuner_b,2,4,1,1);
     g_signal_connect(apollo_tuner_b,"toggled",G_CALLBACK(apollo_tuner_cb),NULL);
   
     GtkWidget *pa_b=gtk_check_button_new_with_label("PA");
     //gtk_widget_override_font(pa_b, pango_font_description_from_string("Arial 18"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pa_b), pa);
     gtk_widget_show(pa_b);
-    gtk_grid_attach(GTK_GRID(general_grid),pa_b,2,4,1,1);
+    gtk_grid_attach(GTK_GRID(general_grid),pa_b,2,5,1,1);
     g_signal_connect(pa_b,"toggled",G_CALLBACK(pa_cb),NULL);
   
   }
 
+  GtkWidget *sample_rate_label=gtk_label_new("Sample Rate:");
+  //gtk_widget_override_font(sample_rate_label, pango_font_description_from_string("Arial 18"));
+  gtk_widget_show(sample_rate_label);
+  gtk_grid_attach(GTK_GRID(general_grid),sample_rate_label,0,4,1,1);
+
+  if(protocol==ORIGINAL_PROTOCOL || protocol==NEW_PROTOCOL) {
+    GtkWidget *sample_rate_48=gtk_radio_button_new_with_label(NULL,"48000");
+    //gtk_widget_override_font(sample_rate_48, pango_font_description_from_string("Arial 18"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_48), sample_rate==48000);
+    gtk_widget_show(sample_rate_48);
+    gtk_grid_attach(GTK_GRID(general_grid),sample_rate_48,0,5,1,1);
+    g_signal_connect(sample_rate_48,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)48000);
+  
+    GtkWidget *sample_rate_96=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_48),"96000");
+    //gtk_widget_override_font(sample_rate_96, pango_font_description_from_string("Arial 18"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_96), sample_rate==96000);
+    gtk_widget_show(sample_rate_96);
+    gtk_grid_attach(GTK_GRID(general_grid),sample_rate_96,0,6,1,1);
+    g_signal_connect(sample_rate_96,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)96000);
+  
+    GtkWidget *sample_rate_192=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_96),"192000");
+    //gtk_widget_override_font(sample_rate_192, pango_font_description_from_string("Arial 18"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_192), sample_rate==192000);
+    gtk_widget_show(sample_rate_192);
+    gtk_grid_attach(GTK_GRID(general_grid),sample_rate_192,0,7,1,1);
+    g_signal_connect(sample_rate_192,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)192000);
+  
+    GtkWidget *sample_rate_384=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_192),"384000");
+    //gtk_widget_override_font(sample_rate_384, pango_font_description_from_string("Arial 18"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_384), sample_rate==384000);
+    gtk_widget_show(sample_rate_384);
+    gtk_grid_attach(GTK_GRID(general_grid),sample_rate_384,0,8,1,1);
+    g_signal_connect(sample_rate_384,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)384000);
+  
+    if(protocol==NEW_PROTOCOL) {
+      GtkWidget *sample_rate_768=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_384),"768000");
+      //gtk_widget_override_font(sample_rate_768, pango_font_description_from_string("Arial 18"));
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_768), sample_rate==768000);
+      gtk_widget_show(sample_rate_768);
+      gtk_grid_attach(GTK_GRID(general_grid),sample_rate_768,0,9,1,1);
+      g_signal_connect(sample_rate_768,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)768000);
+  
+      GtkWidget *sample_rate_1536=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_768),"1536000");
+      //gtk_widget_override_font(sample_rate_1536, pango_font_description_from_string("Arial 18"));
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_1536), sample_rate==1536000);
+      gtk_widget_show(sample_rate_1536);
+        gtk_grid_attach(GTK_GRID(general_grid),sample_rate_1536,0,10,1,1);
+      g_signal_connect(sample_rate_1536,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)1536000);
+    }
+  }
+  
+#ifdef LIMESDR
+  if(protocol==LIMESDR_PROTOCOL) {
+    GtkWidget *sample_rate_1M=gtk_radio_button_new_with_label(NULL,"1000000");
+    //gtk_widget_override_font(sample_rate_1M, pango_font_description_from_string("Arial 18"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_1M), sample_rate==1000000);
+    gtk_widget_show(sample_rate_1M);
+    gtk_grid_attach(GTK_GRID(general_grid),sample_rate_1M,0,5,1,1);
+    g_signal_connect(sample_rate_1M,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)1000000);
+
+    GtkWidget *sample_rate_2M=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(sample_rate_1M),"2000000");
+    //gtk_widget_override_font(sample_rate_2M, pango_font_description_from_string("Arial 18"));
+    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sample_rate_2M), sample_rate==2000000);
+    gtk_widget_show(sample_rate_2M);
+    gtk_grid_attach(GTK_GRID(general_grid),sample_rate_2M,0,6,1,1);
+    g_signal_connect(sample_rate_2M,"pressed",G_CALLBACK(sample_rate_cb),(gpointer *)2000000);
+
+  }
+#endif
 
   id=gtk_notebook_append_page(GTK_NOTEBOOK(notebook),general_grid,general_label);
 
index 9da941f3c83da8767f12ecf5ba54be1c9b30acaf..38d794fdcb66ad44bf0472b80a1722a6d599096e 100644 (file)
@@ -172,6 +172,7 @@ static int frequencyChanged=0;
 static sem_t frequency_changed_sem;
 
 static int metis_write(unsigned char ep,char* buffer,int length);
+static void metis_restart();
 static void metis_start_stop(int command);
 static void metis_send_buffer(char* buffer,int length);
 static void full_rx_buffer();
@@ -199,25 +200,7 @@ void old_protocol_stop() {
   running=FALSE;
 }
 
-void old_protocol_init(int rx,int pixels) {
-  int i;
-
-  fprintf(stderr,"old_protocol_init\n");
-
-  d=&discovered[selected_device];
-
-  //int result=sem_init(&frequency_changed_sem, 0, 1);
-
-  if(local_audio) {
-    if(audio_init()!=0) {
-      fprintf(stderr,"audio_init failed\n");
-      local_audio=0;
-    }
-  }
-
-  receiver=rx;
-  display_width=pixels;
+void old_protocol_calc_buffers() {
   switch(sample_rate) {
     case 48000:
       output_buffer_size=OUTPUT_BUFFER_SIZE;
@@ -239,6 +222,35 @@ void old_protocol_init(int rx,int pixels) {
       fprintf(stderr,"Invalid sample rate: %d. Defaulting to 48K.\n",sample_rate);
       break;
   }
+}
+
+void old_protocol_new_sample_rate(int rate) {
+  metis_start_stop(0);
+  sample_rate=rate;
+  old_protocol_calc_buffers();
+  metis_restart();
+}
+
+void old_protocol_init(int rx,int pixels) {
+  int i;
+
+  fprintf(stderr,"old_protocol_init\n");
+
+  d=&discovered[selected_device];
+
+  //int result=sem_init(&frequency_changed_sem, 0, 1);
+
+  if(local_audio) {
+    if(audio_init()!=0) {
+      fprintf(stderr,"audio_init failed\n");
+      local_audio=0;
+    }
+  }
+
+  receiver=rx;
+  display_width=pixels;
+  old_protocol_calc_buffers();
 
   start_receive_thread();
 
@@ -247,18 +259,7 @@ void old_protocol_init(int rx,int pixels) {
     output_buffer[i]=0;
   }
 
-
-  // send commands twice
-  do {
-    ozy_send_buffer();
-  } while (command!=0);
-
-  do {
-    ozy_send_buffer();
-  } while (command!=0);
-
-  // start the data flowing
-  metis_start_stop(1);
+  metis_restart();
 
 }
 
@@ -509,9 +510,12 @@ static void process_ozy_input_buffer(char  *buffer) {
     time(&t);
     gmt=gmtime(&t);
 
-    fprintf(stderr,"%s: process_ozy_input_buffer: did not find sync\n",
+    fprintf(stderr,"%s: process_ozy_input_buffer: did not find sync: restarting\n",
             asctime(gmt));
-    exit(1);
+
+
+    metis_start_stop(0);
+    metis_restart();
   }
 }
 
@@ -946,6 +950,21 @@ static int metis_write(unsigned char ep,char* buffer,int length) {
   return length;
 }
 
+static void metis_restart() {
+  // send commands twice
+  command=0;
+  do {
+    ozy_send_buffer();
+  } while (command!=0);
+
+  do {
+    ozy_send_buffer();
+  } while (command!=0);
+
+  // start the data flowing
+  metis_start_stop(1);
+}
+
 static void metis_start_stop(int command) {
   int i;
   unsigned char buffer[64];
index 633006b206122e21791aa5d864b2a2afad297d97..a4f3ac6e7ab5da9b18c5a5b6e68e240be4ddf0c4 100644 (file)
@@ -20,4 +20,5 @@
 #define BUFFER_SIZE 1024
 void old_protocol_stop();
 void old_protocol_init(int rx,int pixels);
+void old_protocol_new_sample_rate(int rate);
 void schedule_frequency_changed();
diff --git a/pihpsdr b/pihpsdr
index d3c8422e62c1e3797d99e5624f20dc61bc103c8e..a251ed9d911af965aa1ecf3e502a43534f15fb2a 100755 (executable)
Binary files a/pihpsdr and b/pihpsdr differ
index 9119a1a9d3c04736870376162387a5e8301d62fe..df79fb2c150aa8197bff3f4592c5d06234987dc6 100644 (file)
Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ
index d3c8422e62c1e3797d99e5624f20dc61bc103c8e..a251ed9d911af965aa1ecf3e502a43534f15fb2a 100755 (executable)
Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ