]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
initial version supporting XVTR
authorJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Fri, 25 Nov 2016 08:53:35 +0000 (08:53 +0000)
committerJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Fri, 25 Nov 2016 08:53:35 +0000 (08:53 +0000)
ant_menu.c
band.c
panadapter.c
pihpsdr
radio.c
radio.h
release/pihpsdr.tar
release/pihpsdr/pihpsdr
toolbar.c

index ad6488e706b8ffda8614d4dc7fcca7af05d86bff..00e37d4cb4882463edceebcd6130d0099350d664 100644 (file)
@@ -149,72 +149,73 @@ void ant_menu(GtkWidget *parent) {
     gtk_widget_show(tx3_label);
     gtk_grid_attach(GTK_GRID(grid),tx3_label,10,1,1,1);
 
-    for(i=0;i<HAM_BANDS;i++) {
+    for(i=0;i<HAM_BANDS+XVTRS;i++) {
       BAND *band=band_get_band(i);
-
-      GtkWidget *band_label=gtk_label_new(band->title);
-      //gtk_widget_override_font(band_label, pango_font_description_from_string("Arial 18"));
-      gtk_widget_show(band_label);
-      gtk_grid_attach(GTK_GRID(grid),band_label,0,i+2,1,1);
-
-      GtkWidget *rx1_b=gtk_radio_button_new(NULL);
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx1_b), band->alexRxAntenna==0);
-      gtk_widget_show(rx1_b);
-      gtk_grid_attach(GTK_GRID(grid),rx1_b,1,i+2,1,1);
-      g_signal_connect(rx1_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+0));
-
-      GtkWidget *rx2_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(rx1_b));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx2_b), band->alexRxAntenna==1);
-      gtk_widget_show(rx2_b);
-      gtk_grid_attach(GTK_GRID(grid),rx2_b,2,i+2,1,1);
-      g_signal_connect(rx2_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+1));
-
-      GtkWidget *rx3_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(rx2_b));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx3_b), band->alexRxAntenna==2);
-      gtk_widget_show(rx3_b);
-      gtk_grid_attach(GTK_GRID(grid),rx3_b,3,i+2,1,1);
-      g_signal_connect(rx3_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+2));
-
-      GtkWidget *ext1_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(rx3_b));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ext1_b), band->alexRxAntenna==3);
-      gtk_widget_show(ext1_b);
-      gtk_grid_attach(GTK_GRID(grid),ext1_b,4,i+2,1,1);
-      g_signal_connect(ext1_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+3));
-
-      GtkWidget *ext2_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(ext1_b));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ext2_b), band->alexRxAntenna==4);
-      gtk_widget_show(ext2_b);
-      gtk_grid_attach(GTK_GRID(grid),ext2_b,5,i+2,1,1);
-      g_signal_connect(ext2_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+4));
-
-      GtkWidget *xvtr_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(ext2_b));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (xvtr_b), band->alexRxAntenna==5);
-      gtk_widget_show(xvtr_b);
-      gtk_grid_attach(GTK_GRID(grid),xvtr_b,6,i+2,1,1);
-      g_signal_connect(xvtr_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+5));
-
-      GtkWidget *ant_band_label=gtk_label_new(band->title);
-      //gtk_widget_override_font(ant_band_label, pango_font_description_from_string("Arial 18"));
-      gtk_widget_show(ant_band_label);
-      gtk_grid_attach(GTK_GRID(grid),ant_band_label,7,i+2,1,1);
-
-      GtkWidget *tx1_b=gtk_radio_button_new(NULL);
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tx1_b), band->alexTxAntenna==0);
-      gtk_widget_show(tx1_b);
-      gtk_grid_attach(GTK_GRID(grid),tx1_b,8,i+2,1,1);
-
-      GtkWidget *tx2_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(tx1_b));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tx2_b), band->alexTxAntenna==1);
-      gtk_widget_show(tx2_b);
-      gtk_grid_attach(GTK_GRID(grid),tx2_b,9,i+2,1,1);
-      g_signal_connect(tx2_b,"pressed",G_CALLBACK(tx_ant_cb),(gpointer)((i<<4)+1));
-
-      GtkWidget *tx3_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(tx2_b));
-      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tx3_b), band->alexTxAntenna==2);
-      gtk_widget_show(tx3_b);
-      gtk_grid_attach(GTK_GRID(grid),tx3_b,10,i+2,1,1);
-      g_signal_connect(tx3_b,"pressed",G_CALLBACK(tx_ant_cb),(gpointer)((i<<4)+2));
-
+      if(strlen(band->title)>0) {
+
+        GtkWidget *band_label=gtk_label_new(band->title);
+        //gtk_widget_override_font(band_label, pango_font_description_from_string("Arial 18"));
+        gtk_widget_show(band_label);
+        gtk_grid_attach(GTK_GRID(grid),band_label,0,i+2,1,1);
+
+        GtkWidget *rx1_b=gtk_radio_button_new(NULL);
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx1_b), band->alexRxAntenna==0);
+        gtk_widget_show(rx1_b);
+        gtk_grid_attach(GTK_GRID(grid),rx1_b,1,i+2,1,1);
+        g_signal_connect(rx1_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+0));
+
+        GtkWidget *rx2_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(rx1_b));
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx2_b), band->alexRxAntenna==1);
+        gtk_widget_show(rx2_b);
+        gtk_grid_attach(GTK_GRID(grid),rx2_b,2,i+2,1,1);
+        g_signal_connect(rx2_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+1));
+
+        GtkWidget *rx3_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(rx2_b));
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (rx3_b), band->alexRxAntenna==2);
+        gtk_widget_show(rx3_b);
+        gtk_grid_attach(GTK_GRID(grid),rx3_b,3,i+2,1,1);
+        g_signal_connect(rx3_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+2));
+
+        GtkWidget *ext1_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(rx3_b));
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ext1_b), band->alexRxAntenna==3);
+        gtk_widget_show(ext1_b);
+        gtk_grid_attach(GTK_GRID(grid),ext1_b,4,i+2,1,1);
+        g_signal_connect(ext1_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+3));
+
+        GtkWidget *ext2_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(ext1_b));
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ext2_b), band->alexRxAntenna==4);
+        gtk_widget_show(ext2_b);
+        gtk_grid_attach(GTK_GRID(grid),ext2_b,5,i+2,1,1);
+        g_signal_connect(ext2_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+4));
+
+        GtkWidget *xvtr_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(ext2_b));
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (xvtr_b), band->alexRxAntenna==5);
+        gtk_widget_show(xvtr_b);
+        gtk_grid_attach(GTK_GRID(grid),xvtr_b,6,i+2,1,1);
+        g_signal_connect(xvtr_b,"pressed",G_CALLBACK(rx_ant_cb),(gpointer)((i<<4)+5));
+
+        GtkWidget *ant_band_label=gtk_label_new(band->title);
+        //gtk_widget_override_font(ant_band_label, pango_font_description_from_string("Arial 18"));
+        gtk_widget_show(ant_band_label);
+        gtk_grid_attach(GTK_GRID(grid),ant_band_label,7,i+2,1,1);
+  
+        GtkWidget *tx1_b=gtk_radio_button_new(NULL);
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tx1_b), band->alexTxAntenna==0);
+        gtk_widget_show(tx1_b);
+        gtk_grid_attach(GTK_GRID(grid),tx1_b,8,i+2,1,1);
+  
+        GtkWidget *tx2_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(tx1_b));
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tx2_b), band->alexTxAntenna==1);
+        gtk_widget_show(tx2_b);
+        gtk_grid_attach(GTK_GRID(grid),tx2_b,9,i+2,1,1);
+        g_signal_connect(tx2_b,"pressed",G_CALLBACK(tx_ant_cb),(gpointer)((i<<4)+1));
+  
+        GtkWidget *tx3_b=gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(tx2_b));
+        gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tx3_b), band->alexTxAntenna==2);
+        gtk_widget_show(tx3_b);
+        gtk_grid_attach(GTK_GRID(grid),tx3_b,10,i+2,1,1);
+        g_signal_connect(tx3_b,"pressed",G_CALLBACK(tx_ant_cb),(gpointer)((i<<4)+2));
+      }
     }
   }
 
