]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Consildate adc_attenuation into adc structure
authorJohn Melton G0ORX <john.d.melton@googlemail.com>
Fri, 12 Mar 2021 16:14:01 +0000 (16:14 +0000)
committerJohn Melton G0ORX <john.d.melton@googlemail.com>
Fri, 12 Mar 2021 16:14:01 +0000 (16:14 +0000)
actions.c
meter.c
midi3.c
new_protocol.c
old_protocol.c
radio.c
radio.h
rigctl.c
rx_panadapter.c
sliders.c
waterfall.c

index 9bf4ee3454885972667332399a4d94bbc290ccc2..4614b72debd6dad7fcc6d0af353e4f71c78c41a1 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -322,7 +322,7 @@ int encoder_action(void *data) {
       filter_shift_changed(1,a->val);
       break;
     case ENCODER_ATTENUATION:
-      value=(double)adc_attenuation[active_receiver->adc];
+      value=(double)adc[active_receiver->adc].attenuation;
       value+=(double)a->val;
       if(have_rx_gain) {
         if(value<-12.0) {
diff --git a/meter.c b/meter.c
index dbea87a3444794faff1b84ff1203e38e8eae4d80..fd481764bfeea4e1ceb4181cd8975134c733d6af 100644 (file)
--- a/meter.c
+++ b/meter.c
@@ -193,9 +193,9 @@ if(analog_meter) {
     case SMETER:
       {
       if(have_rx_gain) {
-        level=value+rx_gain_calibration-adc_attenuation[rx->adc];
+        level=value+rx_gain_calibration-adc[rx->adc].attenuation;
       } else {
-        level=value+(double)adc_attenuation[rx->adc];
+        level=value+(double)adc[rx->adc].attenuation;
       }
 #ifdef SOAPYSDR
       if(protocol==SOAPYSDR_PROTOCOL) {
@@ -563,9 +563,9 @@ if(analog_meter) {
       text_location=10;
       offset=5.0;
       if(have_rx_gain) {
-        level=value+rx_gain_calibration-adc_attenuation[rx->adc];
+        level=value+rx_gain_calibration-adc[rx->adc].attenuation;
       } else {
-        level=value+(double)adc_attenuation[rx->adc];
+        level=value+(double)adc[rx->adc].attenuation;
       }
 #ifdef SOAPYSDR
       if(protocol==SOAPYSDR_PROTOCOL) {
diff --git a/midi3.c b/midi3.c
index 8c0f2143aa2d6df1cc031c4da39e195ac018f3f9..d7b2dd810965db621eaef32b5a5dd07c4c992f26 100644 (file)
--- a/midi3.c
+++ b/midi3.c
@@ -109,7 +109,7 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) {
                }
                break;
              case MIDI_WHEEL:
-               new=adc_attenuation[active_receiver->adc] + val;
+               new=adc[active_receiver->adc].attenuation + val;
                dp=malloc(sizeof(double));
                *dp=(double) new;
                 if(have_rx_gain) {
index dfcb00ef142f1afdd4583ed3bdd81ceabefa2f9e..0f8bd7dd9481292675bd3805ce9dd42bf5766876 100644 (file)
@@ -1101,11 +1101,11 @@ static void new_protocol_high_priority() {
       high_priority_buffer_to_radio[1443]=transmitter->attenuation;
       high_priority_buffer_to_radio[1442]=31;
     } else {
-      high_priority_buffer_to_radio[1443]=adc_attenuation[0];  
+      high_priority_buffer_to_radio[1443]=adc[0].attenuation;  
       if (diversity_enabled) {
-        high_priority_buffer_to_radio[1442]=adc_attenuation[0];  // DIVERSITY: ADC0 att value for ADC1 as well
+        high_priority_buffer_to_radio[1442]=adc[0].attenuation;  // DIVERSITY: ADC0 att value for ADC1 as well
       } else {
-        high_priority_buffer_to_radio[1442]=adc_attenuation[1];
+        high_priority_buffer_to_radio[1442]=adc[1].attenuation;
       }
     }
 
index d8f931059d53c1abecaa5cf7943f5d0332f5afca..0dfa76828de8e448a34553c9a8811a2adcf59eb2 100644 (file)
@@ -1816,9 +1816,9 @@ static int last_power=0;
           } else {
            // if diversity is enabled, use RX1 att value for RX2
             if (diversity_enabled) {
-              output_buffer[C1]=0x20 | (adc_attenuation[receiver[0]->adc] & 0x1F);
+              output_buffer[C1]=0x20 | (adc[receiver[0]->adc].attenuation & 0x1F);
            } else {
-              output_buffer[C1]=0x20 | (adc_attenuation[receiver[1]->adc] & 0x1F);
+              output_buffer[C1]=0x20 | (adc[receiver[1]->adc].attenuation & 0x1F);
            }
           }
         }
diff --git a/radio.c b/radio.c
index 430ec31b3072cbde94d22f11a2dd20f9fe84e34f..194a03839c836b47aaf13d4279880cc26e9ce11b 100644 (file)
--- a/radio.c
+++ b/radio.c
@@ -218,7 +218,7 @@ int receivers;
 
 ADC adc[2];
 DAC dac[2];
-int adc_attenuation[2];
+//int adc_attenuation[2];
 
 int locked=0;
 
@@ -1093,6 +1093,7 @@ void start_radio() {
   }
 #endif
 
+  /*
   adc_attenuation[0]=0;
   adc_attenuation[1]=0;
 
@@ -1100,7 +1101,7 @@ void start_radio() {
     adc_attenuation[0]=14;
     adc_attenuation[1]=14;
   }
-
+*/
   adc[0].antenna=ANTENNA_1;
   adc[0].filters=AUTOMATIC;
   adc[0].hpf=HPF_13;
@@ -1108,7 +1109,11 @@ void start_radio() {
   adc[0].dither=FALSE;
   adc[0].random=FALSE;
   adc[0].preamp=FALSE;
-  adc[0].attenuation=0;
+  if(have_rx_gain) {
+    adc[0].attenuation=14;
+  } else {
+    adc[0].attenuation=0;
+  }
 #ifdef SOAPYSDR
   adc[0].antenna=0;
   if(device==SOAPYSDR_USB_DEVICE) {
@@ -1133,7 +1138,11 @@ void start_radio() {
   adc[1].dither=FALSE;
   adc[1].random=FALSE;
   adc[1].preamp=FALSE;
-  adc[1].attenuation=0;
+  if(have_rx_gain) {
+    adc[0].attenuation=14;
+  } else {
+    adc[1].attenuation=0;
+  }
 #ifdef SOAPYSDR
   adc[1].antenna=0;
   if(device==SOAPYSDR_USB_DEVICE) {
@@ -2099,10 +2108,12 @@ g_print("radioRestoreState: %s\n",property_path);
     value=getProperty("rigctl_port_base");
     if(value) rigctl_port_base=atoi(value);
 
+    /*
     value=getProperty("adc_0_attenuation");
     if(value) adc_attenuation[0]=atoi(value);
     value=getProperty("adc_1_attenuation");
     if(value) adc_attenuation[1]=atoi(value);
+    */
        
     value=getProperty("split");
     if(value) split=atoi(value);
@@ -2113,22 +2124,85 @@ g_print("radioRestoreState: %s\n",property_path);
     value=getProperty("mute_rx_while_transmitting");
     if(value) mute_rx_while_transmitting=atoi(value);
 
-#ifdef SOAPYSDR
+    value=getProperty("radio.adc[0].filters");
+    if(value) adc[0].filters=atoi(value);
+    value=getProperty("radio.adc[0].hpf");
+    if(value) adc[0].hpf=atoi(value);
+    value=getProperty("radio.adc[0].lpf");
+    if(value) adc[0].lpf=atoi(value);
+    value=getProperty("radio.adc[0].antenna");
+    if(value) adc[0].antenna=atoi(value);
+    value=getProperty("radio.adc[0].dither");
+    if(value) adc[0].dither=atoi(value);
+    value=getProperty("radio.adc[0].random");
+    if(value) adc[0].random=atoi(value);
+    value=getProperty("radio.adc[0].preamp");
+    if(value) adc[0].preamp=atoi(value);
+    value=getProperty("radio.adc[0].attenuation");
+    if(value) adc[0].attenuation=atoi(value);
+    value=getProperty("radio.adc[0].enable_step_attenuation");
+    if(value) adc[0].enable_step_attenuation=atoi(value);
+    value=getProperty("radio.adc[0].gain");
+    if(value) adc[0].gain=atof(value);
+    value=getProperty("radio.adc[0].min_gain");
+    if(value) adc[0].min_gain=atof(value);
+    value=getProperty("radio.adc[0].max_gain");
+    if(value) adc[0].max_gain=atof(value);
+
+
+#ifdef  SOAPYSDR
     if(device==SOAPYSDR_USB_DEVICE) {
-      value=getProperty("radio.adc[0].gain");
-      if(value!=NULL) adc[0].gain=atoi(value);
       value=getProperty("radio.adc[0].agc");
-      if(value!=NULL) adc[0].agc=atoi(value);
-      value=getProperty("radio.adc[0].antenna");
-      if(value!=NULL) adc[0].antenna=atoi(value);
-  
-      value=getProperty("radio.dac[0].antenna");
-      if(value!=NULL) dac[0].antenna=atoi(value);
-      value=getProperty("radio.dac[0].gain");
-      if(value!=NULL) dac[0].gain=atoi(value);
+      if(value) soapy_protocol_set_automatic_gain(atoi(value));
     }
 #endif
 
+    value=getProperty("radio.dac[0].antenna");
+    if(value) dac[0].antenna=atoi(value);
+    value=getProperty("radio.dac[0].gain");
+    if(value) dac[0].gain=atof(value);
+
+    if(receivers>1) {
+      value=getProperty("radio.adc[1].filters");
+      if(value) adc[1].filters=atoi(value);
+      value=getProperty("radio.adc[1].hpf");
+      if(value) adc[1].hpf=atoi(value);
+      value=getProperty("radio.adc[1].lpf");
+      if(value) adc[1].lpf=atoi(value);
+      value=getProperty("radio.adc[1].antenna");
+      if(value) adc[1].antenna=atoi(value);
+      value=getProperty("radio.adc[1].dither");
+      if(value) adc[1].dither=atoi(value);
+      value=getProperty("radio.adc[1].random");
+      if(value) adc[1].random=atoi(value);
+      value=getProperty("radio.adc[1].preamp");
+      if(value) adc[1].preamp=atoi(value);
+      value=getProperty("radio.adc[1].attenuation");
+      if(value) adc[1].attenuation=atoi(value);
+      value=getProperty("radio.adc[1].enable_step_attenuation");
+      if(value) adc[1].enable_step_attenuation=atoi(value);
+      value=getProperty("radio.adc[1].gain");
+      if(value) adc[1].gain=atof(value);
+      value=getProperty("radio.adc[1].min_gain");
+      if(value) adc[1].min_gain=atof(value);
+      value=getProperty("radio.adc[1].max_gain");
+      if(value) adc[1].max_gain=atof(value);
+
+
+#ifdef  SOAPYSDR
+      if(device==SOAPYSDR_USB_DEVICE) {
+        value=getProperty("radio.adc[1].agc");
+        if(value) soapy_protocol_set_automatic_gain(atoi(value));
+      }
+#endif
+
+      value=getProperty("radio.dac[1].antenna");
+      if(value) dac[1].antenna=atoi(value);
+      value=getProperty("radio.dac[1].gain");
+      if(value) dac[1].gain=atof(value);
+
+    }
+
 #ifdef MIDI
     midi_restore_state();
     value=getProperty("radio.midi_enabled");
@@ -2363,46 +2437,92 @@ g_print("radioSaveState: %s\n",property_path);
     sprintf(value,"%f",tone_level);
     setProperty("tone_level",value);
 
+    /*
     sprintf(value,"%d",adc_attenuation[0]);
     setProperty("adc_0_attenuation",value);
     sprintf(value,"%d",adc_attenuation[1]);
     setProperty("adc_1_attenuation",value);
+    */
        
     sprintf(value,"%d",rx_gain_calibration);
     setProperty("rx_gain_calibration",value);
 
-#ifdef SOAPYSDR
+    sprintf(value,"%d", adc[0].filters);
+    setProperty("radio.adc[0].filters",value);
+    sprintf(value,"%d", adc[0].hpf);
+    setProperty("radio.adc[0].hpf",value);
+    sprintf(value,"%d", adc[0].lpf);
+    setProperty("radio.adc[0].lpf",value);
+    sprintf(value,"%d", adc[0].antenna);
+    setProperty("radio.adc[0].antenna",value);
+    sprintf(value,"%d", adc[0].dither);
+    setProperty("radio.adc[0].dither",value);
+    sprintf(value,"%d", adc[0].random);
+    setProperty("radio.adc[0].random",value);
+    sprintf(value,"%d", adc[0].preamp);
+    setProperty("radio.adc[0].preamp",value);
+    sprintf(value,"%d", adc[0].attenuation);
+    setProperty("radio.adc[0].attenuation",value);
+    sprintf(value,"%d", adc[0].enable_step_attenuation);
+    setProperty("radio.adc[0].enable_step_attenuation",value);
+    sprintf(value,"%f", adc[0].gain);
+    setProperty("radio.adc[0].gain",value);
+    sprintf(value,"%f", adc[0].min_gain);
+    setProperty("radio.adc[0].min_gain",value);
+    sprintf(value,"%f", adc[0].max_gain);
+    setProperty("radio.adc[0].max_gain",value);
+
+
+#ifdef  SOAPYSDR
     if(device==SOAPYSDR_USB_DEVICE) {
-      sprintf(value,"%f", adc[0].gain);
-      setProperty("radio.adc[0].gain",value);
       sprintf(value,"%d", soapy_protocol_get_automatic_gain(receiver[0]));
       setProperty("radio.adc[0].agc",value);
-      sprintf(value,"%d", adc[0].antenna);
-      setProperty("radio.adc[0].antenna",value);
-
-      sprintf(value,"%d", dac[0].antenna);
-      setProperty("radio.dac[0].antenna",value);
-
-      sprintf(value,"%f", dac[0].gain);
-      setProperty("radio.dac[0].gain",value);
+    }
+#endif
 
-      if(receivers>1) {
-        sprintf(value,"%f", adc[1].gain);
-        setProperty("radio.adc[1].gain",value);
+    sprintf(value,"%d", dac[0].antenna);
+    setProperty("radio.dac[0].antenna",value);
+    sprintf(value,"%f", dac[0].gain);
+    setProperty("radio.dac[0].gain",value);
+
+    if(receivers>1) {
+      sprintf(value,"%d", adc[1].filters);
+      setProperty("radio.adc[1].filters",value);
+      sprintf(value,"%d", adc[1].hpf);
+      setProperty("radio.adc[1].hpf",value);
+      sprintf(value,"%d", adc[1].lpf);
+      setProperty("radio.adc[1].lpf",value);
+      sprintf(value,"%d", adc[1].antenna);
+      setProperty("radio.adc[1].antenna",value);
+      sprintf(value,"%d", adc[1].dither);
+      setProperty("radio.adc[1].dither",value);
+      sprintf(value,"%d", adc[1].random);
+      setProperty("radio.adc[1].random",value);
+      sprintf(value,"%d", adc[1].preamp);
+      setProperty("radio.adc[1].preamp",value);
+      sprintf(value,"%d", adc[1].attenuation);
+      setProperty("radio.adc[1].attenuation",value);
+      sprintf(value,"%d", adc[1].enable_step_attenuation);
+      setProperty("radio.adc[1].enable_step_attenuation",value);
+      sprintf(value,"%f", adc[1].gain);
+      setProperty("radio.adc[1].gain",value);
+      sprintf(value,"%f", adc[1].min_gain);
+      setProperty("radio.adc[1].min_gain",value);
+      sprintf(value,"%f", adc[1].max_gain);
+      setProperty("radio.adc[1].max_gain",value);
+
+#ifdef  SOAPYSDR
+      if(device==SOAPYSDR_USB_DEVICE) {
         sprintf(value,"%d", soapy_protocol_get_automatic_gain(receiver[1]));
         setProperty("radio.adc[1].agc",value);
-        sprintf(value,"%d", adc[1].antenna);
-        setProperty("radio.adc[1].antenna",value);
-  
-        sprintf(value,"%d", dac[1].antenna);
-        setProperty("radio.dac[1].antenna",value);
-  
-        sprintf(value,"%f", dac[1].gain);
-        setProperty("radio.dac[1].gain",value);
       }
-    }
 #endif
-
+  
+      sprintf(value,"%d", dac[1].antenna);
+      setProperty("radio.dac[1].antenna",value);
+      sprintf(value,"%f", dac[1].gain);
+      setProperty("radio.dac[1].gain",value);
+    }
 
     sprintf(value,"%d",receivers);
     setProperty("receivers",value);
diff --git a/radio.h b/radio.h
index 0f02ecbd351de6078c756769ea033cc68cddad3d..de56307802fea42a74940c4101154964d8b975a3 100644 (file)
--- a/radio.h
+++ b/radio.h
@@ -191,7 +191,7 @@ extern int receivers;
 
 extern ADC adc[2];
 extern DAC dac[2];
-extern int adc_attenuation[2];
+//extern int adc_attenuation[2];
 
 extern int locked;
 
index c2098bd9010ecac890248b58a0e7b9f55879e486..3cc2695caa5d2e8aa8f815e799975d44fc2e86f3 100644 (file)
--- a/rigctl.c
+++ b/rigctl.c
@@ -3250,10 +3250,10 @@ int parse_cmd(void *data) {
           if(command[2]==';') {
             int att=0;
             if(have_rx_gain) {
-              att=(int)(adc_attenuation[active_receiver->adc]+12);
+              att=(int)(adc[active_receiver->adc].attenuation+12);
               att=(int)(((double)att/60.0)*99.0);
             } else {
-              att=(int)(adc_attenuation[active_receiver->adc]);
+              att=(int)(adc[active_receiver->adc].attenuation);
               att=(int)(((double)att/31.0)*99.0);
             }
             sprintf(reply,"RA%02d00;",att);
index e37141e5b059a997a16acf4367cba4d8be8ba567..a0cbeaab9334452430eecb20adb8879b0fee5a58 100644 (file)
@@ -420,13 +420,13 @@ void rx_panadapter_update(RECEIVER *rx) {
 
   // agc
   if(rx->agc!=AGC_OFF) {
-    double knee_y=rx->agc_thresh+(double)adc_attenuation[rx->adc];
+    double knee_y=rx->agc_thresh+(double)adc[rx->adc].attenuation;
     if (filter_board == ALEX && rx->adc == 0) knee_y += (double)(10*rx->alex_attenuation);
     knee_y = floor((rx->panadapter_high - knee_y)
                         * (double) display_height
                         / (rx->panadapter_high - rx->panadapter_low));
 
-    double hang_y=rx->agc_hang+(double)adc_attenuation[rx->adc];
+    double hang_y=rx->agc_hang+(double)adc[rx->adc].attenuation;
     if (filter_board == ALEX && rx->adc == 0) hang_y += (double)(10*rx->alex_attenuation);
     hang_y = floor((rx->panadapter_high - hang_y)
                         * (double) display_height
@@ -488,9 +488,9 @@ void rx_panadapter_update(RECEIVER *rx) {
   samples[pan]=-200.0;
   samples[display_width-1+pan]=-200.0;
   if(have_rx_gain) {
-    s1=(double)samples[pan]+rx_gain_calibration-adc_attenuation[rx->adc];
+    s1=(double)samples[pan]+rx_gain_calibration-adc[rx->adc].attenuation;
   } else {
-    s1=(double)samples[pan]+(double)adc_attenuation[rx->adc];
+    s1=(double)samples[pan]+(double)adc[rx->adc].attenuation;
   }
   cairo_move_to(cr, 0.0, s1);
   if (filter_board == ALEX && rx->adc == 0) s1 += (double)(10*rx->alex_attenuation);
@@ -511,9 +511,9 @@ void rx_panadapter_update(RECEIVER *rx) {
   cairo_move_to(cr, 0.0, s1);
   for(i=1;i<display_width;i++) {
     if(have_rx_gain) {
-      s2=(double)samples[i+pan]+rx_gain_calibration-adc_attenuation[rx->adc];
+      s2=(double)samples[i+pan]+rx_gain_calibration-adc[rx->adc].attenuation;
     } else {
-      s2=(double)samples[i+pan]+(double)adc_attenuation[rx->adc];
+      s2=(double)samples[i+pan]+(double)adc[rx->adc].attenuation;
     }
     if (filter_board == ALEX && rx->adc == 0) s2 += (double)(10*rx->alex_attenuation);
     if (filter_board == CHARLY25) {
index 0ffef505e05f82bab238a54f004622b51e7ef598..b8ab2439f96e3610777ede64b7f8ab82a1a3acb3 100644 (file)
--- a/sliders.c
+++ b/sliders.c
@@ -123,7 +123,7 @@ int sliders_active_receiver_changed(void *data) {
     if (filter_board == CHARLY25) {
       update_att_preamp();
     } else {
-      if(attenuation_scale!=NULL) gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc_attenuation[active_receiver->adc]);
+      if(attenuation_scale!=NULL) gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc[active_receiver->adc].attenuation);
     }
     sliders_update();
   }
@@ -138,13 +138,13 @@ int scale_timeout_cb(gpointer data) {
 
 static void attenuation_value_changed_cb(GtkWidget *widget, gpointer data) {
   adc[active_receiver->adc].gain=gtk_range_get_value(GTK_RANGE(attenuation_scale));
-  adc_attenuation[active_receiver->adc]=(int)adc[active_receiver->adc].gain;
+  adc[active_receiver->adc].attenuation=(int)adc[active_receiver->adc].gain;
 #ifdef CLIENT_SERVER
   if(radio_is_remote) {
-    send_attenuation(client_socket,active_receiver->id,(int)adc_attenuation[active_receiver->adc]);
+    send_attenuation(client_socket,active_receiver->id,(int)adc[active_receiver->adc].attenuation);
   } else {
 #endif
-    set_attenuation(adc_attenuation[active_receiver->adc]);
+    set_attenuation(adc[active_receiver->adc].attenuation);
 #ifdef CLIENT_SERVER
   }
 #endif
@@ -152,13 +152,13 @@ static void attenuation_value_changed_cb(GtkWidget *widget, gpointer data) {
 
 void set_attenuation_value(double value) {
   g_print("%s\n",__FUNCTION__);
-  adc_attenuation[active_receiver->adc]=(int)value;
-  set_attenuation(adc_attenuation[active_receiver->adc]);
+  adc[active_receiver->adc].attenuation=(int)value;
+  set_attenuation(adc[active_receiver->adc].attenuation);
   if(display_sliders) {
     if (have_rx_gain) {
-       gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc_attenuation[active_receiver->adc]);
+       gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc[active_receiver->adc].attenuation);
     } else {
-        gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc_attenuation[active_receiver->adc]);
+        gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc[active_receiver->adc].attenuation);
     }
   } else {
     if(scale_status!=ATTENUATION) {
@@ -184,7 +184,7 @@ void set_attenuation_value(double value) {
         attenuation_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 31.0, 1.00);
       }
       gtk_widget_set_size_request (attenuation_scale, 400, 30);
-      gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc_attenuation[active_receiver->adc]);
+      gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc[active_receiver->adc].attenuation);
       gtk_widget_show(attenuation_scale);
       gtk_container_add(GTK_CONTAINER(content),attenuation_scale);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
@@ -192,7 +192,7 @@ void set_attenuation_value(double value) {
       gtk_dialog_run(GTK_DIALOG(scale_dialog));
     } else {
       g_source_remove(scale_timer);
-      gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc_attenuation[active_receiver->adc]);
+      gtk_range_set_value (GTK_RANGE(attenuation_scale),(double)adc[active_receiver->adc].attenuation);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
     }
   }
@@ -207,10 +207,10 @@ void update_att_preamp(void) {
       active_receiver->alex_attenuation=0;
       active_receiver->preamp=0;
       active_receiver->dither=0;
-      adc_attenuation[active_receiver->adc] = 0;
+      adc[active_receiver->adc].attenuation = 0;
     }
     sprintf(id, "%d", active_receiver->alex_attenuation);
-    adc_attenuation[active_receiver->adc] = 12*active_receiver->alex_attenuation;
+    adc[active_receiver->adc].attenuation = 12*active_receiver->alex_attenuation;
     gtk_combo_box_set_active_id(GTK_COMBO_BOX(c25_att_combobox), id);
     sprintf(id, "%d", active_receiver->preamp + active_receiver->dither);
     gtk_combo_box_set_active_id(GTK_COMBO_BOX(c25_preamp_combobox), id);
@@ -245,7 +245,7 @@ static void c25_att_combobox_changed(GtkWidget *widget, gpointer data) {
   if (active_receiver->adc == 0) {
     // this button is only valid for the first receiver
     // store attenuation, such that in meter.c the correct level is displayed
-    adc_attenuation[active_receiver->adc] = 12*val;
+    adc[active_receiver->adc].attenuation = 12*val;
     set_alex_attenuation(val);
   } else {
     // always show "0 dB" on the button if the second RX is active
@@ -394,8 +394,6 @@ static void rf_gain_value_changed_cb(GtkWidget *widget, gpointer data) {
        break;
 #endif
       default:
-       //adc_attenuation[active_receiver->adc]=(int)adc[active_receiver->adc].gain;
-        //set_attenuation(adc_attenuation[active_receiver->adc]);
        break;
     }
 }
@@ -862,7 +860,7 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
     } else {
 #endif
       rf_gain_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,-12.0, 48.0, 1.0);
-      gtk_range_set_value (GTK_RANGE(rf_gain_scale),adc_attenuation[active_receiver->adc]);
+      gtk_range_set_value (GTK_RANGE(rf_gain_scale),adc[active_receiver->adc].attenuation);
 #ifdef SOAPYSDR
     }
 #endif
@@ -878,7 +876,7 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
     gtk_grid_attach(GTK_GRID(sliders),attenuation_label,6,0,1,1);
     attenuation_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 31.0, 1.0);
     gtk_widget_override_font(attenuation_scale, pango_font_description_from_string("Sans 10"));
-    gtk_range_set_value (GTK_RANGE(attenuation_scale),adc_attenuation[active_receiver->adc]);
+    gtk_range_set_value (GTK_RANGE(attenuation_scale),adc[active_receiver->adc].attenuation);
     gtk_range_set_increments (GTK_RANGE(attenuation_scale),1.0,1.0);
     gtk_widget_show(attenuation_scale);
     gtk_grid_attach(GTK_GRID(sliders),attenuation_scale,7,0,2,1);
index 479398c4ae8e7c0d1bbeb1f2098260b8496b801d..01bb5b71fbe3866e829d36075629c51d29276213 100644 (file)
@@ -183,9 +183,9 @@ void waterfall_update(RECEIVER *rx) {
 
     for(i=0;i<width;i++) {
             if(have_rx_gain) {
-              sample=samples[i+pan]+(float)(rx_gain_calibration-adc_attenuation[rx->adc]);
+              sample=samples[i+pan]+(float)(rx_gain_calibration-adc[rx->adc].attenuation);
             } else {
-              sample=samples[i+pan]+(float)adc_attenuation[rx->adc];
+              sample=samples[i+pan]+(float)adc[rx->adc].attenuation;
             }
             average+=(int)sample;
             if(sample<(float)rx->waterfall_low) {