From: John Melton - G0ORX/N6LYT Date: Tue, 20 Sep 2016 13:39:38 +0000 (+0000) Subject: Changed to support short audio/microphone packets in new protocol X-Git-Url: https://git.rkrishnan.org/pf/frontends/...?a=commitdiff_plain;h=b6d27d1d039835434b8d01b0c6ed0f3ac8a61193;p=pihpsdr.git Changed to support short audio/microphone packets in new protocol --- diff --git a/audio.c b/audio.c index 87ec58b..8e3c92f 100644 --- a/audio.c +++ b/audio.c @@ -171,6 +171,17 @@ int audio_open_input() { char *selected=input_devices[n_selected_input_device]; fprintf(stderr,"audio_open_input: selected=%d:%s\n",n_selected_input_device,selected); + switch(protocol) { + case ORIGINAL_PROTOCOL: + mic_buffer_size = 720; + break; + case NEW_PROTOCOL: + mic_buffer_size = 64; + break; + default: + break; + } + i=0; while(selected[i]!=' ') { hw[i]=selected[i]; diff --git a/menu.c b/menu.c index 0fe4fc5..9a1e4f2 100644 --- a/menu.c +++ b/menu.c @@ -1306,6 +1306,38 @@ static gboolean menu_pressed_event_cb (GtkWidget *widget, gtk_grid_attach(GTK_GRID(tx_grid),tx_out_of_band_b,0,7,4,1); g_signal_connect(tx_out_of_band_b,"toggled",G_CALLBACK(tx_out_of_band_cb),NULL); + +#ifdef DEBUG + int column=((i/6)*2)+2; + + GtkWidget *scale_label=gtk_label_new("Mic Scale:"); + gtk_widget_show(scale_label); + gtk_grid_attach(GTK_GRID(tx_grid),scale_label,column,0,1,1); + GtkWidget *scale_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 0.1); + gtk_range_set_value (GTK_RANGE(scale_scale),scale); + gtk_widget_show(scale_scale); + gtk_grid_attach(GTK_GRID(tx_grid),scale_scale,column+1,0,30,1); + g_signal_connect(G_OBJECT(scale_scale),"value_changed",G_CALLBACK(scale_value_changed_cb),NULL); + + GtkWidget *psk_scale_label=gtk_label_new("PSK Scale:"); + gtk_widget_show(psk_scale_label); + gtk_grid_attach(GTK_GRID(tx_grid),psk_scale_label,column,1,1,1); + GtkWidget *psk_scale_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 0.1); + gtk_range_set_value (GTK_RANGE(psk_scale_scale),psk_scale); + gtk_widget_show(psk_scale_scale); + gtk_grid_attach(GTK_GRID(tx_grid),psk_scale_scale,column+1,1,30,1); + g_signal_connect(G_OBJECT(psk_scale_scale),"value_changed",G_CALLBACK(psk_scale_value_changed_cb),NULL); + + GtkWidget *freedv_scale_label=gtk_label_new("FREEDV Scale:"); + gtk_widget_show(freedv_scale_label); + gtk_grid_attach(GTK_GRID(tx_grid),freedv_scale_label,column,2,1,1); + GtkWidget *freedv_scale_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 0.1); + gtk_range_set_value (GTK_RANGE(freedv_scale_scale),freedv_scale); + gtk_widget_show(freedv_scale_scale); + gtk_grid_attach(GTK_GRID(tx_grid),freedv_scale_scale,column+1,2,30,1); + g_signal_connect(G_OBJECT(freedv_scale_scale),"value_changed",G_CALLBACK(freedv_scale_value_changed_cb),NULL); +#endif + id=gtk_notebook_append_page(GTK_NOTEBOOK(notebook),tx_grid,tx_label); } @@ -1569,44 +1601,6 @@ static gboolean menu_pressed_event_cb (GtkWidget *widget, id=gtk_notebook_append_page(GTK_NOTEBOOK(notebook),exit_grid,exit_label); - -#ifdef DEBUG - - GtkWidget *debug_label=gtk_label_new("Debug"); - GtkWidget *debug_grid=gtk_grid_new(); - gtk_grid_set_column_homogeneous(GTK_GRID(debug_grid),TRUE); - - GtkWidget *scale_label=gtk_label_new("Scale:"); - gtk_widget_show(scale_label); - gtk_grid_attach(GTK_GRID(debug_grid),scale_label,0,0,1,1); - GtkWidget *scale_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 0.1); - gtk_range_set_value (GTK_RANGE(scale_scale),scale); - gtk_widget_show(scale_scale); - gtk_grid_attach(GTK_GRID(debug_grid),scale_scale,1,0,1,1); - g_signal_connect(G_OBJECT(scale_scale),"value_changed",G_CALLBACK(scale_value_changed_cb),NULL); - - GtkWidget *psk_scale_label=gtk_label_new("PSK Scale:"); - gtk_widget_show(psk_scale_label); - gtk_grid_attach(GTK_GRID(debug_grid),psk_scale_label,0,1,1,1); - GtkWidget *psk_scale_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 0.1); - gtk_range_set_value (GTK_RANGE(psk_scale_scale),psk_scale); - gtk_widget_show(psk_scale_scale); - gtk_grid_attach(GTK_GRID(debug_grid),psk_scale_scale,1,1,1,1); - g_signal_connect(G_OBJECT(psk_scale_scale),"value_changed",G_CALLBACK(psk_scale_value_changed_cb),NULL); - - GtkWidget *freedv_scale_label=gtk_label_new("FREEDV Scale:"); - gtk_widget_show(freedv_scale_label); - gtk_grid_attach(GTK_GRID(debug_grid),freedv_scale_label,0,2,1,1); - GtkWidget *freedv_scale_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 0.1); - gtk_range_set_value (GTK_RANGE(freedv_scale_scale),freedv_scale); - gtk_widget_show(freedv_scale_scale); - gtk_grid_attach(GTK_GRID(debug_grid),freedv_scale_scale,1,2,1,1); - g_signal_connect(G_OBJECT(freedv_scale_scale),"value_changed",G_CALLBACK(freedv_scale_value_changed_cb),NULL); - - id=gtk_notebook_append_page(GTK_NOTEBOOK(notebook),debug_grid,debug_label); - -#endif - gtk_container_add(GTK_CONTAINER(content),notebook); GtkWidget *close_button=gtk_dialog_add_button(GTK_DIALOG(dialog),"Close Dialog",GTK_RESPONSE_OK); diff --git a/new_protocol.c b/new_protocol.c index 443b491..4e4ee03 100644 --- a/new_protocol.c +++ b/new_protocol.c @@ -137,7 +137,7 @@ static double audiooutputbuffer[BUFFER_SIZE*2]; static int leftaudiosample; static int rightaudiosample; static long audiosequence; -static unsigned char audiobuffer[1444]; +static unsigned char audiobuffer[260]; // was 1444 static int audioindex; #ifdef FREEDV @@ -872,7 +872,7 @@ static void process_mic_data(unsigned char *buffer) { // if(isTransmitting()) { b=4; int i,j,s; - for(i=0;i<720;i++) { + for(i=0;i