diff --git a/band.c b/band.c
index 0f104e155e77f9086fed0020d2b96945fc88eea2..780c58653c4402c37d2f21c407d69af52b005cb3 100644 (file)
--- a/band.c
+++ b/band.c
@@ -209,14 +209,14 @@ BANDSTACK_ENTRY bandstack_entries_xvtr_6[] =
 BANDSTACK_ENTRY bandstack_entries_xvtr_7[] =
     {{0LL,modeUSB,filterF6,150,2550,150,2550}};
 
-BANDSTACK bandstack_xvtr_0={1,1,bandstack_entries_xvtr_0};
-BANDSTACK bandstack_xvtr_1={1,1,bandstack_entries_xvtr_1};
-BANDSTACK bandstack_xvtr_2={1,1,bandstack_entries_xvtr_2};
-BANDSTACK bandstack_xvtr_3={1,1,bandstack_entries_xvtr_3};
-BANDSTACK bandstack_xvtr_4={1,1,bandstack_entries_xvtr_4};
-BANDSTACK bandstack_xvtr_5={1,1,bandstack_entries_xvtr_5};
-BANDSTACK bandstack_xvtr_6={1,1,bandstack_entries_xvtr_6};
-BANDSTACK bandstack_xvtr_7={1,1,bandstack_entries_xvtr_7};
+BANDSTACK bandstack_xvtr_0={1,0,bandstack_entries_xvtr_0};
+BANDSTACK bandstack_xvtr_1={1,0,bandstack_entries_xvtr_1};
+BANDSTACK bandstack_xvtr_2={1,0,bandstack_entries_xvtr_2};
+BANDSTACK bandstack_xvtr_3={1,0,bandstack_entries_xvtr_3};
+BANDSTACK bandstack_xvtr_4={1,0,bandstack_entries_xvtr_4};
+BANDSTACK bandstack_xvtr_5={1,0,bandstack_entries_xvtr_5};
+BANDSTACK bandstack_xvtr_6={1,0,bandstack_entries_xvtr_6};
+BANDSTACK bandstack_xvtr_7={1,0,bandstack_entries_xvtr_7};
 
 
 
