static int function_pressed(void *data) {
fprintf(stderr,"function_pressed\n");
function=function==1?0:1;
+ if(display_toolbar && toolbar_simulate_buttons) {
+ update_toolbar();
+ }
vfo_update(NULL);
return 0;
}
_exit(0);
}
+static gboolean reboot_pressed_event_cb (GtkWidget *widget,
+ GdkEventButton *event,
+ gpointer data)
+{
+#ifdef INCLUDE_GPIO
+ gpio_close();
+#endif
+ if(protocol==ORIGINAL_PROTOCOL) {
+ old_protocol_stop();
+ } else {
+ new_protocol_stop();
+ }
+ system("reboot");
+ _exit(0);
+}
+
+static gboolean shutdown_pressed_event_cb (GtkWidget *widget,
+ GdkEventButton *event,
+ gpointer data)
+{
+#ifdef INCLUDE_GPIO
+ gpio_close();
+#endif
+ if(protocol==ORIGINAL_PROTOCOL) {
+ old_protocol_stop();
+ } else {
+ new_protocol_stop();
+ }
+ system("shutdown -h -P now");
+ _exit(0);
+}
+
static void oc_rx_cb(GtkWidget *widget, gpointer data) {
int b=((int)data)>>4;
int oc=((int)data)&0xF;
calculate_display_average();
}
-static void oc_tune_time_cb(GtkWidget *widget, gpointer data) {
- OCtune_time=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+static void oc_full_tune_time_cb(GtkWidget *widget, gpointer data) {
+ OCfull_tune_time=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+}
+
+static void oc_memory_tune_time_cb(GtkWidget *widget, gpointer data) {
+ OCmemory_tune_time=gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget));
+}
+
+static void pre_post_agc_cb(GtkWidget *widget, gpointer data) {
+ nr_agc=(int)data;
+ SetRXAEMNRPosition(CHANNEL_RX0, nr_agc);
+
+}
+
+static void nr2_gain_cb(GtkWidget *widget, gpointer data) {
+ nr2_gain_method==(int)data;
+ SetRXAEMNRgainMethod(CHANNEL_RX0, nr2_gain_method);
+}
+
+static void nr2_npe_method_cb(GtkWidget *widget, gpointer data) {
+ nr2_npe_method=(int)data;
+ SetRXAEMNRnpeMethod(CHANNEL_RX0, nr2_npe_method);
+}
+
+static void ae_cb(GtkWidget *widget, gpointer data) {
+ if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) {
+ nr2_ae=1;
+ } else {
+ nr2_ae=0;
+ }
+ SetRXAEMNRaeRun(CHANNEL_RX0, nr2_ae);
}
static gboolean menu_pressed_event_cb (GtkWidget *widget,
+
+ GtkWidget *dsp_label=gtk_label_new("DSP");
+ GtkWidget *dsp_grid=gtk_grid_new();
+ gtk_grid_set_row_homogeneous(GTK_GRID(dsp_grid),TRUE);
+ gtk_grid_set_column_spacing (GTK_GRID(dsp_grid),10);
+
+ GtkWidget *pre_post_agc_label=gtk_label_new("NR/NR2/ANF");
+ //gtk_widget_override_font(pre_post_agc_label, pango_font_description_from_string("Arial 18"));
+ gtk_widget_show(pre_post_agc_label);
+ gtk_grid_attach(GTK_GRID(dsp_grid),pre_post_agc_label,0,0,1,1);
+
+ GtkWidget *pre_agc_b=gtk_radio_button_new_with_label(NULL,"Pre AGC");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pre_agc_b),nr_agc==0);
+ gtk_widget_show(pre_agc_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),pre_agc_b,1,0,1,1);
+ g_signal_connect(pre_agc_b,"pressed",G_CALLBACK(pre_post_agc_cb),(gpointer *)0);
+
+ GtkWidget *post_agc_b=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(pre_agc_b),"Post AGC");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (post_agc_b), nr_agc==1);
+ gtk_widget_show(post_agc_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),post_agc_b,2,0,1,1);
+ g_signal_connect(post_agc_b,"pressed",G_CALLBACK(pre_post_agc_cb),(gpointer *)1);
+
+ GtkWidget *nr2_gain_label=gtk_label_new("NR2 Gain Method");
+ //gtk_widget_override_font(nr2_gain_label, pango_font_description_from_string("Arial 18"));
+ gtk_widget_show(nr2_gain_label);
+ gtk_grid_attach(GTK_GRID(dsp_grid),nr2_gain_label,0,1,1,1);
+
+ GtkWidget *linear_b=gtk_radio_button_new_with_label(NULL,"Linear");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (linear_b),nr2_gain_method==0);
+ gtk_widget_show(linear_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),linear_b,1,1,1,1);
+ g_signal_connect(linear_b,"pressed",G_CALLBACK(nr2_gain_cb),(gpointer *)0);
+
+ GtkWidget *log_b=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(linear_b),"Log");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (log_b), nr2_gain_method==1);
+ gtk_widget_show(log_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),log_b,2,1,1,1);
+ g_signal_connect(log_b,"pressed",G_CALLBACK(nr2_gain_cb),(gpointer *)1);
+
+ GtkWidget *gamma_b=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(log_b),"Gamma");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gamma_b), nr2_gain_method==2);
+ gtk_widget_show(gamma_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),gamma_b,3,1,1,1);
+ g_signal_connect(gamma_b,"pressed",G_CALLBACK(nr2_gain_cb),(gpointer *)2);
+
+ GtkWidget *nr2_npe_method_label=gtk_label_new("NR2 NPE Method");
+ //gtk_widget_override_font(nr2_npe_method_label, pango_font_description_from_string("Arial 18"));
+ gtk_widget_show(nr2_npe_method_label);
+ gtk_grid_attach(GTK_GRID(dsp_grid),nr2_npe_method_label,0,2,1,1);
+
+ GtkWidget *osms_b=gtk_radio_button_new_with_label(NULL,"OSMS");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (osms_b),nr2_npe_method==0);
+ gtk_widget_show(osms_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),osms_b,1,2,1,1);
+ g_signal_connect(osms_b,"pressed",G_CALLBACK(nr2_npe_method_cb),(gpointer *)0);
+
+ GtkWidget *mmse_b=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(osms_b),"MMSE");
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (mmse_b), nr2_npe_method==1);
+ gtk_widget_show(mmse_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),mmse_b,2,2,1,1);
+ g_signal_connect(mmse_b,"pressed",G_CALLBACK(nr2_npe_method_cb),(gpointer *)1);
+
+ GtkWidget *ae_b=gtk_check_button_new_with_label("NR2 AE Filter");
+ //gtk_widget_override_font(ae_b, pango_font_description_from_string("Arial 18"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (ae_b), nr2_ae);
+ gtk_widget_show(ae_b);
+ gtk_grid_attach(GTK_GRID(dsp_grid),ae_b,0,3,1,1);
+ g_signal_connect(ae_b,"toggled",G_CALLBACK(ae_cb),NULL);
+
+ id=gtk_notebook_append_page(GTK_NOTEBOOK(notebook),dsp_grid,dsp_label);
+
GtkWidget *tx_label=gtk_label_new("PA Gain");
GtkWidget *tx_grid=gtk_grid_new();
gtk_grid_set_row_homogeneous(GTK_GRID(tx_grid),TRUE);
GtkWidget *oc_tune_title=gtk_label_new(oc_id);
//gtk_widget_override_font(oc_tune_title, pango_font_description_from_string("Arial 18"));
gtk_widget_show(oc_tune_title);
- gtk_grid_attach(GTK_GRID(oc_grid),oc_tune_title,18,j+2,1,1);
+ gtk_grid_attach(GTK_GRID(oc_grid),oc_tune_title,18,j,1,1);
mask=0x01<<j;
GtkWidget *oc_tune_b=gtk_check_button_new();
//gtk_widget_override_font(oc_tune_b, pango_font_description_from_string("Arial 18"));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (oc_tune_b), (OCtune&mask)==mask);
gtk_widget_show(oc_tune_b);
- gtk_grid_attach(GTK_GRID(oc_grid),oc_tune_b,19,j+2,1,1);
+ gtk_grid_attach(GTK_GRID(oc_grid),oc_tune_b,19,j,1,1);
g_signal_connect(oc_tune_b,"toggled",G_CALLBACK(oc_tune_cb),(gpointer)j);
}
- GtkWidget *oc_tune_time_title=gtk_label_new("Tune Duration(ms):");
- //gtk_widget_override_font(oc_tune_time_title, pango_font_description_from_string("Arial 18"));
- gtk_widget_show(oc_tune_time_title);
- gtk_grid_attach(GTK_GRID(oc_grid),oc_tune_time_title,18,j+2,2,1);
-
- GtkWidget *oc_tune_time_b=gtk_spin_button_new_with_range(0.0,9999.0,1.0);
- //gtk_widget_override_font(oc_tune_time_b, pango_font_description_from_string("Arial 18"));
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(oc_tune_time_b),(double)OCtune_time);
- gtk_widget_show(oc_tune_time_b);
- gtk_grid_attach(GTK_GRID(oc_grid),oc_tune_time_b,18,j+3,2,1);
- g_signal_connect(oc_tune_time_b,"value_changed",G_CALLBACK(oc_tune_time_cb),NULL);
+ GtkWidget *oc_full_tune_time_title=gtk_label_new("Full Tune(ms):");
+ //gtk_widget_override_font(oc_full_tune_time_title, pango_font_description_from_string("Arial 18"));
+ gtk_widget_show(oc_full_tune_time_title);
+ gtk_grid_attach(GTK_GRID(oc_grid),oc_full_tune_time_title,18,j,2,1);
+ j++;
+
+ GtkWidget *oc_full_tune_time_b=gtk_spin_button_new_with_range(0.0,9999.0,1.0);
+ //gtk_widget_override_font(oc_full_tune_time_b, pango_font_description_from_string("Arial 18"));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(oc_full_tune_time_b),(double)OCfull_tune_time);
+ gtk_widget_show(oc_full_tune_time_b);
+ gtk_grid_attach(GTK_GRID(oc_grid),oc_full_tune_time_b,18,j,2,1);
+ g_signal_connect(oc_full_tune_time_b,"value_changed",G_CALLBACK(oc_full_tune_time_cb),NULL);
+ j++;
+
+ GtkWidget *oc_memory_tune_time_title=gtk_label_new("Memory Tune(ms):");
+ //gtk_widget_override_font(oc_memory_tune_time_title, pango_font_description_from_string("Arial 18"));
+ gtk_widget_show(oc_memory_tune_time_title);
+ gtk_grid_attach(GTK_GRID(oc_grid),oc_memory_tune_time_title,18,j,2,1);
+ j++;
+
+ GtkWidget *oc_memory_tune_time_b=gtk_spin_button_new_with_range(0.0,9999.0,1.0);
+ //gtk_widget_override_font(oc_memory_tune_time_b, pango_font_description_from_string("Arial 18"));
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(oc_memory_tune_time_b),(double)OCmemory_tune_time);
+ gtk_widget_show(oc_memory_tune_time_b);
+ gtk_grid_attach(GTK_GRID(oc_grid),oc_memory_tune_time_b,18,j,2,1);
+ g_signal_connect(oc_memory_tune_time_b,"value_changed",G_CALLBACK(oc_memory_tune_time_cb),NULL);
+ j++;
id=gtk_notebook_append_page(GTK_NOTEBOOK(notebook),oc_grid,oc_label);
GtkWidget *exit_label=gtk_label_new("Exit");
GtkWidget *exit_grid=gtk_grid_new();
//gtk_grid_set_row_homogeneous(GTK_GRID(exit_grid),TRUE);
+ gtk_grid_set_row_spacing (GTK_GRID(exit_grid),20);
GtkWidget *exit_button=gtk_button_new_with_label("Exit PiHPSDR");
g_signal_connect (exit_button, "pressed", G_CALLBACK(exit_pressed_event_cb), NULL);
gtk_grid_attach(GTK_GRID(exit_grid),exit_button,0,0,1,1);
+ GtkWidget *reboot_button=gtk_button_new_with_label("Reboot");
+ g_signal_connect (reboot_button, "pressed", G_CALLBACK(reboot_pressed_event_cb), NULL);
+ gtk_grid_attach(GTK_GRID(exit_grid),reboot_button,0,1,1,1);
+
+ GtkWidget *shutdown_button=gtk_button_new_with_label("Shutdown");
+ g_signal_connect (shutdown_button, "pressed", G_CALLBACK(shutdown_pressed_event_cb), NULL);
+ gtk_grid_attach(GTK_GRID(exit_grid),shutdown_button,0,2,1,1);
+
id=gtk_notebook_append_page(GTK_NOTEBOOK(notebook),exit_grid,exit_label);
if(isTransmitting()) {
output_buffer[C2]|=band->OCtx;
if(tune) {
- if(OCtune_time!=0) {
+ if(OCmemory_tune_time!=0) {
struct timeval te;
gettimeofday(&te,NULL);
long long now=te.tv_sec*1000LL+te.tv_usec/1000;
int anf=0;
int snb=0;
+int nr_agc=0; // 0=pre AGC 1=post AGC
+int nr2_gain_method=2; // 0=Linear 1=Log 2=gamma
+int nr2_npe_method=0; // 0=OSMS 1=MMSE
+int nr2_ae=1; // 0=disable 1=enable
+
int cwPitch=600;
int tune_drive=6;
long long ddsFrequency=14250000;
unsigned char OCtune=0;
-int OCtune_time=2800; // ms
+int OCfull_tune_time=2800; // ms
+int OCmemory_tune_time=550; // ms
long long tune_timeout;
void init_radio() {
if(tune!=state) {
tune=state;
if(tune) {
- if(OCtune_time!=0) {
+ if(OCmemory_tune_time!=0) {
struct timeval te;
gettimeofday(&te,NULL);
- tune_timeout=(te.tv_sec*1000LL+te.tv_usec/1000)+(long long)OCtune_time;
+ tune_timeout=(te.tv_sec*1000LL+te.tv_usec/1000)+(long long)OCmemory_tune_time;
}
}
if(protocol==NEW_PROTOCOL) {
if(value) anf=atoi(value);
value=getProperty("snb");
if(value) snb=atoi(value);
+ value=getProperty("nr_agc");
+ if(value) nr_agc=atoi(value);
+ value=getProperty("nr2_gain_method");
+ if(value) nr2_gain_method=atoi(value);
+ value=getProperty("nr2_npe_method");
+ if(value) nr2_npe_method=atoi(value);
+ value=getProperty("nr2_ae");
+ if(value) nr2_ae=atoi(value);
value=getProperty("agc");
if(value) agc=atoi(value);
value=getProperty("agc_gain");
if(value) vfo_encoder_divisor=atoi(value);
value=getProperty("OCtune");
if(value) OCtune=atoi(value);
- value=getProperty("OCtune_time");
- if(value) OCtune_time=atoi(value);
+ value=getProperty("OCfull_tune_time");
+ if(value) OCfull_tune_time=atoi(value);
+ value=getProperty("OCmemory_tune_time");
+ if(value) OCmemory_tune_time=atoi(value);
bandRestoreState();
sem_post(&property_sem);
setProperty("anf",value);
sprintf(value,"%d",snb);
setProperty("snb",value);
+ sprintf(value,"%d",nr_agc);
+ setProperty("nr_agc",value);
+ sprintf(value,"%d",nr2_gain_method);
+ setProperty("nr2_gain_method",value);
+ sprintf(value,"%d",nr2_npe_method);
+ setProperty("nr2_npe_method",value);
+ sprintf(value,"%d",nr2_ae);
+ setProperty("nr2_ae",value);
sprintf(value,"%d",agc);
setProperty("agc",value);
sprintf(value,"%f",agc_gain);
setProperty("vfo_encoder_divisor",value);
sprintf(value,"%d",OCtune);
setProperty("OCtune",value);
- sprintf(value,"%d",OCtune_time);
- setProperty("OCtune_time",value);
+ sprintf(value,"%d",OCfull_tune_time);
+ setProperty("OCfull_tune_time",value);
+ sprintf(value,"%d",OCmemory_tune_time);
+ setProperty("OCmemory_tune_time",value);
bandSaveState();
extern int anf;
extern int snb;
+extern int nr_agc;
+extern int nr2_gain_method;
+extern int nr2_npe_method;
+extern int nr2_ae;
+
extern int cwPitch;
extern int mic_linein;
extern long long ddsFrequency;
extern unsigned char OCtune;
-extern int OCtune_time;
+extern int OCfull_tune_time;
+extern int OCmemory_tune_time;
extern long long tune_timeout;
extern void init_radio();
static GtkWidget *parent_window;
static GtkWidget *toolbar;
+static GtkWidget *sim_band;
+static GtkWidget *sim_bandstack;
+static GtkWidget *sim_mode;
+static GtkWidget *sim_filter;
+static GtkWidget *sim_agc;
+static GtkWidget *sim_noise;
+static GtkWidget *sim_function;
+static GtkWidget *sim_mox;
+
+
static GtkWidget *last_band;
static GtkWidget *last_mode;
static GtkWidget *last_filter;
}
+void update_toolbar() {
+ if(function) {
+ gtk_button_set_label(GTK_BUTTON(sim_band),"Band v");
+ gtk_button_set_label(GTK_BUTTON(sim_bandstack),"BStack v");
+ gtk_button_set_label(GTK_BUTTON(sim_mode),"Mode v");
+ gtk_button_set_label(GTK_BUTTON(sim_filter),"Filter v");
+ gtk_button_set_label(GTK_BUTTON(sim_agc),"AGC v");
+ gtk_button_set_label(GTK_BUTTON(sim_noise),"Noise v");
+ gtk_button_set_label(GTK_BUTTON(sim_mox),"Tune");
+ } else {
+ gtk_button_set_label(GTK_BUTTON(sim_band),"Band ^");
+ gtk_button_set_label(GTK_BUTTON(sim_bandstack),"BStack ^");
+ gtk_button_set_label(GTK_BUTTON(sim_mode),"Mode ^");
+ gtk_button_set_label(GTK_BUTTON(sim_filter),"Filter ^");
+ gtk_button_set_label(GTK_BUTTON(sim_agc),"AGC ^");
+ gtk_button_set_label(GTK_BUTTON(sim_noise),"Noise ^");
+ gtk_button_set_label(GTK_BUTTON(sim_mox),"Mox");
+ }
+}
+
void sim_function_cb(GtkWidget *widget, gpointer data) {
fprintf(stderr,"sim_function_cb\n");
function=function==1?0:1;
+ update_toolbar();
vfo_update(NULL);
}
gtk_grid_set_column_homogeneous(GTK_GRID(toolbar),TRUE);
if(toolbar_simulate_buttons) {
- GtkWidget *band=gtk_button_new_with_label("Band");
- gtk_widget_set_size_request (band, button_width, 0);
- //gtk_widget_override_font(band, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(band),"clicked",G_CALLBACK(sim_band_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),band,0,0,4,1);
-
- GtkWidget *bandstack=gtk_button_new_with_label("BStack");
- gtk_widget_set_size_request (bandstack, button_width, 0);
- //gtk_widget_override_font(bandstack, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(bandstack),"clicked",G_CALLBACK(sim_bandstack_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),bandstack,4,0,4,1);
-
- GtkWidget *mode=gtk_button_new_with_label("Mode");
- //gtk_widget_override_font(mode, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(mode),"clicked",G_CALLBACK(sim_mode_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),mode,8,0,4,1);
-
- GtkWidget *filter=gtk_button_new_with_label("Filter");
- //gtk_widget_override_font(filter, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(filter),"clicked",G_CALLBACK(sim_filter_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),filter,12,0,4,1);
-
- GtkWidget *agc=gtk_button_new_with_label("AGC");
- //gtk_widget_override_font(agc, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(agc),"clicked",G_CALLBACK(sim_agc_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),agc,16,0,4,1);
-
- GtkWidget *noise=gtk_button_new_with_label("Noise");
- //gtk_widget_override_font(noise, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(noise),"clicked",G_CALLBACK(sim_noise_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),noise,20,0,4,1);
-
- GtkWidget *function=gtk_button_new_with_label("Function");
- //gtk_widget_override_font(function, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(function),"clicked",G_CALLBACK(sim_function_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),function,24,0,4,1);
-
- GtkWidget *mox=gtk_button_new_with_label("Mox");
- //gtk_widget_override_font(mox, pango_font_description_from_string("Arial 16"));
- g_signal_connect(G_OBJECT(mox),"clicked",G_CALLBACK(sim_mox_cb),NULL);
- gtk_grid_attach(GTK_GRID(toolbar),mox,28,0,4,1);
+ sim_band=gtk_button_new_with_label("Band ^");
+ gtk_widget_set_size_request (sim_band, button_width, 0);
+ //gtk_widget_override_font(sim_band, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_band),"clicked",G_CALLBACK(sim_band_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_band,0,0,4,1);
+
+ sim_bandstack=gtk_button_new_with_label("BStack ^");
+ gtk_widget_set_size_request (sim_bandstack, button_width, 0);
+ //gtk_widget_override_font(sim_bandstack, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_bandstack),"clicked",G_CALLBACK(sim_bandstack_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_bandstack,4,0,4,1);
+
+ sim_mode=gtk_button_new_with_label("Mode ^");
+ //gtk_widget_override_font(sim_mode, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_mode),"clicked",G_CALLBACK(sim_mode_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_mode,8,0,4,1);
+
+ sim_filter=gtk_button_new_with_label("Filter ^");
+ //gtk_widget_override_font(sim_filter, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_filter),"clicked",G_CALLBACK(sim_filter_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_filter,12,0,4,1);
+
+ sim_agc=gtk_button_new_with_label("AGC ^");
+ //gtk_widget_override_font(sim_agc, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_agc),"clicked",G_CALLBACK(sim_agc_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_agc,16,0,4,1);
+
+ sim_noise=gtk_button_new_with_label("Noise ^");
+ //gtk_widget_override_font(sim_noise, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_noise),"clicked",G_CALLBACK(sim_noise_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_noise,20,0,4,1);
+
+ sim_function=gtk_button_new_with_label("Function");
+ //gtk_widget_override_font(sim_function, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_function),"clicked",G_CALLBACK(sim_function_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_function,24,0,4,1);
+
+ sim_mox=gtk_button_new_with_label("Mox");
+ //gtk_widget_override_font(sim_mox, pango_font_description_from_string("Arial 16"));
+ g_signal_connect(G_OBJECT(sim_mox),"clicked",G_CALLBACK(sim_mox_cb),NULL);
+ gtk_grid_attach(GTK_GRID(toolbar),sim_mox,28,0,4,1);
} else {
GtkWidget *band=gtk_button_new_with_label("Band");
extern int function;
+void update_toolbar();
int ptt_update(void *data);
void lock_cb(GtkWidget *widget, gpointer data);
void mox_cb(GtkWidget *widget, gpointer data);
SetRXAAMDSBMode(CHANNEL_RX0, 0);
SetRXAShiftRun(CHANNEL_RX0, 0);
- SetRXAEMNRgainMethod(CHANNEL_RX0, 2); // 0=Linear 1=Log 2=Gamma
- SetRXAEMNRnpeMethod(CHANNEL_RX0, 0); // 0=OSMS 1=MMSE
- SetRXAEMNRPosition(CHANNEL_RX0, 0); // 0=Pre AGC, 1=Post AGC
- SetRXAEMNRaeRun(CHANNEL_RX0, 1); // 1=run
+ SetRXAEMNRPosition(CHANNEL_RX0, nr_agc);
+ SetRXAEMNRgainMethod(CHANNEL_RX0, nr2_gain_method);
+ SetRXAEMNRnpeMethod(CHANNEL_RX0, nr2_npe_method);
SetRXAEMNRRun(CHANNEL_RX0, nr2);
+ SetRXAEMNRaeRun(CHANNEL_RX0, nr2_ae);
- SetRXAEMNRaeRun(CHANNEL_RX0, 0);
SetRXAANRVals(CHANNEL_RX0, 64, 16, 16e-4, 10e-7); // defaults
SetRXAANRRun(CHANNEL_RX0, nr);
SetRXAANFRun(CHANNEL_RX0, anf);