From: John Melton - G0ORX/N6LYT Date: Fri, 25 Nov 2016 08:53:35 +0000 (+0000) Subject: initial version supporting XVTR X-Git-Url: https://git.rkrishnan.org/vdrive/%22file:/FOOURL?a=commitdiff_plain;h=c916cb09b0fac123fb4de30ac4eaad281c98be18;p=pihpsdr.git initial version supporting XVTR --- diff --git a/ant_menu.c b/ant_menu.c index ad6488e..00e37d4 100644 --- a/ant_menu.c +++ b/ant_menu.c @@ -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;ititle); - //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 0f104e1..780c586 100644 --- 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}; diff --git a/panadapter.c b/panadapter.c index c113182..c4d4ceb 100644 --- a/panadapter.c +++ b/panadapter.c @@ -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 f034e9b..5d2ce22 100755 Binary files a/pihpsdr and b/pihpsdr differ diff --git a/radio.c b/radio.c index 821e030..bbb6050 100644 --- 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 7eca06c..a0c55d9 100644 --- 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; diff --git a/release/pihpsdr.tar b/release/pihpsdr.tar index 5b5102f..981483d 100644 Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ diff --git a/release/pihpsdr/pihpsdr b/release/pihpsdr/pihpsdr index f034e9b..5d2ce22 100755 Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ diff --git a/toolbar.c b/toolbar.c index d0514b5..fae3c99 100644 --- 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");