]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Changed audio buffer size for portaudio. Changed Drive and Tune scale to 0..255 rathe...
authorJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Fri, 15 Jul 2016 08:29:47 +0000 (08:29 +0000)
committerJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Fri, 15 Jul 2016 08:29:47 +0000 (08:29 +0000)
audio.c
gpio.c
old_protocol.c
radio.c
sliders.c

diff --git a/audio.c b/audio.c
index 431b5b386a7358cbfddc55e96949d5a939af9c4b..07249a4e6e389a18fc19330c8a5efc13bfa94f07 100644 (file)
--- a/audio.c
+++ b/audio.c
@@ -35,7 +35,8 @@
 #include "radio.h"
 
 int audio = 0;
-int audio_buffer_size = 2016; // samples (both left and right)
+//int audio_buffer_size = 2016; // samples (both left and right)
+int audio_buffer_size = 256; // samples (both left and right)
 
 static pa_simple *stream;
 
diff --git a/gpio.c b/gpio.c
index b00e740862be00b047799aca66f7548e39a0c198..9d6986506c253926bcff5a08600cf4be3ca4cbe9 100644 (file)
--- a/gpio.c
+++ b/gpio.c
@@ -760,21 +760,27 @@ static int rf_encoder_changed(void *data) {
     if(function || tune) {
       // tune drive
       double d=getTuneDrive();
-      d+=(double)pos/100.0;
+      //d+=(double)pos/100.0;
+      d+=(double)pos;
       if(d<0.0) {
         d=0.0;
-      } else if(d>1.0) {
-        d=1.0;
+      //} else if(d>1.0) {
+      //  d=1.0;
+      } else if(d>255.0) {
+        d=255.0;
       }
       set_tune(d);
     } else {
       // drive
       double d=getDrive();
-      d+=(double)pos/100.0;
+      //d+=(double)pos/100.0;
+      d+=(double)pos;
       if(d<0.0) {
         d=0.0;
-      } else if(d>1.0) {
-        d=1.0;
+      //} else if(d>1.0) {
+      //  d=1.0;
+      } else if(d>255.0) {
+        d=255.0;
       }
       set_drive(d);
     }
index e7f8476c5d635a6260505b7a973db2bb0d0a0ee8..5bfe753bd37fc18d5a5ac972629dd31c9209a8f2 100644 (file)
@@ -465,6 +465,8 @@ static void process_ozy_input_buffer(char  *buffer) {
         if(mode==modeFREEDV) {
           if(freedv_samples==0) {
             int modem_samples=mod_sample_freedv(mic_sample);
+            //short micinput=(short)(((double)mic_sample_float*mic_gain)*32767.0);
+            //int modem_samples=mod_sample_freedv(micinput);
             if(modem_samples!=0) {
               int s;
               for(s=0;s<modem_samples;s++) {
@@ -473,6 +475,8 @@ static void process_ozy_input_buffer(char  *buffer) {
                   mic_sample_float=(float)mic_sample/32767.0f; // 16 bit sample 2^16-1
                   micinputbuffer[samples*2]=(double)mic_sample_float*mic_gain;
                   micinputbuffer[(samples*2)+1]=(double)mic_sample_float*mic_gain;
+                  //micinputbuffer[samples*2]=(double)mic_sample_float;
+                  //micinputbuffer[(samples*2)+1]=(double)mic_sample_float;
                   iqinputbuffer[samples*2]=0.0;
                   iqinputbuffer[(samples*2)+1]=0.0;
                   samples++;
@@ -819,7 +823,7 @@ void ozy_send_buffer() {
         d=(float)tune_drive;
       }
       BAND *band=band_get_current_band();
-      d=(d/100.0F)*(float)band->pa_calibration;
+      d=(d*(float)band->pa_calibration)/100.0F;
 
       output_buffer[C0]=0x12;
       output_buffer[C1]=(int)d;
diff --git a/radio.c b/radio.c
index 3fd8c7a933be12eb0a4f1aba17889f3f143624dc..7931e8daec8f308598c06e9bd4154c5d8b418fd1 100644 (file)
--- a/radio.c
+++ b/radio.c
@@ -316,23 +316,26 @@ long long getFrequency() {
 }
 
 double getDrive() {
-    return (double)drive/255.0;
+    //return (double)drive/255.0;
+    return (double)drive;
 }
 
 void setDrive(double value) {
-    drive=(int)(value*255.0);
+    //drive=(int)(value*255.0);
+    drive=(int)(value);
     if(protocol==NEW_PROTOCOL) {
       schedule_high_priority(6);
     }
 }
 
 double getTuneDrive() {
-    return (double)tune_drive/255.0;
+    //return (double)tune_drive/255.0;
+    return (double)tune_drive;
 }
 
 void setTuneDrive(double value) {
-fprintf(stderr,"setTuneDrive: protocol=%d\n", protocol);
-    tune_drive=(int)(value*255.0);
+    //tune_drive=(int)(value*255.0);
+    tune_drive=(int)(value);
     if(protocol==NEW_PROTOCOL) {
       schedule_high_priority(7);
     }
index 4a76e19fb3c2ed2075bf5e203a07342103a3b861..8e9847427a91f50acd4ffc1c3c200522d76f9ce8 100644 (file)
--- a/sliders.c
+++ b/sliders.c
@@ -234,7 +234,8 @@ fprintf(stderr,"set_mic_gain: %f\n",mic_gain);
 void set_drive(double value) {
   setDrive(value);
   if(display_sliders) {
-    gtk_range_set_value (GTK_RANGE(drive_scale),value*100.0);
+    //gtk_range_set_value (GTK_RANGE(drive_scale),value*100.0);
+    gtk_range_set_value (GTK_RANGE(drive_scale),value);
   } else {
     if(scale_status!=DRIVE) {
       if(scale_status!=NONE) {
@@ -247,9 +248,11 @@ void set_drive(double value) {
       scale_status=DRIVE;
       scale_dialog=gtk_dialog_new_with_buttons("Drive",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
       GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(scale_dialog));
-      drive_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.00);
+      //drive_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.00);
+      drive_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 255.0, 1.00);
       gtk_widget_set_size_request (drive_scale, 400, 30);
-      gtk_range_set_value (GTK_RANGE(drive_scale),value*100.0);
+      //gtk_range_set_value (GTK_RANGE(drive_scale),value*100.0);
+      gtk_range_set_value (GTK_RANGE(drive_scale),value);
       gtk_widget_show(drive_scale);
       gtk_container_add(GTK_CONTAINER(content),drive_scale);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
@@ -257,20 +260,23 @@ void set_drive(double value) {
       int result=gtk_dialog_run(GTK_DIALOG(scale_dialog));
     } else {
       g_source_remove(scale_timer);
-      gtk_range_set_value (GTK_RANGE(drive_scale),value*100.0);
+      //gtk_range_set_value (GTK_RANGE(drive_scale),value*100.0);
+      gtk_range_set_value (GTK_RANGE(drive_scale),value);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
     }
   }
 }
 
 static void drive_value_changed_cb(GtkWidget *widget, gpointer data) {
-  setDrive(gtk_range_get_value(GTK_RANGE(drive_scale))/100.0);
+  //setDrive(gtk_range_get_value(GTK_RANGE(drive_scale))/100.0);
+  setDrive(gtk_range_get_value(GTK_RANGE(drive_scale)));
 }
 
 void set_tune(double value) {
   setTuneDrive(value);
   if(display_sliders) {
-    gtk_range_set_value (GTK_RANGE(tune_scale),value*100.0);
+    //gtk_range_set_value (GTK_RANGE(tune_scale),value*100.0);
+    gtk_range_set_value (GTK_RANGE(tune_scale),value);
   } else {
     if(scale_status!=TUNE_DRIVE) {
       if(scale_status!=NONE) {
@@ -283,9 +289,11 @@ void set_tune(double value) {
       scale_status=TUNE_DRIVE;
       scale_dialog=gtk_dialog_new_with_buttons("Tune Drive",GTK_WINDOW(parent_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
       GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(scale_dialog));
-      tune_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.00);
+      //tune_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.00);
+      tune_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 255.0, 1.00);
       gtk_widget_set_size_request (tune_scale, 400, 30);
-      gtk_range_set_value (GTK_RANGE(tune_scale),value*100.0);
+      //gtk_range_set_value (GTK_RANGE(tune_scale),value*100.0);
+      gtk_range_set_value (GTK_RANGE(tune_scale),value);
       gtk_widget_show(tune_scale);
       gtk_container_add(GTK_CONTAINER(content),tune_scale);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
@@ -293,14 +301,16 @@ void set_tune(double value) {
       int result=gtk_dialog_run(GTK_DIALOG(scale_dialog));
     } else {
       g_source_remove(scale_timer);
-      gtk_range_set_value (GTK_RANGE(tune_scale),value*100.0);
+      //gtk_range_set_value (GTK_RANGE(tune_scale),value*100.0);
+      gtk_range_set_value (GTK_RANGE(tune_scale),value);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
     }
   }
 }
 
 static void tune_value_changed_cb(GtkWidget *widget, gpointer data) {
-  setTuneDrive(gtk_range_get_value(GTK_RANGE(tune_scale))/100.0);
+  //setTuneDrive(gtk_range_get_value(GTK_RANGE(tune_scale))/100.0);
+  setTuneDrive(gtk_range_get_value(GTK_RANGE(tune_scale)));
 }
 
 GtkWidget *sliders_init(int my_width, int my_height, GtkWidget* parent) {
@@ -366,8 +376,10 @@ GtkWidget *sliders_init(int my_width, int my_height, GtkWidget* parent) {
   gtk_widget_show(drive_label);
   gtk_grid_attach(GTK_GRID(sliders),drive_label,3,1,1,1);
 
-  drive_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.0);
-  gtk_range_set_value (GTK_RANGE(drive_scale),getDrive()*100.0);
+  //drive_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.0);
+  drive_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 255.0, 1.0);
+  //gtk_range_set_value (GTK_RANGE(drive_scale),getDrive()*100.0);
+  gtk_range_set_value (GTK_RANGE(drive_scale),getDrive());
   gtk_widget_show(drive_scale);
   gtk_grid_attach(GTK_GRID(sliders),drive_scale,4,1,2,1);
   g_signal_connect(G_OBJECT(drive_scale),"value_changed",G_CALLBACK(drive_value_changed_cb),NULL);
@@ -377,8 +389,10 @@ GtkWidget *sliders_init(int my_width, int my_height, GtkWidget* parent) {
   gtk_widget_show(tune_label);
   gtk_grid_attach(GTK_GRID(sliders),tune_label,6,1,1,1);
 
-  tune_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.0);
-  gtk_range_set_value (GTK_RANGE(tune_scale),getTuneDrive()*100.0);
+  //tune_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.0);
+  tune_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 255.0, 1.0);
+  //gtk_range_set_value (GTK_RANGE(tune_scale),getTuneDrive()*100.0);
+  gtk_range_set_value (GTK_RANGE(tune_scale),getTuneDrive());
   gtk_widget_show(tune_scale);
   gtk_grid_attach(GTK_GRID(sliders),tune_scale,7,1,2,1);
   g_signal_connect(G_OBJECT(tune_scale),"value_changed",G_CALLBACK(tune_value_changed_cb),NULL);