From 24f4e18811bfafec314aff8b41bdcecbc358d89f Mon Sep 17 00:00:00 2001
From: c vw <dl1ycf@darc.de>
Date: Tue, 6 Aug 2019 19:22:11 +0200
Subject: [PATCH] some corrections

---
 MacOS/Info.plist |  10 ++++---
 MacOS/hpsdr.png  | Bin 15116 -> 21117 bytes
 MacOS/pihpsdr.sh |  12 ++++++--
 discovery.c      |   7 ++---
 ext.c            |   5 ++++
 ext.h            |   1 +
 hpsdrsim.c       |  22 --------------
 hpsdrsim.h       |  24 +++++++++++++++
 meter.c          |  15 ++++++++++
 midi3.c          |  12 ++++----
 newhpsdrsim.c    |  17 ++++++++---
 ps_menu.c        |   8 +++--
 radio.c          |   9 ++++++
 rx_menu.c        |  75 +++++++++++++++++++++--------------------------
 rx_panadapter.c  |   5 ++++
 sliders.c        |  66 +++++++++++++++++++++++++++++++++++++----
 step_menu.c      |   2 +-
 toolbar.c        |  16 +++++-----
 18 files changed, 207 insertions(+), 99 deletions(-)

diff --git a/MacOS/Info.plist b/MacOS/Info.plist
index 09c46c3..f077b42 100644
--- a/MacOS/Info.plist
+++ b/MacOS/Info.plist
@@ -2,7 +2,7 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
-        <key>CFBundleIdentifier</key>
+	<key>CFBundleIdentifier</key>
 	<string>piHPSDR</string>
 	<key>CFBundleExecutable</key>
 	<string>pihpsdr</string>
@@ -10,9 +10,11 @@
 	<string>hpsdr.icns</string>
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
-        <key>CFBundleSignature</key>
+	<key>CFBundleSignature</key>
 	<string>BNDL</string>
-        <key>NSMicrophoneUsageDescription</key>
-        <string>Allow for using Sound input devices</string>
+	<key>NSMicrophoneUsageDescription</key>
+	<string>Allow for using Sound input devices</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
 </dict>
 </plist>