index c1131825154e65d0ee3fd8ec86f5d0865694f700..c4d4ceb65e812c322c98bc54d767085130e410e8 100644 (file)
@@ -249,7 +249,7 @@ void panadapter_update(float *data,int tx) {
             long f;
             long divisor=20000;
             long half=(long)getSampleRate()/2L;
-            long frequency=getFrequency();
+            long frequency=displayFrequency;
             if(ctun && isTransmitting()) {
               frequency+=ddsOffset;
             }
diff --git a/pihpsdr b/pihpsdr
index f034e9bc4f6335189a30dfb97c759058421f063c..5d2ce224aa754f512ea2d8752472e95f8f1ba505 100755 (executable)
Binary files a/pihpsdr and b/pihpsdr differ
diff --git a/radio.c b/radio.c
index 821e030625772c0bd46f637f18726bf674f308a7..bbb60506c266279a5af09947721bd192534305f4 100644 (file)
--- a/radio.c
+++ b/radio.c
@@ -181,6 +181,7 @@ int supply_volts;
 int mox;
 int tune;
 
+long long displayFrequency=14250000;
 long long ddsFrequency=14250000;
 long long ddsOffset=0;
 
@@ -366,6 +367,7 @@ void setFrequency(long long f) {
     }
   }
 
+  displayFrequency=f;
   ddsFrequency=f;
   if(band->frequencyLO!=0LL) {
     ddsFrequency=f-band->frequencyLO;
diff --git a/radio.h b/radio.h
index 7eca06cd116955c5d185f6dcdae16ed35a3fdbf3..a0c55d9a4417a8924fcddb62ee0a9398a002a0e3 100644 (file)
--- a/radio.h
+++ b/radio.h
@@ -193,6 +193,7 @@ extern unsigned int AIN4;
 extern unsigned int AIN6;
 extern int supply_volts;
 
+extern long long displayFrequency;
 extern long long ddsFrequency;
 extern long long ddsOffset;
 
index 5b5102f8d77a27497ed46b5043645515e6b1d82e..981483dbeb1409c9776ee3b4512e065e28a50918 100644 (file)
Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ
index f034e9bc4f6335189a30dfb97c759058421f063c..5d2ce224aa754f512ea2d8752472e95f8f1ba505 100755 (executable)
Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ
index d0514b51b3c076e50209ebe4af9d9bf5a800b214..fae3c99304b7a87f4d17d9ffb55a0aa85c84f8d2 100644 (file)
--- a/toolbar.c
+++ b/toolbar.c
@@ -121,12 +121,15 @@ static void close_cb(GtkWidget *widget, gpointer data) {
 static void band_select_cb(GtkWidget *widget, gpointer data) {
   GtkWidget *label;
   int b=(int)data;
+fprintf(stderr,"band_select_cb: %d\n",b);
   BANDSTACK_ENTRY *entry;
   if(b==band_get_current()) {
     entry=bandstack_entry_next();
   } else {
     BAND* band=band_set_current(b);
+fprintf(stderr,"band_select_cb: %s\n",band->title);
     entry=bandstack_entry_get_current();
+fprintf(stderr,"band_select_cb: entry: %d\n",entry);
     set_button_text_color(last_band,"black");
     last_band=widget;
     set_button_text_color(last_band,"orange");