]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Added calls to RXASetMP and TXASetMP and saved state of low_latency variables for...
authorJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Wed, 8 Mar 2017 09:33:39 +0000 (09:33 +0000)
committerJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Wed, 8 Mar 2017 09:33:39 +0000 (09:33 +0000)
receiver.c
receiver.h
transmitter.c
transmitter.h

index 142159bc49363245394f5c84d2e1eea17a896588..459dd53c26c97d96e49d75f8d034e8740b7a5024 100644 (file)
@@ -261,6 +261,9 @@ void receiver_save_state(RECEIVER *rx) {
   sprintf(value,"%d",rx->audio_device);
   setProperty(name,value);
 
+  sprintf(name,"receiver.%d.low_latency",rx->id);
+  sprintf(value,"%d",rx->low_latency);
+  setProperty(name,value);
 }
 
 void receiver_restore_state(RECEIVER *rx) {
@@ -390,6 +393,9 @@ fprintf(stderr,"receiver_restore_state: id=%d\n",rx->id);
   sprintf(name,"receiver.%d.audio_device",rx->id);
   value=getProperty(name);
   if(value) rx->audio_device=atoi(value);
+  sprintf(name,"receiver.%d.low_latency",rx->id);
+  value=getProperty(name);
+  if(value) rx->low_latency=atoi(value);
 }
 
 void reconfigure_receiver(RECEIVER *rx,int height) {
@@ -764,6 +770,8 @@ fprintf(stderr,"create_receiver: id=%d default adc=%d\n",rx->id, rx->adc);
   rx->audio_channel=STEREO;
   rx->audio_device=-1;
 
+  rx->low_latency=0;
+
   receiver_restore_state(rx);
 
   int scale=rx->sample_rate/48000;
@@ -795,6 +803,7 @@ fprintf(stderr,"create_receiver: OpenChannel id=%d buffer_size=%d fft_size=%d sa
   set_filter(rx,band_filter->low,band_filter->high);
   
   RXASetNC(rx->id, rx->fft_size);
+  RXASetMP(rx->id, rx->low_latency);
 
   SetRXAFMDeviation(rx->id,(double)deviation);
 
index 56c2a2b635c597afc1bb33ed705090b2c15570e8..40cfc69b0665f43499e308bfec53c4710475bb52 100644 (file)
@@ -116,6 +116,8 @@ typedef struct _receiver {
   int playback_offset;
   unsigned char *playback_buffer;
 
+  int low_latency;
+
 } RECEIVER;
 
 extern RECEIVER *create_receiver(int id, int buffer_size, int fft_size, int pixels, int fps, int width, int height);
index 51c8264bce79d3b2159f75760952e71916b3c6b7..d2d9b4e5ad46f30ab78c87310ac67e60e61c98e9 100644 (file)
@@ -85,6 +85,9 @@ void transmitter_save_state(TRANSMITTER *tx) {
   sprintf(value,"%d",tx->input_device);
   setProperty(name,value);
 
+  sprintf(name,"transmitter.%d.low_latency",tx->id);
+  sprintf(value,"%d",tx->low_latency);
+  setProperty(name,value);
 }
 
 void transmitter_restore_state(TRANSMITTER *tx) {
@@ -110,6 +113,9 @@ void transmitter_restore_state(TRANSMITTER *tx) {
   sprintf(name,"transmitter.%d.input_device",tx->id);
   value=getProperty(name);
   if(value) tx->input_device=atoi(value);
+  sprintf(name,"transmitter.%d.low_latency",tx->id);
+  value=getProperty(name);
+  if(value) tx->low_latency=atoi(value);
 }
 
 static gint update_display(gpointer data) {
@@ -375,6 +381,8 @@ fprintf(stderr,"create_transmitter: id=%d buffer_size=%d mic_sample_rate=%d mic_
 
   tx->out_of_band=0;
 
+  tx->low_latency=0;
+
   transmitter_restore_state(tx);
 
   if(split) {
@@ -408,6 +416,9 @@ fprintf(stderr,"transmitter: allocate buffers: mic_input_buffer=%d iq_output_buf
               0, // run
               0.010, 0.025, 0.0, 0.010, 0);
 
+  TXASetNC(tx->id, tx->fft_size);
+  TXASetMP(tx->id, tx->low_latency);
+
   SetTXAMode(tx->id, tx->mode);
   tx_set_filter(tx,tx_filter_low,tx_filter_high);
   SetTXABandpassWindow(tx->id, 1);
index c4eeda2cfb7644f4ace9b76b20304a74f504764d..20aaf990661f50f4a5000bf57d1bbea821941e3e 100644 (file)
@@ -73,6 +73,8 @@ typedef struct _transmitter {
   int out_of_band;
   gint out_of_band_timer_id;
 
+  int low_latency;
+
 } TRANSMITTER;
 
 extern TRANSMITTER *create_transmitter(int id, int buffer_size, int fft_size, int fps, int width, int height);