diff --git a/MacOS/hpsdr.png b/MacOS/hpsdr.png
index ea96fd7a497da5a35c56bef1c6e4636163882aed..8ad5dd26f35115f36a71f6fe4498e984ce34e457 100755
GIT binary patch
literal 21117
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
J-Wqu({~Ki|1xo+`

literal 15116
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

diff --git a/MacOS/pihpsdr.sh b/MacOS/pihpsdr.sh
index 6008ba4..53ee295 100755
--- a/MacOS/pihpsdr.sh
+++ b/MacOS/pihpsdr.sh
@@ -14,9 +14,17 @@
 
 this=`dirname $0` 
 
+#
+# If the things below fail for some reason, stay in $HOME
+#
 cd $HOME
-mkdir .pihpsdr
-cd .pihpsdr         # if this fails, stay in $HOME
+
+localdir="$HOME/Library/Application Support/piHPSDR"
+
+echo $localdir > $HOME/test.out
+
+mkdir -p "$localdir"
+cd       "$localdir"
 
 cp $this/../Resources/hpsdr.png .
 exec $this/pihpsdr-bin
diff --git a/discovery.c b/discovery.c
index da5b866..5de6a0a 100644
--- a/discovery.c
+++ b/discovery.c
@@ -317,13 +317,13 @@ fprintf(stderr,"%p Protocol=%d name=%s\n",d,d->protocol,d->name);
       }
 
       GtkWidget *label=gtk_label_new(text);
-      gtk_widget_override_font(label, pango_font_description_from_string("FreeMono 12"));
+      gtk_widget_override_font(label, pango_font_description_from_string("Sans 11"));
       gtk_widget_set_halign (label, GTK_ALIGN_START);
       gtk_widget_show(label);
       gtk_grid_attach(GTK_GRID(grid),label,0,i,3,1);
 
       GtkWidget *start_button=gtk_button_new_with_label("Start");
-      gtk_widget_override_font(start_button, pango_font_description_from_string("FreeMono 18"));
+      gtk_widget_override_font(start_button, pango_font_description_from_string("Sans 16"));
       gtk_widget_show(start_button);
       gtk_grid_attach(GTK_GRID(grid),start_button,3,i,1,1);
       g_signal_connect(start_button,"button_press_event",G_CALLBACK(start_cb),(gpointer)d);
@@ -347,8 +347,7 @@ fprintf(stderr,"%p Protocol=%d name=%s\n",d,d->protocol,d->name);
           gtk_widget_set_sensitive(start_button, FALSE);
         } else {
           apps_combobox[i] = gtk_combo_box_text_new();
-          gtk_widget_override_font(apps_combobox[i],
-              pango_font_description_from_string("FreeMono 12"));
+          gtk_widget_override_font(apps_combobox[i], pango_font_description_from_string("Sans 11"));
           // We want the default selection priority for the STEMlab app to be
           // RP-Trx > HAMlab-Trx > Pavel-Trx > Pavel-Rx, so we add in decreasing order and
           // always set the newly added entry to be active.
diff --git a/ext.c b/ext.c
index fe33284..1379c5c 100644
--- a/ext.c
+++ b/ext.c
@@ -197,6 +197,11 @@ int ext_set_drive(void *data) {
   return 0;
 }
 
+int ext_set_compression(void *data) {
+  set_compression(transmitter);
+  return 0;
+}
+
 int ext_vfo_a_swap_b(void *data) {
   vfo_a_swap_b();
   return 0;
diff --git a/ext.h b/ext.h
index 98ae352..97ab829 100644
--- a/ext.h
+++ b/ext.h
@@ -66,3 +66,4 @@ int ext_vfo_b_to_a(void *data);
 int ext_update_att_preamp(void *data);
 int ext_set_alex_attenuation(void *data);
 int ext_set_attenuation_value(void *data);
+int ext_set_compression(void *data);
diff --git a/hpsdrsim.c b/hpsdrsim.c
index 97e3820..90fb695 100644
--- a/hpsdrsim.c
+++ b/hpsdrsim.c
@@ -167,28 +167,6 @@ static double  last_i_sample=0.0;
 static double  last_q_sample=0.0;
 static int  txptr=0;
 
-//
-// Unfortunately, the code number of the gear
-// differes in old and new protocol
-//
-
-#define DEVICE_ATLAS           0
-#define DEVICE_HERMES          1
-#define DEVICE_HERMES2         2
-#define DEVICE_ANGELIA         4
-#define DEVICE_ORION           5
-#define DEVICE_HERMES_LITE     6
-#define DEVICE_ORION2         10
-#define DEVICE_C25           100
-
-#define NEW_DEVICE_ATLAS       0
-#define NEW_DEVICE_HERMES      1
-#define NEW_DEVICE_HERMES2     2
-#define NEW_DEVICE_ANGELIA     3
-#define NEW_DEVICE_ORION       4
-#define NEW_DEVICE_ORION2      5
-#define NEW_DEVICE_HERMES_LITE 6
-
 int main(int argc, char *argv[])
 {
 	int i, j, size;
diff --git a/hpsdrsim.h b/hpsdrsim.h
index 79e6e56..e89b041 100644
--- a/hpsdrsim.h
+++ b/hpsdrsim.h
@@ -11,6 +11,28 @@
 //
 ///////////////////////////////////////////////////////////////////////////
 
+//
+// Unfortunately, the code number of the gear
+// differes in old and new protocol
+//
+
+#define DEVICE_ATLAS           0
+#define DEVICE_HERMES          1
+#define DEVICE_HERMES2         2
+#define DEVICE_ANGELIA         4
+#define DEVICE_ORION           5
+#define DEVICE_HERMES_LITE     6
+#define DEVICE_ORION2         10
+#define DEVICE_C25           100
+
+#define NEW_DEVICE_ATLAS       0
+#define NEW_DEVICE_HERMES      1
+#define NEW_DEVICE_HERMES2     2
+#define NEW_DEVICE_ANGELIA     3
+#define NEW_DEVICE_ORION       4
+#define NEW_DEVICE_ORION2      5
+#define NEW_DEVICE_HERMES_LITE 6
+
 EXTERN int OLDDEVICE;
 EXTERN int NEWDEVICE;
 
@@ -94,6 +116,8 @@ extern int clock_nanosleep(clockid_t __clock_id, int __flags,
 
 //
 // Constants defining the distortion of the TX signal
+// These give about -24 dBc at full drive, that is
+// about the value a reasonable amp gives.
 //
 #define IM3a  0.60
 #define IM3b  0.20
diff --git a/meter.c b/meter.c
index 137eb05..e154ad5 100644
--- a/meter.c
+++ b/meter.c
@@ -237,6 +237,13 @@ if(analog_meter) {
         if (rx->preamp) level -= 18.0;
         if (rx->dither) level -= 18.0;
       }
+      //
+      // Assume that alex_attenuation is set correctly if we have an ALEX board
+      //
+      if (filter_board == ALEX && rx->adc == 0) {
+	level += 10*rx->alex_attenuation;
+      }
+	    
       offset=210.0;
 
       int i;
@@ -543,6 +550,14 @@ if(analog_meter) {
         if (rx->preamp) level -= 18.0;
         if (rx->dither) level -= 18.0;
       }
+
+      //
+      // Assume that alex_attenuation is set correctly if we have an ALEX board
+      //
+      if (filter_board == ALEX && rx->adc == 0) {
+	level += 10*rx->alex_attenuation;
+      }
+
       if(meter_width>=114) {
         //int db=meter_width/114; // S9+60 (9*6)+60
         //if(db>2) db=2;
diff --git a/midi3.c b/midi3.c
index 3fd2f94..7e035c7 100644
--- a/midi3.c
+++ b/midi3.c
@@ -214,10 +214,12 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) {
 	case ATT:	// Key for ALEX attenuator, wheel or knob for slider
 	    switch(type) {
 		case MIDI_KEY:
-		    new=active_receiver->alex_attenuation + 1;
-		    if (new > 3) new=0;
-		    g_idle_add(ext_set_alex_attenuation, (gpointer)(uintptr_t)new);
-		    g_idle_add(ext_update_att_preamp, NULL);
+		    if (filter_board == ALEX && active_receiver->adc == 0) {
+		      new=active_receiver->alex_attenuation + 1;
+		      if (new > 3) new=0;
+		      g_idle_add(ext_set_alex_attenuation, (gpointer)(uintptr_t)new);
+		      g_idle_add(ext_update_att_preamp, NULL);
+		    }
 		    break;
 		case MIDI_WHEEL:
 		case MIDI_KNOB:
@@ -250,7 +252,7 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) {
 	    transmitter->compressor_level=dnew;
 	    if (dnew < 0.5) transmitter->compressor=0;
 	    if (dnew > 0.5) transmitter->compressor=1;
-	    g_idle_add(ext_vfo_update, NULL);
+	    g_idle_add(ext_set_compression, NULL);
 	    break;
 	case NB:
 	    // cycle through NoiseBlanker settings
diff --git a/newhpsdrsim.c b/newhpsdrsim.c
index bc4eaa1..ba72616 100644
--- a/newhpsdrsim.c
+++ b/newhpsdrsim.c
@@ -319,6 +319,7 @@ void *ddc_specific_thread(void *data) {
 
   if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
     perror("***** ERROR: RX specific: bind");
+    close(sock);
     return NULL;
   }
 
@@ -437,6 +438,7 @@ void *duc_specific_thread(void *data) {
 
   if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
     perror("***** ERROR: TXspec: bind");
+    close(sock);
     return NULL;
   }
 
@@ -548,6 +550,7 @@ void *highprio_thread(void *data) {
 
   if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) < 0) {
     perror("***** ERROR: HP: bind");
+    close(sock);
     return NULL;
   }
 
@@ -702,9 +705,14 @@ void *highprio_thread(void *data) {
      rc=buffer[1443];
      if (rc != stepatt0) {
 	stepatt0=rc;
-	rxatt0_dbl=pow(10.0, -0.05*stepatt0);
 	fprintf(stderr,"HP: StepAtt0 = %d\n", stepatt0);
      }
+     // rxatt0 depends both on ALEX att and Step Att, so re-calc. it each time
+     if (NEWDEVICE == NEW_DEVICE_ORION2) {
+	rxatt0_dbl=pow(10.0, -0.05*stepatt0);
+     } else {
+	rxatt0_dbl=pow(10.0, -0.05*(stepatt0+10*alex0[14]+20*alex0[13]));
+     }
   }
   return NULL;
 }
@@ -804,7 +812,7 @@ void *rx_thread(void *data) {
           wait=238000000L/rxrate[myddc]; // time for these samples in nano-secs
 	}
 	//
-	// ADC0 RX: noise + 800Hz signal at -100 dBm
+	// ADC0 RX: noise + 800Hz signal at -73 dBm
 	// ADC0 TX: noise + distorted TX signal
 	// ADC1 RX: noise
 	// ADC1 TX: HERMES only: original TX signal
@@ -859,8 +867,8 @@ void *rx_thread(void *data) {
 	    i1sample = irsample * 0.2899;
 	    q1sample = qrsample * 0.2899;
 	  } else if (myadc == 0) {
-	    i0sample += toneItab[tonept] * 0.00001 * rxatt0_dbl;
-	    q0sample += toneQtab[tonept] * 0.00001 * rxatt0_dbl;
+	    i0sample += toneItab[tonept] * 0.0002239 * rxatt0_dbl;
+	    q0sample += toneQtab[tonept] * 0.0002239 * rxatt0_dbl;
 	    tonept += decimation; if (tonept >= LENTONE) tonept=0;
 	  }
 	  if (diversity && !sync && myadc == 0) {
@@ -1026,6 +1034,7 @@ void *tx_thread(void * data) {
      }
      txlevel=sum * txdrv_dbl * txdrv_dbl * 0.0041667;
   }
+  close(sock);
   return NULL;
 }
 
diff --git a/ps_menu.c b/ps_menu.c
index fb80d26..acd90ad 100644
--- a/ps_menu.c
+++ b/ps_menu.c
@@ -306,7 +306,9 @@ static void resume_cb(GtkWidget *widget, gpointer data) {
   if(transmitter->auto_on) {
     transmitter->attenuation=0;
   }
-  SetPSControl(transmitter->id, 0, 0, 1, 0);
+  if (transmitter->puresignal) {
+    SetPSControl(transmitter->id, 0, 0, 1, 0);
+  }
 }
 
 static void feedback_cb(GtkWidget *widget, gpointer data) {
@@ -320,7 +322,9 @@ static void feedback_cb(GtkWidget *widget, gpointer data) {
 }
 
 static void reset_cb(GtkWidget *widget, gpointer data) {
-  SetPSControl(transmitter->id, 1, 0, 0, 0);
+  if (transmitter->puresignal) {
+    SetPSControl(transmitter->id, 1, 0, 0, 0);
+  }
 }
 
 static void twotone_cb(GtkWidget *widget, gpointer data) {
diff --git a/radio.c b/radio.c
index d4acf84..94922ba 100644
--- a/radio.c
+++ b/radio.c
@@ -1147,6 +1147,15 @@ void set_alex_tx_antenna(int v) {
     }
 }
 
+//
+// There is an error here.
+// The alex att should not be associated with a receiver,
+// but with an ADC. *all* receivers bound to that ADC
+// will experience the same attenuation.
+//
+// This means, alex_attenuation should not be stored in thre
+// receiver, but separately (as is the case with adc_attenuation).
+//
 void set_alex_attenuation(int v) {
     if(active_receiver->id==0) {
       active_receiver->alex_attenuation=v;
diff --git a/rx_menu.c b/rx_menu.c
index 6ac0d1f..66d262c 100644
--- a/rx_menu.c
+++ b/rx_menu.c
@@ -250,52 +250,45 @@ void rx_menu(GtkWidget *parent) {
   // The CHARLY25 board (with RedPitaya) has no support for dither or random,
   // so those are left out. For Charly25, PreAmps and Alex Attenuator are controlled via
   // the sliders menu.
-  // On SDRs other than CHARLY25, preamps or Alex attenuators may be present or not, and we
-  // do not try to find out whether they are. This would overload the code, and we then
-  // also must have a menu to check e.g. which ANAN model is actually present.
-  // Instead, we offer these checkboxes in either case.
   //
-  // NOTE: Preamps are not present on most current HPSDR models, and ALEX attenuators
-  //       are not present e.g. in ANAN-7000.
+  // Preamps are not switchable on all SDR hardware I know of, so this is commented out
+  //
+  // We assume Alex attenuators are present if we have an ALEX board and no Orion2
+  // (ANAN-7000/8000 do not have these), and if the RX is fed by the first ADC.
   //
   if (filter_board != CHARLY25) {
-    switch(protocol) {
-      case ORIGINAL_PROTOCOL:
-      case NEW_PROTOCOL:
-        {
-          GtkWidget *dither_b=gtk_check_button_new_with_label("Dither");
-          gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dither_b), active_receiver->dither);
-          gtk_grid_attach(GTK_GRID(grid),dither_b,x,2,1,1);
-          g_signal_connect(dither_b,"toggled",G_CALLBACK(dither_cb),NULL);
-
-          GtkWidget *random_b=gtk_check_button_new_with_label("Random");
-          gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (random_b), active_receiver->random);
-          gtk_grid_attach(GTK_GRID(grid),random_b,x,3,1,1);
-          g_signal_connect(random_b,"toggled",G_CALLBACK(random_cb),NULL);
-
-          GtkWidget *preamp_b=gtk_check_button_new_with_label("Preamp");
-          gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preamp_b), active_receiver->preamp);
-          gtk_grid_attach(GTK_GRID(grid),preamp_b,x,4,1,1);
-          g_signal_connect(preamp_b,"toggled",G_CALLBACK(preamp_cb),NULL);
-
-          GtkWidget *alex_att_label=gtk_label_new("Alex Attenuator");
-          gtk_grid_attach(GTK_GRID(grid), alex_att_label, x, 5, 1, 1);
-          GtkWidget *last_alex_att_b = NULL;
-          for (i = 0; i <= 3; i++) {
-            gchar button_text[] = "xx dB";
-            sprintf(button_text, "%d dB", i*10);
-            GtkWidget *alex_att_b=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(last_alex_att_b), button_text);
-            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(alex_att_b), active_receiver->alex_attenuation == i);
-            gtk_grid_attach(GTK_GRID(grid), alex_att_b, x, 6 + i, 1, 1);
-            g_signal_connect(alex_att_b, "toggled", G_CALLBACK(alex_att_cb), (gpointer) (long) i);
-            last_alex_att_b = alex_att_b;
-          }
+      GtkWidget *dither_b=gtk_check_button_new_with_label("Dither");
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dither_b), active_receiver->dither);
+      gtk_grid_attach(GTK_GRID(grid),dither_b,x,2,1,1);
+      g_signal_connect(dither_b,"toggled",G_CALLBACK(dither_cb),NULL);
+
+      GtkWidget *random_b=gtk_check_button_new_with_label("Random");
+      gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (random_b), active_receiver->random);
+      gtk_grid_attach(GTK_GRID(grid),random_b,x,3,1,1);
+      g_signal_connect(random_b,"toggled",G_CALLBACK(random_cb),NULL);
+
+      //GtkWidget *preamp_b=gtk_check_button_new_with_label("Preamp");
+      //gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (preamp_b), active_receiver->preamp);
+      //gtk_grid_attach(GTK_GRID(grid),preamp_b,x,4,1,1);
+      //g_signal_connect(preamp_b,"toggled",G_CALLBACK(preamp_cb),NULL);
+
+      if (filter_board == ALEX && active_receiver->adc == 0
+          && ((protocol==ORIGINAL_PROTOCOL && device != DEVICE_ORION2) || (protocol==NEW_PROTOCOL && device != NEW_DEVICE_ORION2))) {
+  
+        GtkWidget *alex_att_label=gtk_label_new("Alex Attenuator");
+        gtk_grid_attach(GTK_GRID(grid), alex_att_label, x, 5, 1, 1);
+        GtkWidget *last_alex_att_b = NULL;
+        for (i = 0; i <= 3; i++) {
+          gchar button_text[] = "xx dB";
+          sprintf(button_text, "%d dB", i*10);
+          GtkWidget *alex_att_b=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(last_alex_att_b), button_text);
+          gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(alex_att_b), active_receiver->alex_attenuation == i);
+          gtk_grid_attach(GTK_GRID(grid), alex_att_b, x, 6 + i, 1, 1);
+          g_signal_connect(alex_att_b, "toggled", G_CALLBACK(alex_att_cb), (gpointer) (long) i);
+          last_alex_att_b = alex_att_b;
         }
-        x++;
-        break;
-      default:
-        break;
     }
+    x++;
   }
 
   // If there is more than one ADC, let the user associate an ADC
diff --git a/rx_panadapter.c b/rx_panadapter.c
index 7b91d92..ebad2a9 100644
--- a/rx_panadapter.c
+++ b/rx_panadapter.c
@@ -294,11 +294,13 @@ void rx_panadapter_update(RECEIVER *rx) {
     GetRXAAGCThresh(rx->id, &thresh, 4096.0, (double)rx->sample_rate);
 
     double knee_y=thresh+(double)adc_attenuation[rx->adc];
+    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=hang+(double)adc_attenuation[rx->adc];
+    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
                         / (rx->panadapter_high - rx->panadapter_low));
@@ -353,12 +355,15 @@ void rx_panadapter_update(RECEIVER *rx) {
   samples[display_width-1]=-200.0;
 
   s1=(double)samples[0]+(double)adc_attenuation[rx->adc];
+  if (filter_board == ALEX && rx->adc == 0) s1 += (double)(10*rx->alex_attenuation);
+
   s1 = floor((rx->panadapter_high - s1)
                         * (double) display_height
                         / (rx->panadapter_high - rx->panadapter_low));
   cairo_move_to(cr, 0.0, s1);
   for(i=1;i<display_width;i++) {
     s2=(double)samples[i]+(double)adc_attenuation[rx->adc];
+    if (filter_board == ALEX && rx->adc == 0) s2 += (double)(10*rx->alex_attenuation);
     s2 = floor((rx->panadapter_high - s2)
                             * (double) display_height
                             / (rx->panadapter_high - rx->panadapter_low));
diff --git a/sliders.c b/sliders.c
index d1b7a1c..df7c384 100644
--- a/sliders.c
+++ b/sliders.c
@@ -191,7 +191,7 @@ void update_att_preamp(void) {
   // We should also set the attenuation for use in meter.c
   if (filter_board == CHARLY25) {
     char id[] = "x";
-    if (active_receiver->id != 0) {
+    if (active_receiver->adc != 0) {
       active_receiver->alex_attenuation=0;
       active_receiver->preamp=0;
       active_receiver->dither=0;
@@ -229,7 +229,7 @@ static gboolean load_att_type_cb(gpointer data) {
 
 static void c25_att_combobox_changed(GtkWidget *widget, gpointer data) {
   int val = atoi(gtk_combo_box_get_active_id(GTK_COMBO_BOX(widget)));
-  if (active_receiver->id == 0) {
+  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;
@@ -448,6 +448,7 @@ void set_drive(double value) {
       scale_dialog=gtk_dialog_new_with_buttons("Drive",GTK_WINDOW(top_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);
+      //gtk_widget_override_font(drive_scale, pango_font_description_from_string("Sans 10"));
       gtk_widget_set_size_request (drive_scale, 400, 30);
       gtk_range_set_value (GTK_RANGE(drive_scale),value);
       gtk_widget_show(drive_scale);
@@ -485,17 +486,25 @@ static void squelch_enable_cb(GtkWidget *widget, gpointer data) {
 
 static void compressor_value_changed_cb(GtkWidget *widget, gpointer data) {
   transmitter_set_compressor_level(transmitter,gtk_range_get_value(GTK_RANGE(widget)));
+  // This value is now also reflected in the VFO panel
+  g_idle_add(ext_vfo_update, NULL);
+
 }
 
 static void compressor_enable_cb(GtkWidget *widget, gpointer data) {
   transmitter_set_compressor(transmitter,gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)));
+  // This value is now also reflected in the VFO panel
+  g_idle_add(ext_vfo_update, NULL);
+
 }
 
 void set_squelch() {
   setSquelch(active_receiver);
+#ifndef COMPRESSION_SLIDER
   if(display_sliders) {
     gtk_range_set_value (GTK_RANGE(squelch_scale),active_receiver->squelch);
   } else {
+#endif
     if(scale_status!=SQUELCH) {
       if(scale_status!=NONE) {
         g_source_remove(scale_timer);
@@ -508,6 +517,7 @@ void set_squelch() {
       scale_dialog=gtk_dialog_new_with_buttons("Squelch",GTK_WINDOW(top_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
       GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(scale_dialog));
       squelch_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.00);
+      //gtk_widget_override_font(squelch_scale, pango_font_description_from_string("Sans 10"));
       gtk_range_set_value (GTK_RANGE(squelch_scale),active_receiver->squelch);
       gtk_widget_set_size_request (squelch_scale, 400, 30);
       gtk_widget_show(squelch_scale);
@@ -519,13 +529,17 @@ void set_squelch() {
       gtk_range_set_value (GTK_RANGE(squelch_scale),active_receiver->squelch);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
     }
+#ifndef COMPRESSION_SLIDER
   }
+#endif
 }
 
 void set_compression(TRANSMITTER* tx) {
-//  if(display_sliders) {
-//    gtk_range_set_value (GTK_RANGE(comp_scale),tx->compressor_level);
-//  } else {
+#ifdef COMPRESSION_SLIDER
+  if(display_sliders) {
+    gtk_range_set_value (GTK_RANGE(comp_scale),tx->compressor_level);
+  } else {
+#endif
     if(scale_status!=COMP) {
       if(scale_status!=NONE) {
         g_source_remove(scale_timer);
@@ -538,6 +552,7 @@ void set_compression(TRANSMITTER* tx) {
       scale_dialog=gtk_dialog_new_with_buttons("COMP",GTK_WINDOW(top_window),GTK_DIALOG_DESTROY_WITH_PARENT,NULL,NULL);
       GtkWidget *content=gtk_dialog_get_content_area(GTK_DIALOG(scale_dialog));
       comp_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 1.00);
+      //gtk_widget_override_font(comp_scale, pango_font_description_from_string("Sans 10"));
       gtk_range_set_value (GTK_RANGE(comp_scale),tx->compressor_level);
       gtk_widget_set_size_request (comp_scale, 400, 30);
       gtk_widget_show(comp_scale);
@@ -549,7 +564,11 @@ void set_compression(TRANSMITTER* tx) {
       gtk_range_set_value (GTK_RANGE(comp_scale),tx->compressor_level);
       scale_timer=g_timeout_add(2000,scale_timeout_cb,NULL);
     }
-  //}
+#ifdef COMPRESSION_SLIDER
+  }
+#endif
+  // Now we are also displaying the TX compressor value in the VFO panel
+  g_idle_add(ext_vfo_update, NULL);
 }
 
 GtkWidget *sliders_init(int my_width, int my_height) {
@@ -564,20 +583,24 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
   gtk_grid_set_column_homogeneous(GTK_GRID(sliders),TRUE);
 
   af_gain_label=gtk_label_new("AF:");
+  //gtk_widget_override_font(af_gain_label, pango_font_description_from_string("Sans 11"));
   gtk_widget_show(af_gain_label);
   gtk_grid_attach(GTK_GRID(sliders),af_gain_label,0,0,1,1);
 
   af_gain_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.00);
+  //gtk_widget_override_font(af_gain_scale, pango_font_description_from_string("Sans 10"));
   gtk_range_set_value (GTK_RANGE(af_gain_scale),active_receiver->volume*100.0);
   gtk_widget_show(af_gain_scale);
   gtk_grid_attach(GTK_GRID(sliders),af_gain_scale,1,0,2,1);
   g_signal_connect(G_OBJECT(af_gain_scale),"value_changed",G_CALLBACK(afgain_value_changed_cb),NULL);
 
   agc_gain_label=gtk_label_new("AGC:");
+  //gtk_widget_override_font(agc_gain_label, pango_font_description_from_string("Sans 11"));
   gtk_widget_show(agc_gain_label);
   gtk_grid_attach(GTK_GRID(sliders),agc_gain_label,3,0,1,1);
 
   agc_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,-20.0, 120.0, 1.0);
+  //gtk_widget_override_font(agc_scale, pango_font_description_from_string("Sans 10"));
   gtk_range_set_value (GTK_RANGE(agc_scale),active_receiver->agc_gain);
   gtk_widget_show(agc_scale);
   gtk_grid_attach(GTK_GRID(sliders),agc_scale,4,0,2,1);
@@ -590,6 +613,7 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
   sprintf(title,"ATT (dB)"/*,active_receiver->adc*/);
 #endif
   attenuation_label=gtk_label_new(title);
+  //gtk_widget_override_font(attenuation_label, pango_font_description_from_string("Sans 11"));
   gtk_widget_show(attenuation_label);
   gtk_grid_attach(GTK_GRID(sliders),attenuation_label,6,0,1,1);
 
@@ -600,15 +624,18 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
 	attenuation_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 31.0, 1.0);
 	gtk_range_set_value (GTK_RANGE(attenuation_scale),adc_attenuation[active_receiver->adc]);
 #endif
+  //gtk_widget_override_font(attenuation_scale, pango_font_description_from_string("Sans 10"));
   
   gtk_widget_show(attenuation_scale);
   gtk_grid_attach(GTK_GRID(sliders),attenuation_scale,7,0,2,1);
   g_signal_connect(G_OBJECT(attenuation_scale),"value_changed",G_CALLBACK(attenuation_value_changed_cb),NULL);
 
   c25_att_preamp_label = gtk_label_new("Att/PreAmp");
+  //gtk_widget_override_font(c25_att_preamp_label, pango_font_description_from_string("Sans 11"));
   gtk_grid_attach(GTK_GRID(sliders), c25_att_preamp_label, 6, 0, 1, 1);
 
   c25_att_combobox = gtk_combo_box_text_new();
+  //gtk_widget_override_font(c25_att_combobox, pango_font_description_from_string("Sans 10"));
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(c25_att_combobox), "0", "0 dB");
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(c25_att_combobox), "1", "-12 dB");
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(c25_att_combobox), "2", "-24 dB");
@@ -617,6 +644,7 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
   g_signal_connect(G_OBJECT(c25_att_combobox), "changed", G_CALLBACK(c25_att_combobox_changed), NULL);
 
   c25_preamp_combobox = gtk_combo_box_text_new();
+  //gtk_widget_override_font(c25_preamp_combobox, pango_font_description_from_string("Sans 10"));
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(c25_preamp_combobox), "0", "0 dB");
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(c25_preamp_combobox), "1", "18 dB");
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(c25_preamp_combobox), "2", "36 dB");
@@ -626,27 +654,34 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
 
 
   mic_gain_label=gtk_label_new(mic_linein?"Linein:":"Mic (dB):");
+  //gtk_widget_override_font(mic_gain_label, pango_font_description_from_string("Sans 11"));
   gtk_grid_attach(GTK_GRID(sliders),mic_gain_label,0,1,1,1);
 
   mic_gain_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,mic_linein?0.0:-10.0,mic_linein?31.0:50.0, 1.0);
+  //gtk_widget_override_font(mic_gain_scale, pango_font_description_from_string("Sans 10"));
   gtk_range_set_value (GTK_RANGE(mic_gain_scale),mic_linein?linein_gain:mic_gain);
   gtk_grid_attach(GTK_GRID(sliders),mic_gain_scale,1,1,2,1);
   g_signal_connect(G_OBJECT(mic_gain_scale),"value_changed",G_CALLBACK(micgain_value_changed_cb),NULL);
 
   drive_label=gtk_label_new("Drive:");
+  //gtk_widget_override_font(drive_label, pango_font_description_from_string("Sans 11"));
   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_widget_override_font(drive_scale, pango_font_description_from_string("Sans 10"));
   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);
 
+#ifndef COMPRESSION_SLIDER
   squelch_label=gtk_label_new("Squelch:");
+  //gtk_widget_override_font(squelch_label, pango_font_description_from_string("Sans 11"));
   gtk_widget_show(squelch_label);
   gtk_grid_attach(GTK_GRID(sliders),squelch_label,6,1,1,1);
 
   squelch_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 100.0, 1.0);
+  //gtk_widget_override_font(squelch_scale, pango_font_description_from_string("Sans 10"));
   gtk_range_set_value (GTK_RANGE(squelch_scale),active_receiver->squelch);
   gtk_widget_show(squelch_scale);
   gtk_grid_attach(GTK_GRID(sliders),squelch_scale,7,1,2,1);
@@ -657,6 +692,25 @@ fprintf(stderr,"sliders_init: width=%d height=%d\n", width,height);
   gtk_widget_show(squelch_enable);
   gtk_grid_attach(GTK_GRID(sliders),squelch_enable,9,1,1,1);
   g_signal_connect(squelch_enable,"toggled",G_CALLBACK(squelch_enable_cb),NULL);
+#else
+  comp_label=gtk_label_new("TX Cmpr:");
+  //gtk_widget_override_font(comp_label, pango_font_description_from_string("Sans 11"));
+  gtk_widget_show(comp_label);
+  gtk_grid_attach(GTK_GRID(sliders),comp_label,6,1,1,1);
+
+  comp_scale=gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL,0.0, 20.0, 1.0);
+  //gtk_widget_override_font(comp_scale, pango_font_description_from_string("Sans 10"));
+  gtk_range_set_value (GTK_RANGE(comp_scale),transmitter->compressor_level);
+  gtk_widget_show(comp_scale);
+  gtk_grid_attach(GTK_GRID(sliders),comp_scale,7,1,2,1);
+  g_signal_connect(G_OBJECT(comp_scale),"value_changed",G_CALLBACK(compressor_value_changed_cb),NULL);
+
+  comp_enable=gtk_check_button_new();
+  gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(comp_enable),transmitter->compressor);
+  gtk_widget_show(comp_enable);
+  gtk_grid_attach(GTK_GRID(sliders),comp_enable,9,1,1,1);
+  g_signal_connect(comp_enable,"toggled",G_CALLBACK(compressor_enable_cb),NULL);
+#endif
 
   return sliders;
 }
diff --git a/step_menu.c b/step_menu.c
index 9782cb3..5fb76a6 100644
--- a/step_menu.c
+++ b/step_menu.c
@@ -92,7 +92,7 @@ void step_menu(GtkWidget *parent) {
     } else {
       step_rb=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(step_rb),step_labels[i]);
     }
-    gtk_widget_override_font(step_rb, pango_font_description_from_string("FreeMono 18"));
+    gtk_widget_override_font(step_rb, pango_font_description_from_string("Sans 16"));
     gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (step_rb), steps[i]==step);
     gtk_widget_show(step_rb);
     gtk_grid_attach(GTK_GRID(grid),step_rb,i%5,1+(i/5),1,1);
diff --git a/toolbar.c b/toolbar.c
index 541e19a..4337118 100644
--- a/toolbar.c
+++ b/toolbar.c
@@ -652,50 +652,50 @@ GtkWidget *toolbar_init(int my_width, int my_height, GtkWidget* parent) {
     gtk_grid_set_column_homogeneous(GTK_GRID(toolbar),TRUE);
 
     sim_mox=gtk_button_new_with_label("Mox");
-    //gtk_widget_override_font(sim_mox, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_mox, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_mox),"clicked",G_CALLBACK(sim_mox_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_mox,0,0,4,1);
 
     sim_s1=gtk_button_new_with_label("Band");
     gtk_widget_set_size_request (sim_s1, button_width, 0);
-    //gtk_widget_override_font(sim_s1, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_s1, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_s1),"pressed",G_CALLBACK(sim_s1_pressed_cb),NULL);
     g_signal_connect(G_OBJECT(sim_s1),"released",G_CALLBACK(sim_s1_released_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_s1,4,0,4,1);
 
     sim_s2=gtk_button_new_with_label("BStack");
     gtk_widget_set_size_request (sim_s2, button_width, 0);
-    //gtk_widget_override_font(sim_s2, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_s2, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_s2),"pressed",G_CALLBACK(sim_s2_pressed_cb),NULL);
     g_signal_connect(G_OBJECT(sim_s2),"released",G_CALLBACK(sim_s2_released_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_s2,8,0,4,1);
 
     sim_s3=gtk_button_new_with_label("Mode");
-    //gtk_widget_override_font(sim_s3, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_s3, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_s3),"pressed",G_CALLBACK(sim_s3_pressed_cb),NULL);
     g_signal_connect(G_OBJECT(sim_s3),"released",G_CALLBACK(sim_s3_released_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_s3,12,0,4,1);
 
     sim_s4=gtk_button_new_with_label("Filter");
-    //gtk_widget_override_font(sim_s4, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_s4, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_s4),"pressed",G_CALLBACK(sim_s4_pressed_cb),NULL);
     g_signal_connect(G_OBJECT(sim_s4),"released",G_CALLBACK(sim_s4_released_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_s4,16,0,4,1);
 
     sim_s5=gtk_button_new_with_label("Noise");
-    //gtk_widget_override_font(sim_s5, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_s5, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_s5),"pressed",G_CALLBACK(sim_s5_pressed_cb),NULL);
     g_signal_connect(G_OBJECT(sim_s5),"released",G_CALLBACK(sim_s5_released_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_s5,20,0,4,1);
 
     sim_s6=gtk_button_new_with_label("AGC");
-    //gtk_widget_override_font(sim_s6, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_s6, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_s6),"pressed",G_CALLBACK(sim_s6_pressed_cb),NULL);
     g_signal_connect(G_OBJECT(sim_s6),"released",G_CALLBACK(sim_s6_released_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_s6,24,0,4,1);
 
     sim_function=gtk_button_new_with_label("Function");
-    //gtk_widget_override_font(sim_function, pango_font_description_from_string("Arial 16"));
+    //gtk_widget_override_font(sim_function, pango_font_description_from_string("Sans 11"));
     g_signal_connect(G_OBJECT(sim_function),"clicked",G_CALLBACK(sim_function_cb),NULL);
     gtk_grid_attach(GTK_GRID(toolbar),sim_function,28,0,4,1);
 
-- 
2.45.2