]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
clang-format radio.c
authorRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Tue, 14 Nov 2023 16:27:18 +0000 (21:57 +0530)
committerRamakrishnan Muthukrishnan <ram@rkrishnan.org>
Tue, 14 Nov 2023 16:27:18 +0000 (21:57 +0530)
radio.c
receiver.c

diff --git a/radio.c b/radio.c
index 2ddbfce19d1625efbf5a67a005ad809900dea1ec..556efbf1d7e23f8f0617415d77ea9cc88d453eaf 100644 (file)
--- a/radio.c
+++ b/radio.c
 #include "audio.h"
 #include "dac.h"
 #include "discovered.h"
-//#include "discovery.h"
+// #include "discovery.h"
+#include "actions.h"
 #include "agc.h"
 #include "band.h"
 #include "channel.h"
+#include "ext.h"
 #include "filter.h"
+#include "gpio.h"
 #include "main.h"
+#include "meter.h"
 #include "mode.h"
 #include "new_menu.h"
 #include "new_protocol.h"
 #include "property.h"
 #include "radio.h"
 #include "receiver.h"
-#include "store.h"
-#include "transmitter.h"
-#include "actions.h"
-#include "ext.h"
-#include "gpio.h"
-#include "meter.h"
 #include "rigctl.h"
 #include "rx_panadapter.h"
+#include "screen.h"
 #include "sliders.h"
+#include "store.h"
 #include "toolbar.h"
+#include "transmitter.h"
 #include "tx_panadapter.h"
 #include "vfo.h"
 #include "vox.h"
 #include "waterfall.h"
 #include "zoompan.h"
-#include "screen.h"
 
 #ifdef LOCALCW
 #include "iambic.h"
@@ -98,7 +98,6 @@
 //   toolbar height (optional)   30
 //   zoom/pan height (optional)  50
 
-
 #ifdef MIDI
 gboolean midi_enabled;
 #endif
@@ -237,7 +236,7 @@ int cw_keyer_weight = 50;              // 0-100
 int cw_keyer_spacing = 0;              // 0=on 1=off
 int cw_keyer_internal = 1;             // 0=external 1=internal
 int cw_keyer_midi = 0;                 // 0 = (external) midi keyer
-                                      // disabled, 1 = enabled
+                                       // disabled, 1 = enabled
 int cw_keyer_sidetone_volume = 50;     // 0-127
 int cw_keyer_ptt_delay = 20;           // 0-255ms
 int cw_keyer_hang_time = 500;          // ms
@@ -354,1206 +353,1214 @@ gint sequence_errors = 0;
 gint rx_height;
 
 void radio_stop() {
-  if (can_transmit) {
-    g_print("radio_stop: TX: CloseChannel: %d\n", transmitter->id);
-    CloseChannel(transmitter->id);
-  }
-  set_displaying(receiver[0], 0);
-  g_print("radio_stop: RX0: CloseChannel: %d\n", receiver[0]->id);
-  CloseChannel(receiver[0]->id);
-  set_displaying(receiver[1], 0);
-  g_print("radio_stop: RX1: CloseChannel: %d\n", receiver[1]->id);
-  CloseChannel(receiver[1]->id);
+    if (can_transmit) {
+        g_print("radio_stop: TX: CloseChannel: %d\n", transmitter->id);
+        CloseChannel(transmitter->id);
+    }
+    set_displaying(receiver[0], 0);
+    g_print("radio_stop: RX0: CloseChannel: %d\n", receiver[0]->id);
+    CloseChannel(receiver[0]->id);
+    set_displaying(receiver[1], 0);
+    g_print("radio_stop: RX1: CloseChannel: %d\n", receiver[1]->id);
+    CloseChannel(receiver[1]->id);
 }
 
 void reconfigure_radio() {
-  int i;
-  int y;
-  g_print("reconfigure_radio: receivers=%d\n", receivers);
-  rx_height = display_height - VFO_HEIGHT;
-  if (display_zoompan) {
-    rx_height -= ZOOMPAN_HEIGHT;
-  }
-  if (display_sliders) {
-    rx_height -= SLIDERS_HEIGHT;
-  }
-  if (display_toolbar) {
-    rx_height -= TOOLBAR_HEIGHT;
-  }
-
-  y = VFO_HEIGHT;
-  for (i = 0; i < receivers; i++) {
-    reconfigure_receiver(receiver[i], rx_height / receivers);
-    gtk_fixed_move(GTK_FIXED(fixed), receiver[i]->panel, 0, y);
-    receiver[i]->x = 0;
-    receiver[i]->y = y;
-    y += rx_height / receivers;
-  }
-
-  if (display_zoompan) {
-    if (zoompan == NULL) {
-      zoompan = zoompan_init(display_width, ZOOMPAN_HEIGHT);
-      gtk_fixed_put(GTK_FIXED(fixed), zoompan, 0, y);
-    } else {
-      gtk_fixed_move(GTK_FIXED(fixed), zoompan, 0, y);
+    int i;
+    int y;
+    g_print("reconfigure_radio: receivers=%d\n", receivers);
+    rx_height = display_height - VFO_HEIGHT;
+    if (display_zoompan) {
+        rx_height -= ZOOMPAN_HEIGHT;
+    }
+    if (display_sliders) {
+        rx_height -= SLIDERS_HEIGHT;
     }
-    gtk_widget_show_all(zoompan);
-    y += ZOOMPAN_HEIGHT;
-  } else {
-    if (zoompan != NULL) {
-      gtk_container_remove(GTK_CONTAINER(fixed), zoompan);
-      zoompan = NULL;
+    if (display_toolbar) {
+        rx_height -= TOOLBAR_HEIGHT;
     }
-  }
 
-  if (display_sliders) {
-    if (sliders == NULL) {
-      sliders = sliders_init(display_width, SLIDERS_HEIGHT);
-      gtk_fixed_put(GTK_FIXED(fixed), sliders, 0, y);
-    } else {
-      gtk_fixed_move(GTK_FIXED(fixed), sliders, 0, y);
-    }
-    gtk_widget_show_all(
-        sliders);       // ... this shows both C25 and Alex ATT/Preamp sliders
-    att_type_changed(); // ... and this hides the „wrong“ ones.
-    y += SLIDERS_HEIGHT;
-  } else {
-    if (sliders != NULL) {
-      gtk_container_remove(GTK_CONTAINER(fixed), sliders);
-      sliders = NULL;
-    }
-  }
-
-  if (display_toolbar) {
-    if (toolbar == NULL) {
-      toolbar = toolbar_init(display_width, TOOLBAR_HEIGHT, top_window);
-      gtk_fixed_put(GTK_FIXED(fixed), toolbar, 0, y);
+    y = VFO_HEIGHT;
+    for (i = 0; i < receivers; i++) {
+        reconfigure_receiver(receiver[i], rx_height / receivers);
+        gtk_fixed_move(GTK_FIXED(fixed), receiver[i]->panel, 0, y);
+        receiver[i]->x = 0;
+        receiver[i]->y = y;
+        y += rx_height / receivers;
+    }
+
+    if (display_zoompan) {
+        if (zoompan == NULL) {
+            zoompan = zoompan_init(display_width, ZOOMPAN_HEIGHT);
+            gtk_fixed_put(GTK_FIXED(fixed), zoompan, 0, y);
+        } else {
+            gtk_fixed_move(GTK_FIXED(fixed), zoompan, 0, y);
+        }
+        gtk_widget_show_all(zoompan);
+        y += ZOOMPAN_HEIGHT;
     } else {
-      gtk_fixed_move(GTK_FIXED(fixed), toolbar, 0, y);
+        if (zoompan != NULL) {
+            gtk_container_remove(GTK_CONTAINER(fixed), zoompan);
+            zoompan = NULL;
+        }
     }
-    gtk_widget_show_all(toolbar);
-  } else {
-    if (toolbar != NULL) {
-      gtk_container_remove(GTK_CONTAINER(fixed), toolbar);
-      toolbar = NULL;
+
+    if (display_sliders) {
+        if (sliders == NULL) {
+            sliders = sliders_init(display_width, SLIDERS_HEIGHT);
+            gtk_fixed_put(GTK_FIXED(fixed), sliders, 0, y);
+        } else {
+            gtk_fixed_move(GTK_FIXED(fixed), sliders, 0, y);
+        }
+        gtk_widget_show_all(
+            sliders); // ... this shows both C25 and Alex ATT/Preamp sliders
+        att_type_changed(); // ... and this hides the „wrong“ ones.
+        y += SLIDERS_HEIGHT;
+    } else {
+        if (sliders != NULL) {
+            gtk_container_remove(GTK_CONTAINER(fixed), sliders);
+            sliders = NULL;
+        }
     }
-  }
 
-  if (can_transmit) {
-    if (!duplex) {
-      reconfigure_transmitter(transmitter, display_width, rx_height);
+    if (display_toolbar) {
+        if (toolbar == NULL) {
+            toolbar = toolbar_init(display_width, TOOLBAR_HEIGHT, top_window);
+            gtk_fixed_put(GTK_FIXED(fixed), toolbar, 0, y);
+        } else {
+            gtk_fixed_move(GTK_FIXED(fixed), toolbar, 0, y);
+        }
+        gtk_widget_show_all(toolbar);
+    } else {
+        if (toolbar != NULL) {
+            gtk_container_remove(GTK_CONTAINER(fixed), toolbar);
+            toolbar = NULL;
+        }
     }
+
+    if (can_transmit) {
+        if (!duplex) {
+            reconfigure_transmitter(transmitter, display_width, rx_height);
+        }
 #ifdef MIDI
-    if (cw_keyer_midi == 1) {
-      midi_keyer_update();
-    }
+        if (cw_keyer_midi == 1) {
+            midi_keyer_update();
+        }
 #endif
-  }
+    }
 }
 
 static gboolean minimize_cb(GtkWidget *widget, GdkEventButton *event,
                             gpointer data) {
-  gtk_window_iconify(GTK_WINDOW(top_window));
-  return TRUE;
+    gtk_window_iconify(GTK_WINDOW(top_window));
+    return TRUE;
 }
 
 static gboolean menu_cb(GtkWidget *widget, GdkEventButton *event,
                         gpointer data) {
-  new_menu();
-  return TRUE;
+    new_menu();
+    return TRUE;
 }
 
 static void create_visual() {
-  int y = 0;
-
-  fixed = gtk_fixed_new();
-  g_object_ref(grid); // so it does not get deleted
-  gtk_container_remove(GTK_CONTAINER(top_window), grid);
-  gtk_container_add(GTK_CONTAINER(top_window), fixed);
-
-  // g_print("radio: vfo_init\n");
-  vfo_panel = vfo_init(VFO_WIDTH, VFO_HEIGHT, top_window);
-  gtk_fixed_put(GTK_FIXED(fixed), vfo_panel, 0, y);
-
-  // g_print("radio: meter_init\n");
-  meter = meter_init(METER_WIDTH, METER_HEIGHT, top_window);
-  gtk_fixed_put(GTK_FIXED(fixed), meter, VFO_WIDTH, y);
-
-  GtkWidget *minimize_b = gtk_button_new_with_label("Hide");
-  gtk_widget_override_font(
-      minimize_b, pango_font_description_from_string("FreeSans Bold 8"));
-  gtk_widget_set_size_request(minimize_b, MENU_WIDTH, MENU_HEIGHT);
-  g_signal_connect(minimize_b, "button-press-event", G_CALLBACK(minimize_cb),
-                   NULL);
-  gtk_fixed_put(GTK_FIXED(fixed), minimize_b, VFO_WIDTH + METER_WIDTH, y);
-  y += MENU_HEIGHT;
-
-  GtkWidget *menu_b = gtk_button_new_with_label("Menu");
-  gtk_widget_override_font(
-      menu_b, pango_font_description_from_string("FreeSans Bold 8"));
-  gtk_widget_set_size_request(menu_b, MENU_WIDTH, MENU_HEIGHT);
-  g_signal_connect(menu_b, "button-press-event", G_CALLBACK(menu_cb), NULL);
-  gtk_fixed_put(GTK_FIXED(fixed), menu_b, VFO_WIDTH + METER_WIDTH, y);
-  y += MENU_HEIGHT;
-
-  GdkColor color_bg;
-  gdk_color_parse("black", &color_bg);
-  gtk_widget_modify_bg(GTK_WIDGET(minimize_b), GTK_STATE_NORMAL, &color_bg);
-  gtk_widget_modify_bg(GTK_WIDGET(menu_b), GTK_STATE_NORMAL, &color_bg);
-
-  gtk_button_set_relief(GTK_BUTTON(minimize_b), GTK_RELIEF_NONE);
-  gtk_button_set_relief(GTK_BUTTON(menu_b), GTK_RELIEF_NONE);
-
-  rx_height = display_height - VFO_HEIGHT;
-  if (display_zoompan) {
-    rx_height -= ZOOMPAN_HEIGHT;
-  }
-  if (display_sliders) {
-    rx_height -= SLIDERS_HEIGHT;
-  }
-  if (display_toolbar) {
-    rx_height -= TOOLBAR_HEIGHT;
-  }
-
-  //
-  // To be on the safe side, we create ALL receiver panels here
-  // If upon startup, we only should display one panel, we do the switch below
-  //
-  for (int i = 0; i < RECEIVERS; i++) {
+    int y = 0;
+
+    fixed = gtk_fixed_new();
+    g_object_ref(grid); // so it does not get deleted
+    gtk_container_remove(GTK_CONTAINER(top_window), grid);
+    gtk_container_add(GTK_CONTAINER(top_window), fixed);
+
+    // g_print("radio: vfo_init\n");
+    vfo_panel = vfo_init(VFO_WIDTH, VFO_HEIGHT, top_window);
+    gtk_fixed_put(GTK_FIXED(fixed), vfo_panel, 0, y);
+
+    // g_print("radio: meter_init\n");
+    meter = meter_init(METER_WIDTH, METER_HEIGHT, top_window);
+    gtk_fixed_put(GTK_FIXED(fixed), meter, VFO_WIDTH, y);
+
+    GtkWidget *minimize_b = gtk_button_new_with_label("Hide");
+    gtk_widget_override_font(
+        minimize_b, pango_font_description_from_string("FreeSans Bold 8"));
+    gtk_widget_set_size_request(minimize_b, MENU_WIDTH, MENU_HEIGHT);
+    g_signal_connect(minimize_b, "button-press-event", G_CALLBACK(minimize_cb),
+                     NULL);
+    gtk_fixed_put(GTK_FIXED(fixed), minimize_b, VFO_WIDTH + METER_WIDTH, y);
+    y += MENU_HEIGHT;
+
+    GtkWidget *menu_b = gtk_button_new_with_label("Menu");
+    gtk_widget_override_font(
+        menu_b, pango_font_description_from_string("FreeSans Bold 8"));
+    gtk_widget_set_size_request(menu_b, MENU_WIDTH, MENU_HEIGHT);
+    g_signal_connect(menu_b, "button-press-event", G_CALLBACK(menu_cb), NULL);
+    gtk_fixed_put(GTK_FIXED(fixed), menu_b, VFO_WIDTH + METER_WIDTH, y);
+    y += MENU_HEIGHT;
+
+    GdkColor color_bg;
+    gdk_color_parse("black", &color_bg);
+    gtk_widget_modify_bg(GTK_WIDGET(minimize_b), GTK_STATE_NORMAL, &color_bg);
+    gtk_widget_modify_bg(GTK_WIDGET(menu_b), GTK_STATE_NORMAL, &color_bg);
+
+    gtk_button_set_relief(GTK_BUTTON(minimize_b), GTK_RELIEF_NONE);
+    gtk_button_set_relief(GTK_BUTTON(menu_b), GTK_RELIEF_NONE);
+
+    rx_height = display_height - VFO_HEIGHT;
+    if (display_zoompan) {
+        rx_height -= ZOOMPAN_HEIGHT;
+    }
+    if (display_sliders) {
+        rx_height -= SLIDERS_HEIGHT;
+    }
+    if (display_toolbar) {
+        rx_height -= TOOLBAR_HEIGHT;
+    }
+
+    //
+    // To be on the safe side, we create ALL receiver panels here
+    // If upon startup, we only should display one panel, we do the switch below
+    //
+    for (int i = 0; i < RECEIVERS; i++) {
 #ifdef CLIENT_SERVER
-    if (radio_is_remote) {
-      receiver_create_remote(receiver[i]);
-    } else {
+        if (radio_is_remote) {
+            receiver_create_remote(receiver[i]);
+        } else {
 #endif
-      receiver[i] = create_receiver(i, buffer_size, fft_size, display_width,
-                                    updates_per_second, display_width,
-                                    rx_height / RECEIVERS);
-      setSquelch(receiver[i]);
+            receiver[i] = create_receiver(i, buffer_size, fft_size,
+                                          display_width, updates_per_second,
+                                          display_width, rx_height / RECEIVERS);
+            setSquelch(receiver[i]);
 #ifdef CLIENT_SERVER
-    }
+        }
 #endif
-    receiver[i]->x = 0;
-    receiver[i]->y = y;
-    receiver[i]->active_vfo = VFO_A;
-    // Upon startup, if RIT or CTUN is active, tell WDSP.
+        receiver[i]->x = 0;
+        receiver[i]->y = y;
+        receiver[i]->active_vfo = VFO_A;
+        // Upon startup, if RIT or CTUN is active, tell WDSP.
 #ifdef CLIENT_SERVER
-    if (!radio_is_remote) {
+        if (!radio_is_remote) {
 #endif
-      set_displaying(receiver[i], 1);
-      set_offset(receiver[i], vfo[i].offset);
+            set_displaying(receiver[i], 1);
+            set_offset(receiver[i], vfo[i].offset);
 #ifdef CLIENT_SERVER
-    }
+        }
 #endif
-    gtk_fixed_put(GTK_FIXED(fixed), receiver[i]->panel, 0, y);
-    g_object_ref((gpointer)receiver[i]->panel);
-    y += rx_height / RECEIVERS;
-  }
+        gtk_fixed_put(GTK_FIXED(fixed), receiver[i]->panel, 0, y);
+        g_object_ref((gpointer)receiver[i]->panel);
+        y += rx_height / RECEIVERS;
+    }
 
-  //
-  // Sanity check: in old protocol, all receivers must have the same sample rate
-  //
-  if ((protocol == ORIGINAL_PROTOCOL) && (RECEIVERS == 2) &&
-      (receiver[0]->sample_rate != receiver[1]->sample_rate)) {
-    receiver[1]->sample_rate = receiver[0]->sample_rate;
-  }
+    //
+    // Sanity check: in old protocol, all receivers must have the same sample
+    // rate
+    //
+    if ((protocol == ORIGINAL_PROTOCOL) && (RECEIVERS == 2) &&
+        (receiver[0]->sample_rate != receiver[1]->sample_rate)) {
+        receiver[1]->sample_rate = receiver[0]->sample_rate;
+    }
 
-  active_receiver = receiver[0];
+    active_receiver = receiver[0];
 
 // TEMP
 #ifdef CLIENT_SERVER
-  if (!radio_is_remote) {
+    if (!radio_is_remote) {
 #endif
-    // g_print("Create transmitter\n");
-    if (can_transmit) {
-      if (duplex) {
-        transmitter = create_transmitter(CHANNEL_TX, buffer_size, fft_size,
-                                         updates_per_second, display_width / 4,
-                                         display_height / 2);
-      } else {
-        int tx_height = display_height - VFO_HEIGHT;
-        if (display_zoompan)
-          tx_height -= ZOOMPAN_HEIGHT;
-        if (display_sliders)
-          tx_height -= SLIDERS_HEIGHT;
-        if (display_toolbar)
-          tx_height -= TOOLBAR_HEIGHT;
-        transmitter =
-            create_transmitter(CHANNEL_TX, buffer_size, fft_size,
-                               updates_per_second, display_width, tx_height);
-      }
-      transmitter->x = 0;
-      transmitter->y = VFO_HEIGHT;
-
-      calcDriveLevel();
+        // g_print("Create transmitter\n");
+        if (can_transmit) {
+            if (duplex) {
+                transmitter = create_transmitter(
+                    CHANNEL_TX, buffer_size, fft_size, updates_per_second,
+                    display_width / 4, display_height / 2);
+            } else {
+                int tx_height = display_height - VFO_HEIGHT;
+                if (display_zoompan)
+                    tx_height -= ZOOMPAN_HEIGHT;
+                if (display_sliders)
+                    tx_height -= SLIDERS_HEIGHT;
+                if (display_toolbar)
+                    tx_height -= TOOLBAR_HEIGHT;
+                transmitter = create_transmitter(CHANNEL_TX, buffer_size,
+                                                 fft_size, updates_per_second,
+                                                 display_width, tx_height);
+            }
+            transmitter->x = 0;
+            transmitter->y = VFO_HEIGHT;
+
+            calcDriveLevel();
 
 #ifdef PURESIGNAL
-      if (protocol == NEW_PROTOCOL || protocol == ORIGINAL_PROTOCOL) {
-        tx_set_ps_sample_rate(transmitter, protocol == NEW_PROTOCOL
-                                               ? 192000
-                                               : active_receiver->sample_rate);
-        receiver[PS_TX_FEEDBACK] = create_pure_signal_receiver(
-            PS_TX_FEEDBACK, buffer_size,
-            protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
-                                          : 192000,
-            display_width);
-        receiver[PS_RX_FEEDBACK] = create_pure_signal_receiver(
-            PS_RX_FEEDBACK, buffer_size,
-            protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
-                                          : 192000,
-            display_width);
-        switch (protocol) {
-        case NEW_PROTOCOL:
-          pk = 0.2899;
-          break;
-        case ORIGINAL_PROTOCOL:
-          switch (device) {
-          case DEVICE_HERMES_LITE2:
-            pk = 0.2300;
-            break;
-          default:
-            pk = 0.4067;
-            break;
-          }
-        }
-        SetPSHWPeak(transmitter->id, pk);
-      }
+            if (protocol == NEW_PROTOCOL || protocol == ORIGINAL_PROTOCOL) {
+                tx_set_ps_sample_rate(transmitter,
+                                      protocol == NEW_PROTOCOL
+                                          ? 192000
+                                          : active_receiver->sample_rate);
+                receiver[PS_TX_FEEDBACK] = create_pure_signal_receiver(
+                    PS_TX_FEEDBACK, buffer_size,
+                    protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
+                                                  : 192000,
+                    display_width);
+                receiver[PS_RX_FEEDBACK] = create_pure_signal_receiver(
+                    PS_RX_FEEDBACK, buffer_size,
+                    protocol == ORIGINAL_PROTOCOL ? active_receiver->sample_rate
+                                                  : 192000,
+                    display_width);
+                switch (protocol) {
+                case NEW_PROTOCOL:
+                    pk = 0.2899;
+                    break;
+                case ORIGINAL_PROTOCOL:
+                    switch (device) {
+                    case DEVICE_HERMES_LITE2:
+                        pk = 0.2300;
+                        break;
+                    default:
+                        pk = 0.4067;
+                        break;
+                    }
+                }
+                SetPSHWPeak(transmitter->id, pk);
+            }
 #endif
-    }
+        }
 #ifdef CLIENT_SERVER
-  }
+    }
 #endif
 
 #ifdef AUDIO_WATERFALL
-  audio_waterfall = audio_waterfall_init(200, 100);
-  gtk_fixed_put(GTK_FIXED(fixed), audio_waterfall, 0, VFO_HEIGHT + 20);
+    audio_waterfall = audio_waterfall_init(200, 100);
+    gtk_fixed_put(GTK_FIXED(fixed), audio_waterfall, 0, VFO_HEIGHT + 20);
 #endif
 
-  gboolean init_gpio = FALSE;
+    gboolean init_gpio = FALSE;
 #ifdef LOCALCW
-  init_gpio = TRUE;
+    init_gpio = TRUE;
 #endif
 #ifdef PTT
-  init_gpio = TRUE;
+    init_gpio = TRUE;
 #endif
 #ifdef GPIO
-  init_gpio = TRUE;
+    init_gpio = TRUE;
 #endif
 
-  if (init_gpio) {
+    if (init_gpio) {
 #ifdef GPIO
-    if (gpio_init() < 0) {
-      g_print("GPIO failed to initialize\n");
-    }
+        if (gpio_init() < 0) {
+            g_print("GPIO failed to initialize\n");
+        }
 #endif
-  }
+    }
 
 #ifdef LOCALCW
-  // init local keyer if enabled
-  if (cw_keyer_internal == 0) {
-    g_print("Initialize keyer.....\n");
-    keyer_update();
-  }
+    // init local keyer if enabled
+    if (cw_keyer_internal == 0) {
+        g_print("Initialize keyer.....\n");
+        keyer_update();
+    }
 
 #ifdef MIDI
-  if (cw_keyer_midi == 1) {
-      midi_keyer_update();
-  }
+    if (cw_keyer_midi == 1) {
+        midi_keyer_update();
+    }
 #endif
 #endif
 
 #ifdef CLIENT_SERVER
-  if (!radio_is_remote) {
+    if (!radio_is_remote) {
 #endif
-    switch (protocol) {
-    case ORIGINAL_PROTOCOL:
-      old_protocol_init(0, display_width, receiver[0]->sample_rate);
-      break;
-    case NEW_PROTOCOL:
-      new_protocol_init(display_width);
-      break;
-    }
+        switch (protocol) {
+        case ORIGINAL_PROTOCOL:
+            old_protocol_init(0, display_width, receiver[0]->sample_rate);
+            break;
+        case NEW_PROTOCOL:
+            new_protocol_init(display_width);
+            break;
+        }
 #ifdef CLIENT_SERVER
-  }
+    }
 #endif
 
-  if (display_zoompan) {
-    zoompan = zoompan_init(display_width, ZOOMPAN_HEIGHT);
-    gtk_fixed_put(GTK_FIXED(fixed), zoompan, 0, y);
-    y += ZOOMPAN_HEIGHT;
-  }
-
-  if (display_sliders) {
-    // g_print("create sliders\n");
-    sliders = sliders_init(display_width, SLIDERS_HEIGHT);
-    gtk_fixed_put(GTK_FIXED(fixed), sliders, 0, y);
-    y += SLIDERS_HEIGHT;
-  }
-
-  if (display_toolbar) {
-    toolbar = toolbar_init(display_width, TOOLBAR_HEIGHT, top_window);
-    gtk_fixed_put(GTK_FIXED(fixed), toolbar, 0, y);
-    y += TOOLBAR_HEIGHT;
-  }
-
-  g_print("create_visual: receivers=%d RECEIVERS=%d\n", receivers, RECEIVERS);
-  if (receivers != RECEIVERS) {
-    int r = receivers;
-    receivers = RECEIVERS;
-    g_print(
-        "create_visual: calling radio_change_receivers: receivers=%d r=%d\n",
-        receivers, r);
-    radio_change_receivers(r);
-  }
-
-  // gtk_widget_show_all (fixed);
-  gtk_widget_show_all(top_window);
+    if (display_zoompan) {
+        zoompan = zoompan_init(display_width, ZOOMPAN_HEIGHT);
+        gtk_fixed_put(GTK_FIXED(fixed), zoompan, 0, y);
+        y += ZOOMPAN_HEIGHT;
+    }
+
+    if (display_sliders) {
+        // g_print("create sliders\n");
+        sliders = sliders_init(display_width, SLIDERS_HEIGHT);
+        gtk_fixed_put(GTK_FIXED(fixed), sliders, 0, y);
+        y += SLIDERS_HEIGHT;
+    }
+
+    if (display_toolbar) {
+        toolbar = toolbar_init(display_width, TOOLBAR_HEIGHT, top_window);
+        gtk_fixed_put(GTK_FIXED(fixed), toolbar, 0, y);
+        y += TOOLBAR_HEIGHT;
+    }
+
+    g_print("create_visual: receivers=%d RECEIVERS=%d\n", receivers, RECEIVERS);
+    if (receivers != RECEIVERS) {
+        int r = receivers;
+        receivers = RECEIVERS;
+        g_print("create_visual: calling radio_change_receivers: receivers=%d "
+                "r=%d\n",
+                receivers, r);
+        radio_change_receivers(r);
+    }
+
+    // gtk_widget_show_all (fixed);
+    gtk_widget_show_all(top_window);
 }
 
 void start_radio() {
-  int i;
-  // g_print("start_radio: selected radio=%p device=%d\n",radio,radio->device);
-  gdk_window_set_cursor(gtk_widget_get_window(top_window),
-                        gdk_cursor_new(GDK_WATCH));
-
-  protocol = radio->protocol;
-  device = radio->device;
-
-  // set the default power output and max drive value
-  drive_max = 100.0;
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-    switch (device) {
-    case DEVICE_METIS:
-      pa_power = PA_1W;
-      break;
-    case DEVICE_HERMES:
-      pa_power = PA_100W;
-      break;
-    case DEVICE_GRIFFIN:
-      pa_power = PA_100W;
-      break;
-    case DEVICE_ANGELIA:
-      pa_power = PA_100W;
-      break;
-    case DEVICE_ORION:
-      pa_power = PA_100W;
-      break;
-    case DEVICE_HERMES_LITE:
-      pa_power = PA_1W;
-      break;
-    case DEVICE_HERMES_LITE2:
-      pa_power = PA_10W;
-      break;
-    case DEVICE_ORION2:
-      pa_power = PA_200W;
-      break;
-    }
-    break;
-  case NEW_PROTOCOL:
-    switch (device) {
-    case NEW_DEVICE_ATLAS:
-      pa_power = PA_1W;
-      break;
-    case NEW_DEVICE_HERMES:
-    case NEW_DEVICE_HERMES2:
-      pa_power = PA_100W;
-      break;
-    case NEW_DEVICE_ANGELIA:
-      pa_power = PA_100W;
-      break;
-    case NEW_DEVICE_ORION:
-      pa_power = PA_100W;
-      break;
-    case NEW_DEVICE_HERMES_LITE:
-      pa_power = PA_1W;
-      break;
-    case NEW_DEVICE_HERMES_LITE2:
-      pa_power = PA_10W;
-      break;
-    case NEW_DEVICE_ORION2:
-      pa_power = PA_200W;
-      break;
-    }
-    break;
-  }
-
-  switch (pa_power) {
-  case PA_1W:
-    for (i = 0; i < 11; i++) {
-      pa_trim[i] = i * 100;
-    }
-    break;
-  case PA_10W:
-    for (i = 0; i < 11; i++) {
-      pa_trim[i] = i;
-    }
-    break;
-  case PA_30W:
-    for (i = 0; i < 11; i++) {
-      pa_trim[i] = i * 3;
-    }
-    break;
-  case PA_50W:
-    for (i = 0; i < 11; i++) {
-      pa_trim[i] = i * 5;
-    }
-    break;
-  case PA_100W:
-    for (i = 0; i < 11; i++) {
-      pa_trim[i] = i * 10;
-    }
-    break;
-  case PA_200W:
-    for (i = 0; i < 11; i++) {
-      pa_trim[i] = i * 20;
-    }
-    break;
-  case PA_500W:
-    for (i = 0; i < 11; i++) {
-      pa_trim[i] = i * 50;
-    }
-    break;
-  }
-
-  //
-  // have_rx_gain determines whether we have "ATT" or "RX Gain" Sliders
-  // It is set for HermesLite (and RadioBerry, for that matter)
-  //
-  have_rx_gain = 0;
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-    switch (device) {
-    case DEVICE_HERMES_LITE:
-    case DEVICE_HERMES_LITE2:
-      have_rx_gain = 1;
-      rx_gain_calibration = 14;
-      break;
-    default:
-      have_rx_gain = 0;
-      rx_gain_calibration = 0;
-      break;
-    }
-    break;
-  case NEW_PROTOCOL:
-    switch (device) {
-    case NEW_DEVICE_HERMES_LITE:
-    case NEW_DEVICE_HERMES_LITE2:
-      have_rx_gain = 1;
-      rx_gain_calibration = 14;
-      break;
-    default:
-      have_rx_gain = 0;
-      rx_gain_calibration = 0;
-      break;
+    int i;
+    // g_print("start_radio: selected radio=%p
+    // device=%d\n",radio,radio->device);
+    gdk_window_set_cursor(gtk_widget_get_window(top_window),
+                          gdk_cursor_new(GDK_WATCH));
+
+    protocol = radio->protocol;
+    device = radio->device;
+
+    // set the default power output and max drive value
+    drive_max = 100.0;
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+        switch (device) {
+        case DEVICE_METIS:
+            pa_power = PA_1W;
+            break;
+        case DEVICE_HERMES:
+            pa_power = PA_100W;
+            break;
+        case DEVICE_GRIFFIN:
+            pa_power = PA_100W;
+            break;
+        case DEVICE_ANGELIA:
+            pa_power = PA_100W;
+            break;
+        case DEVICE_ORION:
+            pa_power = PA_100W;
+            break;
+        case DEVICE_HERMES_LITE:
+            pa_power = PA_1W;
+            break;
+        case DEVICE_HERMES_LITE2:
+            pa_power = PA_10W;
+            break;
+        case DEVICE_ORION2:
+            pa_power = PA_200W;
+            break;
+        }
+        break;
+    case NEW_PROTOCOL:
+        switch (device) {
+        case NEW_DEVICE_ATLAS:
+            pa_power = PA_1W;
+            break;
+        case NEW_DEVICE_HERMES:
+        case NEW_DEVICE_HERMES2:
+            pa_power = PA_100W;
+            break;
+        case NEW_DEVICE_ANGELIA:
+            pa_power = PA_100W;
+            break;
+        case NEW_DEVICE_ORION:
+            pa_power = PA_100W;
+            break;
+        case NEW_DEVICE_HERMES_LITE:
+            pa_power = PA_1W;
+            break;
+        case NEW_DEVICE_HERMES_LITE2:
+            pa_power = PA_10W;
+            break;
+        case NEW_DEVICE_ORION2:
+            pa_power = PA_200W;
+            break;
+        }
+        break;
+    }
+
+    switch (pa_power) {
+    case PA_1W:
+        for (i = 0; i < 11; i++) {
+            pa_trim[i] = i * 100;
+        }
+        break;
+    case PA_10W:
+        for (i = 0; i < 11; i++) {
+            pa_trim[i] = i;
+        }
+        break;
+    case PA_30W:
+        for (i = 0; i < 11; i++) {
+            pa_trim[i] = i * 3;
+        }
+        break;
+    case PA_50W:
+        for (i = 0; i < 11; i++) {
+            pa_trim[i] = i * 5;
+        }
+        break;
+    case PA_100W:
+        for (i = 0; i < 11; i++) {
+            pa_trim[i] = i * 10;
+        }
+        break;
+    case PA_200W:
+        for (i = 0; i < 11; i++) {
+            pa_trim[i] = i * 20;
+        }
+        break;
+    case PA_500W:
+        for (i = 0; i < 11; i++) {
+            pa_trim[i] = i * 50;
+        }
+        break;
     }
-    break;
-  default:
+
+    //
+    // have_rx_gain determines whether we have "ATT" or "RX Gain" Sliders
+    // It is set for HermesLite (and RadioBerry, for that matter)
+    //
     have_rx_gain = 0;
-    break;
-  }
-
-  //
-  // can_transmit decides whether we have a transmitter.
-  //
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-  case NEW_PROTOCOL:
-    can_transmit = 1;
-    break;
-  }
-
-  //
-  // A semaphore for safely writing to the props file
-  //
-  g_mutex_init(&property_mutex);
-
-  //
-  //  Create text for the top line of the piHPSDR window
-  //
-  char text[1024];
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-  case NEW_PROTOCOL:
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+        switch (device) {
+        case DEVICE_HERMES_LITE:
+        case DEVICE_HERMES_LITE2:
+            have_rx_gain = 1;
+            rx_gain_calibration = 14;
+            break;
+        default:
+            have_rx_gain = 0;
+            rx_gain_calibration = 0;
+            break;
+        }
+        break;
+    case NEW_PROTOCOL:
+        switch (device) {
+        case NEW_DEVICE_HERMES_LITE:
+        case NEW_DEVICE_HERMES_LITE2:
+            have_rx_gain = 1;
+            rx_gain_calibration = 14;
+            break;
+        default:
+            have_rx_gain = 0;
+            rx_gain_calibration = 0;
+            break;
+        }
+        break;
+    default:
+        have_rx_gain = 0;
+        break;
+    }
+
+    //
+    // can_transmit decides whether we have a transmitter.
+    //
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+    case NEW_PROTOCOL:
+        can_transmit = 1;
+        break;
+    }
+
+    //
+    // A semaphore for safely writing to the props file
+    //
+    g_mutex_init(&property_mutex);
+
+    //
+    //  Create text for the top line of the piHPSDR window
+    //
+    char text[1024];
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+    case NEW_PROTOCOL:
 #ifdef USBOZY
-    if (device == DEVICE_OZY) {
-      sprintf(text, "%s (%s) on USB /dev/ozy\n", radio->name,
-              protocol == ORIGINAL_PROTOCOL ? "Protocol 1" : "Protocol 2");
-    } else {
+        if (device == DEVICE_OZY) {
+            sprintf(text, "%s (%s) on USB /dev/ozy\n", radio->name,
+                    protocol == ORIGINAL_PROTOCOL ? "Protocol 1"
+                                                  : "Protocol 2");
+        } else {
 #endif
-      sprintf(text, "Starting %s (%s v%d.%d)", radio->name,
-              protocol == ORIGINAL_PROTOCOL ? "Protocol 1" : "Protocol 2",
-              radio->software_version / 10, radio->software_version % 10);
+            sprintf(text, "Starting %s (%s v%d.%d)", radio->name,
+                    protocol == ORIGINAL_PROTOCOL ? "Protocol 1" : "Protocol 2",
+                    radio->software_version / 10, radio->software_version % 10);
 #ifdef USBOZY
-    }
+        }
 #endif
-    break;
-  }
-
-  char p[32];
-  char version[32];
-  char mac[32];
-  char ip[32];
-  char iface[64];
-
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-    strcpy(p, "Protocol 1");
-    sprintf(version, "v%d.%d)", radio->software_version / 10,
-            radio->software_version % 10);
-    sprintf(
-        mac, "%02X:%02X:%02X:%02X:%02X:%02X",
-        radio->info.network.mac_address[0], radio->info.network.mac_address[1],
-        radio->info.network.mac_address[2], radio->info.network.mac_address[3],
-        radio->info.network.mac_address[4], radio->info.network.mac_address[5]);
-    sprintf(ip, "%s", inet_ntoa(radio->info.network.address.sin_addr));
-    sprintf(iface, "%s", radio->info.network.interface_name);
-    break;
-  case NEW_PROTOCOL:
-    strcpy(p, "Protocol 2");
-    sprintf(version, "v%d.%d)", radio->software_version / 10,
-            radio->software_version % 10);
-    sprintf(
-        mac, "%02X:%02X:%02X:%02X:%02X:%02X",
-        radio->info.network.mac_address[0], radio->info.network.mac_address[1],
-        radio->info.network.mac_address[2], radio->info.network.mac_address[3],
-        radio->info.network.mac_address[4], radio->info.network.mac_address[5]);
-    sprintf(ip, "%s", inet_ntoa(radio->info.network.address.sin_addr));
-    sprintf(iface, "%s", radio->info.network.interface_name);
-    break;
-  }
-
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-  case NEW_PROTOCOL:
+        break;
+    }
+
+    char p[32];
+    char version[32];
+    char mac[32];
+    char ip[32];
+    char iface[64];
+
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+        strcpy(p, "Protocol 1");
+        sprintf(version, "v%d.%d)", radio->software_version / 10,
+                radio->software_version % 10);
+        sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X",
+                radio->info.network.mac_address[0],
+                radio->info.network.mac_address[1],
+                radio->info.network.mac_address[2],
+                radio->info.network.mac_address[3],
+                radio->info.network.mac_address[4],
+                radio->info.network.mac_address[5]);
+        sprintf(ip, "%s", inet_ntoa(radio->info.network.address.sin_addr));
+        sprintf(iface, "%s", radio->info.network.interface_name);
+        break;
+    case NEW_PROTOCOL:
+        strcpy(p, "Protocol 2");
+        sprintf(version, "v%d.%d)", radio->software_version / 10,
+                radio->software_version % 10);
+        sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X",
+                radio->info.network.mac_address[0],
+                radio->info.network.mac_address[1],
+                radio->info.network.mac_address[2],
+                radio->info.network.mac_address[3],
+                radio->info.network.mac_address[4],
+                radio->info.network.mac_address[5]);
+        sprintf(ip, "%s", inet_ntoa(radio->info.network.address.sin_addr));
+        sprintf(iface, "%s", radio->info.network.interface_name);
+        break;
+    }
+
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+    case NEW_PROTOCOL:
 #ifdef USBOZY
-    if (device == DEVICE_OZY) {
-      sprintf(text, "%s (%s) on USB /dev/ozy\n", radio->name, p);
-    } else {
+        if (device == DEVICE_OZY) {
+            sprintf(text, "%s (%s) on USB /dev/ozy\n", radio->name, p);
+        } else {
 #endif
-      sprintf(text, "Starting %s (%s %s)", radio->name, p, version);
+            sprintf(text, "Starting %s (%s %s)", radio->name, p, version);
 #ifdef USBOZY
-    }
+        }
 #endif
-    break;
-  }
+        break;
+    }
 
-  status_text(text);
+    status_text(text);
 
-  sprintf(text, "piHPSDR: %s (%s %s) %s (%s) on %s", radio->name, p, version,
-          ip, mac, iface);
+    sprintf(text, "piHPSDR: %s (%s %s) %s (%s) on %s", radio->name, p, version,
+            ip, mac, iface);
 
-  gtk_window_set_title(GTK_WINDOW(top_window), text);
+    gtk_window_set_title(GTK_WINDOW(top_window), text);
 
-  //
-  // determine name of the props file
-  //
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-  case NEW_PROTOCOL:
-    switch (device) {
+    //
+    // determine name of the props file
+    //
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+    case NEW_PROTOCOL:
+        switch (device) {
 #ifdef USBOZY
-    case DEVICE_OZY:
-      sprintf(property_path, "ozy.props");
-      break;
+        case DEVICE_OZY:
+            sprintf(property_path, "ozy.props");
+            break;
 #endif
-    default:
-      sprintf(property_path, "%02X-%02X-%02X-%02X-%02X-%02X.props",
-              radio->info.network.mac_address[0],
-              radio->info.network.mac_address[1],
-              radio->info.network.mac_address[2],
-              radio->info.network.mac_address[3],
-              radio->info.network.mac_address[4],
-              radio->info.network.mac_address[5]);
-      break;
-    }
-    break;
-  }
-
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-    switch (device) {
-    case DEVICE_ORION2:
-      // meter_calibration=3.0;
-      // display_calibration=3.36;
-      break;
-    default:
-      // meter_calibration=-2.44;
-      // display_calibration=-2.1;
-      break;
-    }
-    break;
-  case NEW_PROTOCOL:
-    switch (device) {
-    case NEW_DEVICE_ORION2:
-      // meter_calibration=3.0;
-      // display_calibration=3.36;
-      break;
-    default:
-      // meter_calibration=-2.44;
-      // display_calibration=-2.1;
-      break;
-    }
-    break;
-  }
-
-  //
-  // Determine number of ADCs in the device
-  //
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-    switch (device) {
-    case DEVICE_METIS: // No support for multiple MERCURY cards on a single
+        default:
+            sprintf(property_path, "%02X-%02X-%02X-%02X-%02X-%02X.props",
+                    radio->info.network.mac_address[0],
+                    radio->info.network.mac_address[1],
+                    radio->info.network.mac_address[2],
+                    radio->info.network.mac_address[3],
+                    radio->info.network.mac_address[4],
+                    radio->info.network.mac_address[5]);
+            break;
+        }
+        break;
+    }
+
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+        switch (device) {
+        case DEVICE_ORION2:
+            // meter_calibration=3.0;
+            // display_calibration=3.36;
+            break;
+        default:
+            // meter_calibration=-2.44;
+            // display_calibration=-2.1;
+            break;
+        }
+        break;
+    case NEW_PROTOCOL:
+        switch (device) {
+        case NEW_DEVICE_ORION2:
+            // meter_calibration=3.0;
+            // display_calibration=3.36;
+            break;
+        default:
+            // meter_calibration=-2.44;
+            // display_calibration=-2.1;
+            break;
+        }
+        break;
+    }
+
+    //
+    // Determine number of ADCs in the device
+    //
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+        switch (device) {
+        case DEVICE_METIS: // No support for multiple MERCURY cards on a single
+                           // ATLAS bus.
+        case DEVICE_HERMES:
+        case DEVICE_HERMES_LITE:
+        case DEVICE_HERMES_LITE2:
+            n_adc = 1;
+            break;
+        default:
+            n_adc = 2;
+            break;
+        }
+        break;
+    case NEW_PROTOCOL:
+        switch (device) {
+        case NEW_DEVICE_ATLAS:
+            n_adc = 1; // No support for multiple MERCURY cards on a single
                        // ATLAS bus.
-    case DEVICE_HERMES:
-    case DEVICE_HERMES_LITE:
-    case DEVICE_HERMES_LITE2:
-      n_adc = 1;
-      break;
-    default:
-      n_adc = 2;
-      break;
-    }
-    break;
-  case NEW_PROTOCOL:
-    switch (device) {
-    case NEW_DEVICE_ATLAS:
-      n_adc = 1; // No support for multiple MERCURY cards on a single ATLAS bus.
-      break;
-    case NEW_DEVICE_HERMES:
-    case NEW_DEVICE_HERMES2:
-    case NEW_DEVICE_HERMES_LITE:
-    case NEW_DEVICE_HERMES_LITE2:
-      n_adc = 1;
-      break;
+            break;
+        case NEW_DEVICE_HERMES:
+        case NEW_DEVICE_HERMES2:
+        case NEW_DEVICE_HERMES_LITE:
+        case NEW_DEVICE_HERMES_LITE2:
+            n_adc = 1;
+            break;
+        default:
+            n_adc = 2;
+            break;
+        }
+        break;
     default:
-      n_adc = 2;
-      break;
+        break;
     }
-    break;
-  default:
-    break;
-  }
 
-  iqswap = 0;
+    iqswap = 0;
 
-  /*
-  adc_attenuation[0]=0;
-  adc_attenuation[1]=0;
+    /*
+    adc_attenuation[0]=0;
+    adc_attenuation[1]=0;
 
-  if(have_rx_gain) {
-    adc_attenuation[0]=14;
-    adc_attenuation[1]=14;
-  }
-*/
-  adc[0].antenna = ANTENNA_1;
-  adc[0].filters = AUTOMATIC;
-  adc[0].hpf = HPF_13;
-  adc[0].lpf = LPF_30_20;
-  adc[0].dither = FALSE;
-  adc[0].random = FALSE;
-  adc[0].preamp = FALSE;
-
-  //
-  // Some HPSDR radios have RX GAIN instead of attenuation
-  // these usually have a gain range from -12 to +48
-  //
-  if(have_rx_gain && (protocol==ORIGINAL_PROTOCOL || protocol==NEW_PROTOCOL)) {
-    adc[0].min_gain=-12.0;
-    adc[0].max_gain=+48.0;
-  }
-
-  if (have_rx_gain) {
-    adc[0].gain = 14.0;
-  } else {
-    adc[0].attenuation = 0;
-  }
-
-
-  adc[1].antenna = ANTENNA_1;
-  adc[1].filters = AUTOMATIC;
-  adc[1].hpf = HPF_9_5;
-  adc[1].lpf = LPF_60_40;
-  adc[1].dither = FALSE;
-  adc[1].random = FALSE;
-  adc[1].preamp = FALSE;
-  if (have_rx_gain) {
-    adc[1].gain = 14;
-  } else {
-    adc[1].attenuation = 0;
-  }
-
-  // g_print("meter_calibration=%f display_calibration=%f\n", meter_calibration,
-  // display_calibration);
+    if(have_rx_gain) {
+      adc_attenuation[0]=14;
+      adc_attenuation[1]=14;
+    }
+  */
+    adc[0].antenna = ANTENNA_1;
+    adc[0].filters = AUTOMATIC;
+    adc[0].hpf = HPF_13;
+    adc[0].lpf = LPF_30_20;
+    adc[0].dither = FALSE;
+    adc[0].random = FALSE;
+    adc[0].preamp = FALSE;
+
+    //
+    // Some HPSDR radios have RX GAIN instead of attenuation
+    // these usually have a gain range from -12 to +48
+    //
+    if (have_rx_gain &&
+        (protocol == ORIGINAL_PROTOCOL || protocol == NEW_PROTOCOL)) {
+        adc[0].min_gain = -12.0;
+        adc[0].max_gain = +48.0;
+    }
+
+    if (have_rx_gain) {
+        adc[0].gain = 14.0;
+    } else {
+        adc[0].attenuation = 0;
+    }
+
+    adc[1].antenna = ANTENNA_1;
+    adc[1].filters = AUTOMATIC;
+    adc[1].hpf = HPF_9_5;
+    adc[1].lpf = LPF_60_40;
+    adc[1].dither = FALSE;
+    adc[1].random = FALSE;
+    adc[1].preamp = FALSE;
+    if (have_rx_gain) {
+        adc[1].gain = 14;
+    } else {
+        adc[1].attenuation = 0;
+    }
+
+    // g_print("meter_calibration=%f display_calibration=%f\n",
+    // meter_calibration, display_calibration);
 
 #ifdef GPIO
-  switch (controller) {
-  case NO_CONTROLLER:
+    switch (controller) {
+    case NO_CONTROLLER:
+        display_zoompan = 1;
+        display_sliders = 1;
+        display_toolbar = 1;
+        break;
+    case CONTROLLER2_V1:
+    case CONTROLLER2_V2:
+        display_zoompan = 1;
+        display_sliders = 0;
+        display_toolbar = 0;
+        break;
+    }
+#else
     display_zoompan = 1;
     display_sliders = 1;
     display_toolbar = 1;
-    break;
-  case CONTROLLER2_V1:
-  case CONTROLLER2_V2:
-    display_zoompan = 1;
-    display_sliders = 0;
-    display_toolbar = 0;
-    break;
-  }
-#else
-  display_zoompan = 1;
-  display_sliders = 1;
-  display_toolbar = 1;
 #endif
 
-  temperature = 0;
-  average_temperature = 0;
-  n_temperature = 0;
-  current = 0;
-  average_current = 0;
-  n_current = 0;
+    temperature = 0;
+    average_temperature = 0;
+    n_temperature = 0;
+    current = 0;
+    average_current = 0;
+    n_current = 0;
 
-  display_sequence_errors = TRUE;
+    display_sequence_errors = TRUE;
 
-  g_print("%s: setup RECEIVERS protocol=%d\n", __FUNCTION__, protocol);
-  switch (protocol) {
-  default:
-    g_print("%s: setup RECEIVERS default\n", __FUNCTION__);
-    RECEIVERS = 2;
+    g_print("%s: setup RECEIVERS protocol=%d\n", __FUNCTION__, protocol);
+    switch (protocol) {
+    default:
+        g_print("%s: setup RECEIVERS default\n", __FUNCTION__);
+        RECEIVERS = 2;
 #ifdef PURESIGNAL
-    MAX_RECEIVERS = (RECEIVERS + 2);
-    PS_TX_FEEDBACK = (RECEIVERS);
-    PS_RX_FEEDBACK = (RECEIVERS + 1);
+        MAX_RECEIVERS = (RECEIVERS + 2);
+        PS_TX_FEEDBACK = (RECEIVERS);
+        PS_RX_FEEDBACK = (RECEIVERS + 1);
 #else
-    MAX_RECEIVERS = RECEIVERS;
+        MAX_RECEIVERS = RECEIVERS;
 #endif
-    MAX_DDC = (RECEIVERS + 2);
-    break;
-  }
-
-  receivers = RECEIVERS;
-
-  radioRestoreState();
-
-  //
-  // It is possible that an option has been read in
-  // which is not compatible with the hardware.
-  // Change setting to reasonable value then.
-  // This could possibly be moved to radioRestoreState().
-  //
-  // Sanity Check #1: restrict buffer size in new protocol
-  //
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-    if (buffer_size > 2048)
-      buffer_size = 2048;
-    break;
-  case NEW_PROTOCOL:
-    if (buffer_size > 512)
-      buffer_size = 512;
-    break;
-  }
-  //
-  // Sanity Check #2: enable diversity only if there are two RX and two ADCs
-  //
-  if (RECEIVERS < 2 || n_adc < 2) {
-    diversity_enabled = 0;
-  }
-
-  radio_change_region(region);
-
-  create_visual();
-
-  // save every 30 seconds
-  // save_timer_id=gdk_threads_add_timeout(30000, save_cb, NULL);
-
-  if (rigctl_enable) {
-    launch_rigctl();
-    launch_serial(); // edit
-  }
-
-  if (can_transmit) {
-    calcDriveLevel();
-    if (transmitter->puresignal) {
-      tx_set_ps(transmitter, transmitter->puresignal);
+        MAX_DDC = (RECEIVERS + 2);
+        break;
     }
-  }
 
-  if (protocol == NEW_PROTOCOL) {
-    schedule_high_priority();
-  }
+    receivers = RECEIVERS;
 
+    radioRestoreState();
 
-  g_idle_add(ext_vfo_update, (gpointer)NULL);
+    //
+    // It is possible that an option has been read in
+    // which is not compatible with the hardware.
+    // Change setting to reasonable value then.
+    // This could possibly be moved to radioRestoreState().
+    //
+    // Sanity Check #1: restrict buffer size in new protocol
+    //
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+        if (buffer_size > 2048)
+            buffer_size = 2048;
+        break;
+    case NEW_PROTOCOL:
+        if (buffer_size > 512)
+            buffer_size = 512;
+        break;
+    }
+    //
+    // Sanity Check #2: enable diversity only if there are two RX and two ADCs
+    //
+    if (RECEIVERS < 2 || n_adc < 2) {
+        diversity_enabled = 0;
+    }
 
-  gdk_window_set_cursor(gtk_widget_get_window(top_window),
-                        gdk_cursor_new(GDK_ARROW));
+    radio_change_region(region);
 
-  //
-  // MIDIstartup must not be called before the radio is completely set up, since
-  // then MIDI can asynchronously trigger actions which require the radio
-  // already running. So this is the last thing we do when starting the radio.
-  //
-#ifdef MIDI
-  g_print("%s: midi_enabled=%d midi_device_name=%s\n", __FUNCTION__,
-          midi_enabled, midi_device_name);
-  if (midi_enabled && (midi_device_name != NULL)) {
-    if (register_midi_device(midi_device_name) < 0) {
-      midi_enabled = FALSE;
+    create_visual();
+
+    // save every 30 seconds
+    // save_timer_id=gdk_threads_add_timeout(30000, save_cb, NULL);
+
+    if (rigctl_enable) {
+        launch_rigctl();
+        launch_serial(); // edit
     }
-    if (cw_keyer_midi == 1) {
-       midi_keyer_update();
+
+    if (can_transmit) {
+        calcDriveLevel();
+        if (transmitter->puresignal) {
+            tx_set_ps(transmitter, transmitter->puresignal);
+        }
+    }
+
+    if (protocol == NEW_PROTOCOL) {
+        schedule_high_priority();
+    }
+
+    g_idle_add(ext_vfo_update, (gpointer)NULL);
+
+    gdk_window_set_cursor(gtk_widget_get_window(top_window),
+                          gdk_cursor_new(GDK_ARROW));
+
+    //
+    // MIDIstartup must not be called before the radio is completely set up,
+    // since then MIDI can asynchronously trigger actions which require the
+    // radio already running. So this is the last thing we do when starting the
+    // radio.
+    //
+#ifdef MIDI
+    g_print("%s: midi_enabled=%d midi_device_name=%s\n", __FUNCTION__,
+            midi_enabled, midi_device_name);
+    if (midi_enabled && (midi_device_name != NULL)) {
+        if (register_midi_device(midi_device_name) < 0) {
+            midi_enabled = FALSE;
+        }
+        if (cw_keyer_midi == 1) {
+            midi_keyer_update();
+        }
+    } else {
+        midi_enabled = FALSE;
     }
-  } else {
-    midi_enabled = FALSE;
-  }
 #endif
 
 #ifdef CLIENT_SERVER
-  if (hpsdr_server) {
-    create_hpsdr_server();
-  }
+    if (hpsdr_server) {
+        create_hpsdr_server();
+    }
 #endif
 }
 
 void disable_rigctl() {
-  g_print("RIGCTL: disable_rigctl()\n");
-  close_rigctl_ports();
+    g_print("RIGCTL: disable_rigctl()\n");
+    close_rigctl_ports();
 }
 
 void radio_change_receivers(int r) {
-  g_print("radio_change_receivers: from %d to %d\n", receivers, r);
-  // The button in the radio menu will call this function even if the
-  // number of receivers has not changed.
-  if (receivers == r)
-    return;
-    //
-    // When changing the number of receivers, restart the
-    // old protocol
-    //
+    g_print("radio_change_receivers: from %d to %d\n", receivers, r);
+    // The button in the radio menu will call this function even if the
+    // number of receivers has not changed.
+    if (receivers == r)
+        return;
+        //
+        // When changing the number of receivers, restart the
+        // old protocol
+        //
 #ifdef CLIENT_SERVER
-  if (!radio_is_remote) {
+    if (!radio_is_remote) {
 #endif
-    if (protocol == ORIGINAL_PROTOCOL) {
-      old_protocol_stop();
-    }
+        if (protocol == ORIGINAL_PROTOCOL) {
+            old_protocol_stop();
+        }
 #ifdef CLIENT_SERVER
-  }
+    }
 #endif
-  switch (r) {
-  case 1:
-    set_displaying(receiver[1], 0);
-    gtk_container_remove(GTK_CONTAINER(fixed), receiver[1]->panel);
-    receivers = 1;
-    break;
-  case 2:
-    gtk_fixed_put(GTK_FIXED(fixed), receiver[1]->panel, 0, 0);
-    set_displaying(receiver[1], 1);
-    receivers = 2;
-    break;
-  }
-  reconfigure_radio();
-  active_receiver = receiver[0];
+    switch (r) {
+    case 1:
+        set_displaying(receiver[1], 0);
+        gtk_container_remove(GTK_CONTAINER(fixed), receiver[1]->panel);
+        receivers = 1;
+        break;
+    case 2:
+        gtk_fixed_put(GTK_FIXED(fixed), receiver[1]->panel, 0, 0);
+        set_displaying(receiver[1], 1);
+        receivers = 2;
+        break;
+    }
+    reconfigure_radio();
+    active_receiver = receiver[0];
 #ifdef CLIENT_SERVER
-  if (!radio_is_remote) {
+    if (!radio_is_remote) {
 #endif
-    if (protocol == NEW_PROTOCOL) {
-      schedule_high_priority();
-    }
-    if (protocol == ORIGINAL_PROTOCOL) {
-      old_protocol_run();
-    }
+        if (protocol == NEW_PROTOCOL) {
+            schedule_high_priority();
+        }
+        if (protocol == ORIGINAL_PROTOCOL) {
+            old_protocol_run();
+        }
 #ifdef CLIENT_SERVER
-  }
+    }
 #endif
 }
 
 void radio_change_sample_rate(int rate) {
-  int i;
-
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-    // The radio menu calls this function even if the sample rate
-    // has not changed. Do nothing in this case.
-    if (receiver[0]->sample_rate != rate) {
-      radio_sample_rate = rate;
-      old_protocol_stop();
-      for (i = 0; i < receivers; i++) {
-        receiver_change_sample_rate(receiver[i], rate);
-      }
+    int i;
+
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+        // The radio menu calls this function even if the sample rate
+        // has not changed. Do nothing in this case.
+        if (receiver[0]->sample_rate != rate) {
+            radio_sample_rate = rate;
+            old_protocol_stop();
+            for (i = 0; i < receivers; i++) {
+                receiver_change_sample_rate(receiver[i], rate);
+            }
 #ifdef PURESIGNAL
-      receiver_change_sample_rate(receiver[PS_RX_FEEDBACK], rate);
+            receiver_change_sample_rate(receiver[PS_RX_FEEDBACK], rate);
 #endif
-      old_protocol_set_mic_sample_rate(rate);
-      old_protocol_run();
-      tx_set_ps_sample_rate(transmitter, rate);
+            old_protocol_set_mic_sample_rate(rate);
+            old_protocol_run();
+            tx_set_ps_sample_rate(transmitter, rate);
+        }
+        break;
     }
-    break;
-  }
 }
 
 static void rxtx(int state) {
-  int i;
+    int i;
 
-  if (state) {
-    // switch to tx
+    if (state) {
+        // switch to tx
 #ifdef PURESIGNAL
-    RECEIVER *rx_feedback = receiver[PS_RX_FEEDBACK];
-    RECEIVER *tx_feedback = receiver[PS_TX_FEEDBACK];
+        RECEIVER *rx_feedback = receiver[PS_RX_FEEDBACK];
+        RECEIVER *tx_feedback = receiver[PS_TX_FEEDBACK];
 
-    rx_feedback->samples = 0;
-    tx_feedback->samples = 0;
+        rx_feedback->samples = 0;
+        tx_feedback->samples = 0;
 #endif
 
-    if (!duplex) {
-      for (i = 0; i < receivers; i++) {
-        // Delivery of RX samples
-        // to WDSP via fexchange0() may come to an abrupt stop
-        // (especially with PURESIGNAL or DIVERSITY).
-        // Therefore, wait for *all* receivers to complete
-        // their slew-down before going TX.
-        SetChannelState(receiver[i]->id, 0, 1);
-        set_displaying(receiver[i], 0);
-        g_object_ref((gpointer)receiver[i]->panel);
-        g_object_ref((gpointer)receiver[i]->panadapter);
-        if (receiver[i]->waterfall != NULL) {
-          g_object_ref((gpointer)receiver[i]->waterfall);
+        if (!duplex) {
+            for (i = 0; i < receivers; i++) {
+                // Delivery of RX samples
+                // to WDSP via fexchange0() may come to an abrupt stop
+                // (especially with PURESIGNAL or DIVERSITY).
+                // Therefore, wait for *all* receivers to complete
+                // their slew-down before going TX.
+                SetChannelState(receiver[i]->id, 0, 1);
+                set_displaying(receiver[i], 0);
+                g_object_ref((gpointer)receiver[i]->panel);
+                g_object_ref((gpointer)receiver[i]->panadapter);
+                if (receiver[i]->waterfall != NULL) {
+                    g_object_ref((gpointer)receiver[i]->waterfall);
+                }
+                gtk_container_remove(GTK_CONTAINER(fixed), receiver[i]->panel);
+            }
         }
-        gtk_container_remove(GTK_CONTAINER(fixed), receiver[i]->panel);
-      }
-    }
 
-    if (duplex) {
-      gtk_widget_show_all(transmitter->dialog);
-      if (transmitter->dialog_x != -1 && transmitter->dialog_y != -1) {
-        gtk_window_move(GTK_WINDOW(transmitter->dialog), transmitter->dialog_x,
-                        transmitter->dialog_y);
-      }
-    } else {
-      gtk_fixed_put(GTK_FIXED(fixed), transmitter->panel, transmitter->x,
-                    transmitter->y);
-    }
+        if (duplex) {
+            gtk_widget_show_all(transmitter->dialog);
+            if (transmitter->dialog_x != -1 && transmitter->dialog_y != -1) {
+                gtk_window_move(GTK_WINDOW(transmitter->dialog),
+                                transmitter->dialog_x, transmitter->dialog_y);
+            }
+        } else {
+            gtk_fixed_put(GTK_FIXED(fixed), transmitter->panel, transmitter->x,
+                          transmitter->y);
+        }
 
-    SetChannelState(transmitter->id, 1, 0);
-    tx_set_displaying(transmitter, 1);
-    switch (protocol) {
-    }
-  } else {
-    // switch to rx
-    switch (protocol) {
-    }
-    SetChannelState(transmitter->id, 0, 1);
-    tx_set_displaying(transmitter, 0);
-    if (duplex) {
-      gtk_window_get_position(GTK_WINDOW(transmitter->dialog),
-                              &transmitter->dialog_x, &transmitter->dialog_y);
-      gtk_widget_hide(transmitter->dialog);
+        SetChannelState(transmitter->id, 1, 0);
+        tx_set_displaying(transmitter, 1);
+        switch (protocol) {}
     } else {
-      gtk_container_remove(GTK_CONTAINER(fixed), transmitter->panel);
-    }
-    if (!duplex) {
-      for (i = 0; i < receivers; i++) {
-        gtk_fixed_put(GTK_FIXED(fixed), receiver[i]->panel, receiver[i]->x,
-                      receiver[i]->y);
-        SetChannelState(receiver[i]->id, 1, 0);
-        set_displaying(receiver[i], 1);
-      }
+        // switch to rx
+        switch (protocol) {}
+        SetChannelState(transmitter->id, 0, 1);
+        tx_set_displaying(transmitter, 0);
+        if (duplex) {
+            gtk_window_get_position(GTK_WINDOW(transmitter->dialog),
+                                    &transmitter->dialog_x,
+                                    &transmitter->dialog_y);
+            gtk_widget_hide(transmitter->dialog);
+        } else {
+            gtk_container_remove(GTK_CONTAINER(fixed), transmitter->panel);
+        }
+        if (!duplex) {
+            for (i = 0; i < receivers; i++) {
+                gtk_fixed_put(GTK_FIXED(fixed), receiver[i]->panel,
+                              receiver[i]->x, receiver[i]->y);
+                SetChannelState(receiver[i]->id, 1, 0);
+                set_displaying(receiver[i], 1);
+            }
+        }
     }
-  }
 
 #ifdef PURESIGNAL
-  if (transmitter->puresignal) {
-    SetPSMox(transmitter->id, state);
-  }
+    if (transmitter->puresignal) {
+        SetPSMox(transmitter->id, state);
+    }
 #endif
 }
 
 void setMox(int state) {
-  if (!can_transmit)
-    return;
-  vox_cancel(); // remove time-out
-  if (mox != state) {
-    if (state && vox) {
-      // Suppress RX-TX transition if VOX was already active
-    } else {
-      rxtx(state);
-    }
-    mox = state;
-  }
-  vox = 0;
-  switch (protocol) {
-  case NEW_PROTOCOL:
-    schedule_high_priority();
-    schedule_receive_specific();
-    break;
-  default:
-    break;
-  }
+    if (!can_transmit)
+        return;
+    vox_cancel(); // remove time-out
+    if (mox != state) {
+        if (state && vox) {
+            // Suppress RX-TX transition if VOX was already active
+        } else {
+            rxtx(state);
+        }
+        mox = state;
+    }
+    vox = 0;
+    switch (protocol) {
+    case NEW_PROTOCOL:
+        schedule_high_priority();
+        schedule_receive_specific();
+        break;
+    default:
+        break;
+    }
 }
 
 int getMox() { return mox; }
 
 void vox_changed(int state) {
-  if (vox != state && !tune && !mox) {
-    rxtx(state);
-  }
-  vox = state;
-  if (protocol == NEW_PROTOCOL) {
-    schedule_high_priority();
-    schedule_receive_specific();
-  }
+    if (vox != state && !tune && !mox) {
+        rxtx(state);
+    }
+    vox = state;
+    if (protocol == NEW_PROTOCOL) {
+        schedule_high_priority();
+        schedule_receive_specific();
+    }
 }
 
 void frequency_changed(RECEIVER *rx) {
-  // g_print("frequency_changed: channel=%d frequency=%ld lo=%ld error=%ld
-  // ctun=%d
-  // offset=%ld\n",rx->channel,rx->frequency_a,rx->lo_a,rx->error_a,rx->ctun,rx->offset);
-  if (vfo[0].ctun) {
-    SetRXAShiftFreq(rx->id, (double)vfo[0].offset);
-    RXANBPSetShiftFrequency(rx->id, (double)vfo[0].offset);
-  } else {
-    if (protocol == NEW_PROTOCOL) {
-      schedule_high_priority();
+    // g_print("frequency_changed: channel=%d frequency=%ld lo=%ld error=%ld
+    // ctun=%d
+    // offset=%ld\n",rx->channel,rx->frequency_a,rx->lo_a,rx->error_a,rx->ctun,rx->offset);
+    if (vfo[0].ctun) {
+        SetRXAShiftFreq(rx->id, (double)vfo[0].offset);
+        RXANBPSetShiftFrequency(rx->id, (double)vfo[0].offset);
+    } else {
+        if (protocol == NEW_PROTOCOL) {
+            schedule_high_priority();
+        }
+        vfo[0].band = get_band_from_frequency(vfo[0].frequency);
     }
-    vfo[0].band = get_band_from_frequency(vfo[0].frequency);
-  }
 }
 
 void setTune(int state) {
-  int i;
+    int i;
 
-  if (!can_transmit)
-    return;
+    if (!can_transmit)
+        return;
 
-  // if state==tune, this function is a no-op
+    // if state==tune, this function is a no-op
 
-  if (tune != state) {
-    vox_cancel();
-    if (vox || mox) {
-      rxtx(0);
-      vox = 0;
-      mox = 0;
-    }
-    if (state) {
-      if (transmitter->puresignal) {
-        //
-        // DL1YCF:
-        // Some users have reported that especially when having
-        // very long (10 hours) operating times with PS, hitting
-        // the "TUNE" button makes the PS algorithm crazy, such that
-        // it produces a very broad line spectrum. Experimentally, it
-        // has been observed that this can be avoided by hitting
-        // "Off" in the PS menu before hitting "TUNE", and hitting
-        // "Restart" in the PS menu when tuning is complete.
-        //
-        // It is therefore suggested to to so implicitly when PS
-        // is enabled.
-        //
-        // So before start tuning: Reset PS engine
-        //
-        SetPSControl(transmitter->id, 1, 0, 0, 0);
-        usleep(50000);
-      }
-      if (full_tune) {
-        if (OCfull_tune_time != 0) {
-          struct timeval te;
-          gettimeofday(&te, NULL);
-          tune_timeout = (te.tv_sec * 1000LL + te.tv_usec / 1000) +
-                         (long long)OCfull_tune_time;
+    if (tune != state) {
+        vox_cancel();
+        if (vox || mox) {
+            rxtx(0);
+            vox = 0;
+            mox = 0;
+        }
+        if (state) {
+            if (transmitter->puresignal) {
+                //
+                // DL1YCF:
+                // Some users have reported that especially when having
+                // very long (10 hours) operating times with PS, hitting
+                // the "TUNE" button makes the PS algorithm crazy, such that
+                // it produces a very broad line spectrum. Experimentally, it
+                // has been observed that this can be avoided by hitting
+                // "Off" in the PS menu before hitting "TUNE", and hitting
+                // "Restart" in the PS menu when tuning is complete.
+                //
+                // It is therefore suggested to to so implicitly when PS
+                // is enabled.
+                //
+                // So before start tuning: Reset PS engine
+                //
+                SetPSControl(transmitter->id, 1, 0, 0, 0);
+                usleep(50000);
+            }
+            if (full_tune) {
+                if (OCfull_tune_time != 0) {
+                    struct timeval te;
+                    gettimeofday(&te, NULL);
+                    tune_timeout = (te.tv_sec * 1000LL + te.tv_usec / 1000) +
+                                   (long long)OCfull_tune_time;
+                }
+            }
+            if (memory_tune) {
+                if (OCmemory_tune_time != 0) {
+                    struct timeval te;
+                    gettimeofday(&te, NULL);
+                    tune_timeout = (te.tv_sec * 1000LL + te.tv_usec / 1000) +
+                                   (long long)OCmemory_tune_time;
+                }
+            }
+        }
+        if (protocol == NEW_PROTOCOL) {
+            schedule_high_priority();
+            // schedule_general();
         }
-      }
-      if (memory_tune) {
-        if (OCmemory_tune_time != 0) {
-          struct timeval te;
-          gettimeofday(&te, NULL);
-          tune_timeout = (te.tv_sec * 1000LL + te.tv_usec / 1000) +
-                         (long long)OCmemory_tune_time;
+        if (state) {
+            if (!duplex) {
+                for (i = 0; i < receivers; i++) {
+                    // Delivery of RX samples
+                    // to WDSP via fexchange0() may come to an abrupt stop
+                    // (especially with PURESIGNAL or DIVERSITY)
+                    // Therefore, wait for *all* receivers to complete
+                    // their slew-down before going TX.
+                    SetChannelState(receiver[i]->id, 0, 1);
+                    set_displaying(receiver[i], 0);
+                    if (protocol == NEW_PROTOCOL) {
+                        schedule_high_priority();
+                    }
+                }
+            }
+
+            int txmode = get_tx_mode();
+            pre_tune_mode = txmode;
+            pre_tune_cw_internal = cw_keyer_internal;
+
+            //
+            // in USB/DIGU/DSB, tune 1000 Hz above carrier
+            // in LSB/DIGL,     tune 1000 Hz below carrier
+            // all other (CW, AM, FM): tune on carrier freq.
+            //
+            switch (txmode) {
+            case modeLSB:
+            case modeDIGL:
+                SetTXAPostGenToneFreq(transmitter->id, -(double)1000.0);
+                break;
+            case modeUSB:
+            case modeDSB:
+            case modeDIGU:
+                SetTXAPostGenToneFreq(transmitter->id, (double)1000.0);
+                break;
+            default:
+                SetTXAPostGenToneFreq(transmitter->id, (double)0.0);
+                break;
+            }
+
+            SetTXAPostGenToneMag(transmitter->id, 0.99999);
+            SetTXAPostGenMode(transmitter->id, 0);
+            SetTXAPostGenRun(transmitter->id, 1);
+
+            switch (txmode) {
+            case modeCWL:
+                cw_keyer_internal = 0;
+                tx_set_mode(transmitter, modeLSB);
+                break;
+            case modeCWU:
+                cw_keyer_internal = 0;
+                tx_set_mode(transmitter, modeUSB);
+                break;
+            }
+            rxtx(state);
+        } else {
+            rxtx(state);
+            SetTXAPostGenRun(transmitter->id, 0);
+            switch (pre_tune_mode) {
+            case modeCWL:
+            case modeCWU:
+                tx_set_mode(transmitter, pre_tune_mode);
+                cw_keyer_internal = pre_tune_cw_internal;
+                break;
+            }
+            if (transmitter->puresignal) {
+                //
+                // DL1YCF:
+                // Since we have done a "PS reset" when we started tuning,
+                // resume PS engine now.
+                //
+                SetPSControl(transmitter->id, 0, 0, 1, 0);
+            }
         }
-      }
+        tune = state;
     }
     if (protocol == NEW_PROTOCOL) {
-      schedule_high_priority();
-      // schedule_general();
+        schedule_high_priority();
+        schedule_receive_specific();
     }
-    if (state) {
-      if (!duplex) {
-        for (i = 0; i < receivers; i++) {
-          // Delivery of RX samples
-          // to WDSP via fexchange0() may come to an abrupt stop
-          // (especially with PURESIGNAL or DIVERSITY)
-          // Therefore, wait for *all* receivers to complete
-          // their slew-down before going TX.
-          SetChannelState(receiver[i]->id, 0, 1);
-          set_displaying(receiver[i], 0);
-          if (protocol == NEW_PROTOCOL) {
-            schedule_high_priority();
-          }
-        }
-      }
-
-      int txmode = get_tx_mode();
-      pre_tune_mode = txmode;
-      pre_tune_cw_internal = cw_keyer_internal;
-
-      //
-      // in USB/DIGU/DSB, tune 1000 Hz above carrier
-      // in LSB/DIGL,     tune 1000 Hz below carrier
-      // all other (CW, AM, FM): tune on carrier freq.
-      //
-      switch (txmode) {
-      case modeLSB:
-      case modeDIGL:
-        SetTXAPostGenToneFreq(transmitter->id, -(double)1000.0);
-        break;
-      case modeUSB:
-      case modeDSB:
-      case modeDIGU:
-        SetTXAPostGenToneFreq(transmitter->id, (double)1000.0);
-        break;
-      default:
-        SetTXAPostGenToneFreq(transmitter->id, (double)0.0);
-        break;
-      }
-
-      SetTXAPostGenToneMag(transmitter->id, 0.99999);
-      SetTXAPostGenMode(transmitter->id, 0);
-      SetTXAPostGenRun(transmitter->id, 1);
-
-      switch (txmode) {
-      case modeCWL:
-        cw_keyer_internal = 0;
-        tx_set_mode(transmitter, modeLSB);
-        break;
-      case modeCWU:
-        cw_keyer_internal = 0;
-        tx_set_mode(transmitter, modeUSB);
-        break;
-      }
-      rxtx(state);
-    } else {
-      rxtx(state);
-      SetTXAPostGenRun(transmitter->id, 0);
-      switch (pre_tune_mode) {
-      case modeCWL:
-      case modeCWU:
-        tx_set_mode(transmitter, pre_tune_mode);
-        cw_keyer_internal = pre_tune_cw_internal;
-        break;
-      }
-      if (transmitter->puresignal) {
-        //
-        // DL1YCF:
-        // Since we have done a "PS reset" when we started tuning,
-        // resume PS engine now.
-        //
-        SetPSControl(transmitter->id, 0, 0, 1, 0);
-      }
-    }
-    tune = state;
-  }
-  if (protocol == NEW_PROTOCOL) {
-    schedule_high_priority();
-    schedule_receive_specific();
-  }
 }
 
 int getTune() { return tune; }
@@ -1561,132 +1568,127 @@ int getTune() { return tune; }
 int isTransmitting() { return mox | vox | tune; }
 
 void setFrequency(long long f) {
-  int v = active_receiver->id;
-  vfo[v].band = get_band_from_frequency(f);
-
-  switch (protocol) {
-  case NEW_PROTOCOL:
-  case ORIGINAL_PROTOCOL:
-    if (vfo[v].ctun) {
-      long long minf =
-          vfo[v].frequency - (long long)(active_receiver->sample_rate / 2);
-      long long maxf =
-          vfo[v].frequency + (long long)(active_receiver->sample_rate / 2);
-      if (f < minf)
-        f = minf;
-      if (f > maxf)
-        f = maxf;
-      vfo[v].ctun_frequency = f;
-      vfo[v].offset = f - vfo[v].frequency;
-      set_offset(active_receiver, vfo[v].offset);
-      return;
-    } else {
-      vfo[v].frequency = f;
-    }
-    break;
-  }
-
-  switch (protocol) {
-  case NEW_PROTOCOL:
-    schedule_high_priority();
-    break;
-  case ORIGINAL_PROTOCOL:
-    break;
-  }
-}
+    int v = active_receiver->id;
+    vfo[v].band = get_band_from_frequency(f);
 
-long long getFrequency(void) {
-    return vfo[active_receiver->id].frequency;
-}
+    switch (protocol) {
+    case NEW_PROTOCOL:
+    case ORIGINAL_PROTOCOL:
+        if (vfo[v].ctun) {
+            long long minf = vfo[v].frequency -
+                             (long long)(active_receiver->sample_rate / 2);
+            long long maxf = vfo[v].frequency +
+                             (long long)(active_receiver->sample_rate / 2);
+            if (f < minf)
+                f = minf;
+            if (f > maxf)
+                f = maxf;
+            vfo[v].ctun_frequency = f;
+            vfo[v].offset = f - vfo[v].frequency;
+            set_offset(active_receiver, vfo[v].offset);
+            return;
+        } else {
+            vfo[v].frequency = f;
+        }
+        break;
+    }
 
-double getDrive(void) {
-    return transmitter->drive;
+    switch (protocol) {
+    case NEW_PROTOCOL:
+        schedule_high_priority();
+        break;
+    case ORIGINAL_PROTOCOL:
+        break;
+    }
 }
 
+long long getFrequency(void) { return vfo[active_receiver->id].frequency; }
+
+double getDrive(void) { return transmitter->drive; }
+
 static int calcLevel(double d) {
-  int level = 0;
-  int v = get_tx_vfo();
-
-  BAND *band = band_get_band(vfo[v].band);
-  double target_dbm_orig = 10.0 * log10(d * 1000.0);
-  double gbb = band->pa_calibration;
-  double target_dbm = target_dbm_orig - gbb;
-  double target_volts = sqrt(pow(10, target_dbm * 0.1) * 0.05);
-  double volts = min((target_volts / 0.8), 1.0);
-  double actual_volts = volts * (1.0 / 0.98);
-
-  /* printf("calcLevel: d = %f\n", d); */
-  /* printf("calcLevel: target_dbm_orig = %f\n", target_dbm_orig); */
-  /* printf("calcLevel: gbb = %f\n", gbb); */
-  /* printf("calcLevel: target_dbm = %f\n", target_dbm); */
-
-  if (actual_volts < 0.0) {
-    actual_volts = 0.0;
-  } else if (actual_volts > 1.0) {
-    actual_volts = 1.0;
-  }
-
-  level = (int)(actual_volts * 255.0);
-
-  return level;
+    int level = 0;
+    int v = get_tx_vfo();
+
+    BAND *band = band_get_band(vfo[v].band);
+    double target_dbm_orig = 10.0 * log10(d * 1000.0);
+    double gbb = band->pa_calibration;
+    double target_dbm = target_dbm_orig - gbb;
+    double target_volts = sqrt(pow(10, target_dbm * 0.1) * 0.05);
+    double volts = min((target_volts / 0.8), 1.0);
+    double actual_volts = volts * (1.0 / 0.98);
+
+    /* printf("calcLevel: d = %f\n", d); */
+    /* printf("calcLevel: target_dbm_orig = %f\n", target_dbm_orig); */
+    /* printf("calcLevel: gbb = %f\n", gbb); */
+    /* printf("calcLevel: target_dbm = %f\n", target_dbm); */
+
+    if (actual_volts < 0.0) {
+        actual_volts = 0.0;
+    } else if (actual_volts > 1.0) {
+        actual_volts = 1.0;
+    }
+
+    level = (int)(actual_volts * 255.0);
+
+    return level;
 }
 
 void calcDriveLevel() {
-  transmitter->drive_level = calcLevel(transmitter->drive);
-  if (isTransmitting() && protocol == NEW_PROTOCOL) {
-    schedule_high_priority();
-  }
-  // g_print("calcDriveLevel: drive=%d
-  // drive_level=%d\n",transmitter->drive,transmitter->drive_level);
+    transmitter->drive_level = calcLevel(transmitter->drive);
+    if (isTransmitting() && protocol == NEW_PROTOCOL) {
+        schedule_high_priority();
+    }
+    // g_print("calcDriveLevel: drive=%d
+    // drive_level=%d\n",transmitter->drive,transmitter->drive_level);
 }
 
 void setDrive(double value) {
-  transmitter->drive = value;
-  switch (protocol) {
-  case ORIGINAL_PROTOCOL:
-  case NEW_PROTOCOL:
-    calcDriveLevel();
-    break;
-  }
+    transmitter->drive = value;
+    switch (protocol) {
+    case ORIGINAL_PROTOCOL:
+    case NEW_PROTOCOL:
+        calcDriveLevel();
+        break;
+    }
 }
 
 double getTuneDrive() { return transmitter->tune_percent; }
 
 void setSquelch(RECEIVER *rx) {
-  double am_sq = ((rx->squelch / 100.0) * 160.0) - 160.0;
-  SetRXAAMSQThreshold(rx->id, am_sq);
-  SetRXAAMSQRun(rx->id, rx->squelch_enable);
+    double am_sq = ((rx->squelch / 100.0) * 160.0) - 160.0;
+    SetRXAAMSQThreshold(rx->id, am_sq);
+    SetRXAAMSQRun(rx->id, rx->squelch_enable);
 
-  double fm_sq = pow(10.0, -2.0 * rx->squelch / 100.0);
-  SetRXAFMSQThreshold(rx->id, fm_sq);
-  SetRXAFMSQRun(rx->id, rx->squelch_enable);
+    double fm_sq = pow(10.0, -2.0 * rx->squelch / 100.0);
+    SetRXAFMSQThreshold(rx->id, fm_sq);
+    SetRXAFMSQRun(rx->id, rx->squelch_enable);
 }
 
-void radio_set_rf_gain(RECEIVER *rx) {
-}
+void radio_set_rf_gain(RECEIVER *rx) {}
 
 void set_attenuation(int value) {
-  switch (protocol) {
-  case NEW_PROTOCOL:
-    schedule_high_priority();
-    break;
-  }
+    switch (protocol) {
+    case NEW_PROTOCOL:
+        schedule_high_priority();
+        break;
+    }
 }
 
 void set_alex_rx_antenna(int v) {
-  if (active_receiver->id == 0) {
-    active_receiver->alex_antenna = v;
-    if (protocol == NEW_PROTOCOL) {
-      schedule_high_priority();
+    if (active_receiver->id == 0) {
+        active_receiver->alex_antenna = v;
+        if (protocol == NEW_PROTOCOL) {
+            schedule_high_priority();
+        }
     }
-  }
 }
 
 void set_alex_tx_antenna(int v) {
-  transmitter->alex_antenna = v;
-  if (protocol == NEW_PROTOCOL) {
-    schedule_high_priority();
-  }
+    transmitter->alex_antenna = v;
+    if (protocol == NEW_PROTOCOL) {
+        schedule_high_priority();
+    }
 }
 
 //
@@ -1699,920 +1701,916 @@ void set_alex_tx_antenna(int v) {
 // 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;
-    if (protocol == NEW_PROTOCOL) {
-      schedule_high_priority();
+    if (active_receiver->id == 0) {
+        active_receiver->alex_attenuation = v;
+        if (protocol == NEW_PROTOCOL) {
+            schedule_high_priority();
+        }
     }
-  }
 }
 
 void radioRestoreState() {
-  char name[32];
-  char *value;
-  int i;
-
-  g_print("radioRestoreState: %s\n", property_path);
-  g_mutex_lock(&property_mutex);
-  loadProperties(property_path);
-
-  value = getProperty("display_filled");
-  if (value)
-    display_filled = atoi(value);
-  value = getProperty("display_gradient");
-  if (value)
-    display_gradient = atoi(value);
-  value = getProperty("display_zoompan");
-  if (value)
-    display_zoompan = atoi(value);
-  value = getProperty("display_sliders");
-  if (value)
-    display_sliders = atoi(value);
-  value = getProperty("display_toolbar");
-  if (value)
-    display_toolbar = atoi(value);
+    char name[32];
+    char *value;
+    int i;
 
-#ifdef CLIENT_SERVER
-  if (radio_is_remote) {
-#ifdef CLIENT_SERVER
-#endif
-  } else {
-#endif
+    g_print("radioRestoreState: %s\n", property_path);
+    g_mutex_lock(&property_mutex);
+    loadProperties(property_path);
 
-    value = getProperty("radio_sample_rate");
-    if (value)
-      radio_sample_rate = atoi(value);
-    value = getProperty("diversity_enabled");
-    if (value)
-      diversity_enabled = atoi(value);
-    value = getProperty("diversity_gain");
-    if (value)
-      div_gain = atof(value);
-    value = getProperty("diversity_phase");
-    if (value)
-      div_phase = atof(value);
-    value = getProperty("diversity_cos");
+    value = getProperty("display_filled");
     if (value)
-      div_cos = atof(value);
-    value = getProperty("diversity_sin");
+        display_filled = atoi(value);
+    value = getProperty("display_gradient");
     if (value)
-      div_sin = atof(value);
-    value = getProperty("new_pa_board");
+        display_gradient = atoi(value);
+    value = getProperty("display_zoompan");
     if (value)
-      new_pa_board = atoi(value);
-    value = getProperty("region");
+        display_zoompan = atoi(value);
+    value = getProperty("display_sliders");
     if (value)
-      region = atoi(value);
-    value = getProperty("buffer_size");
+        display_sliders = atoi(value);
+    value = getProperty("display_toolbar");
     if (value)
-      buffer_size = atoi(value);
-    value = getProperty("fft_size");
-    if (value)
-      fft_size = atoi(value);
-    value = getProperty("atlas_penelope");
-    if (value)
-      atlas_penelope = atoi(value);
-    value = getProperty("tx_out_of_band");
-    if (value)
-      tx_out_of_band = atoi(value);
-    value = getProperty("filter_board");
-    if (value)
-      filter_board = atoi(value);
-    value = getProperty("pa_enabled");
-    if (value)
-      pa_enabled = atoi(value);
-    value = getProperty("pa_power");
-    if (value)
-      pa_power = atoi(value);
-    for (i = 0; i < 11; i++) {
-      sprintf(name, "pa_trim[%d]", i);
-      value = getProperty(name);
-      if (value)
-        pa_trim[i] = atoi(value);
-    }
-    value = getProperty("updates_per_second");
-    if (value)
-      updates_per_second = atoi(value);
-    value = getProperty("display_detector_mode");
-    if (value)
-      display_detector_mode = atoi(value);
-    value = getProperty("display_average_mode");
-    if (value)
-      display_average_mode = atoi(value);
-    value = getProperty("display_average_time");
-    if (value)
-      display_average_time = atof(value);
-    value = getProperty("panadapter_high");
-    if (value)
-      panadapter_high = atoi(value);
-    value = getProperty("panadapter_low");
-    if (value)
-      panadapter_low = atoi(value);
-    value = getProperty("waterfall_high");
-    if (value)
-      waterfall_high = atoi(value);
-    value = getProperty("waterfall_low");
-    if (value)
-      waterfall_low = atoi(value);
-    value = getProperty("mic_gain");
-    if (value)
-      mic_gain = atof(value);
-    value = getProperty("mic_boost");
-    if (value)
-      mic_boost = atof(value);
-    value = getProperty("mic_linein");
-    if (value)
-      mic_linein = atoi(value);
-    value = getProperty("linein_gain");
-    if (value)
-      linein_gain = atoi(value);
-    value = getProperty("mic_ptt_enabled");
-    if (value)
-      mic_ptt_enabled = atof(value);
-    value = getProperty("mic_bias_enabled");
-    if (value)
-      mic_bias_enabled = atof(value);
-    value = getProperty("mic_ptt_tip_bias_ring");
-    if (value)
-      mic_ptt_tip_bias_ring = atof(value);
+        display_toolbar = atoi(value);
 
-    value = getProperty("tx_filter_low");
-    if (value)
-      tx_filter_low = atoi(value);
-    value = getProperty("tx_filter_high");
-    if (value)
-      tx_filter_high = atoi(value);
+#ifdef CLIENT_SERVER
+    if (radio_is_remote) {
+#ifdef CLIENT_SERVER
+#endif
+    } else {
+#endif
 
-    value = getProperty("step");
-    if (value)
-      step = atoll(value);
-    value = getProperty("cw_is_on_vfo_freq");
-    if (value)
-      cw_is_on_vfo_freq = atoi(value);
-    value = getProperty("cw_keys_reversed");
-    if (value)
-      cw_keys_reversed = atoi(value);
-    value = getProperty("cw_keyer_speed");
-    if (value) {
-      cw_keyer_speed = atoi(value);
+        value = getProperty("radio_sample_rate");
+        if (value)
+            radio_sample_rate = atoi(value);
+        value = getProperty("diversity_enabled");
+        if (value)
+            diversity_enabled = atoi(value);
+        value = getProperty("diversity_gain");
+        if (value)
+            div_gain = atof(value);
+        value = getProperty("diversity_phase");
+        if (value)
+            div_phase = atof(value);
+        value = getProperty("diversity_cos");
+        if (value)
+            div_cos = atof(value);
+        value = getProperty("diversity_sin");
+        if (value)
+            div_sin = atof(value);
+        value = getProperty("new_pa_board");
+        if (value)
+            new_pa_board = atoi(value);
+        value = getProperty("region");
+        if (value)
+            region = atoi(value);
+        value = getProperty("buffer_size");
+        if (value)
+            buffer_size = atoi(value);
+        value = getProperty("fft_size");
+        if (value)
+            fft_size = atoi(value);
+        value = getProperty("atlas_penelope");
+        if (value)
+            atlas_penelope = atoi(value);
+        value = getProperty("tx_out_of_band");
+        if (value)
+            tx_out_of_band = atoi(value);
+        value = getProperty("filter_board");
+        if (value)
+            filter_board = atoi(value);
+        value = getProperty("pa_enabled");
+        if (value)
+            pa_enabled = atoi(value);
+        value = getProperty("pa_power");
+        if (value)
+            pa_power = atoi(value);
+        for (i = 0; i < 11; i++) {
+            sprintf(name, "pa_trim[%d]", i);
+            value = getProperty(name);
+            if (value)
+                pa_trim[i] = atoi(value);
+        }
+        value = getProperty("updates_per_second");
+        if (value)
+            updates_per_second = atoi(value);
+        value = getProperty("display_detector_mode");
+        if (value)
+            display_detector_mode = atoi(value);
+        value = getProperty("display_average_mode");
+        if (value)
+            display_average_mode = atoi(value);
+        value = getProperty("display_average_time");
+        if (value)
+            display_average_time = atof(value);
+        value = getProperty("panadapter_high");
+        if (value)
+            panadapter_high = atoi(value);
+        value = getProperty("panadapter_low");
+        if (value)
+            panadapter_low = atoi(value);
+        value = getProperty("waterfall_high");
+        if (value)
+            waterfall_high = atoi(value);
+        value = getProperty("waterfall_low");
+        if (value)
+            waterfall_low = atoi(value);
+        value = getProperty("mic_gain");
+        if (value)
+            mic_gain = atof(value);
+        value = getProperty("mic_boost");
+        if (value)
+            mic_boost = atof(value);
+        value = getProperty("mic_linein");
+        if (value)
+            mic_linein = atoi(value);
+        value = getProperty("linein_gain");
+        if (value)
+            linein_gain = atoi(value);
+        value = getProperty("mic_ptt_enabled");
+        if (value)
+            mic_ptt_enabled = atof(value);
+        value = getProperty("mic_bias_enabled");
+        if (value)
+            mic_bias_enabled = atof(value);
+        value = getProperty("mic_ptt_tip_bias_ring");
+        if (value)
+            mic_ptt_tip_bias_ring = atof(value);
+
+        value = getProperty("tx_filter_low");
+        if (value)
+            tx_filter_low = atoi(value);
+        value = getProperty("tx_filter_high");
+        if (value)
+            tx_filter_high = atoi(value);
+
+        value = getProperty("step");
+        if (value)
+            step = atoll(value);
+        value = getProperty("cw_is_on_vfo_freq");
+        if (value)
+            cw_is_on_vfo_freq = atoi(value);
+        value = getProperty("cw_keys_reversed");
+        if (value)
+            cw_keys_reversed = atoi(value);
+        value = getProperty("cw_keyer_speed");
+        if (value) {
+            cw_keyer_speed = atoi(value);
 #ifdef MIDI
-      // if we have the midikeyer, set the speed to this value
-      midi_keyer_update();
+            // if we have the midikeyer, set the speed to this value
+            midi_keyer_update();
 #endif
-    }
-    value = getProperty("cw_keyer_mode");
-    if (value)
-      cw_keyer_mode = atoi(value);
-    value = getProperty("cw_keyer_weight");
-    if (value)
-      cw_keyer_weight = atoi(value);
-    value = getProperty("cw_keyer_spacing");
-    if (value)
-      cw_keyer_spacing = atoi(value);
+        }
+        value = getProperty("cw_keyer_mode");
+        if (value)
+            cw_keyer_mode = atoi(value);
+        value = getProperty("cw_keyer_weight");
+        if (value)
+            cw_keyer_weight = atoi(value);
+        value = getProperty("cw_keyer_spacing");
+        if (value)
+            cw_keyer_spacing = atoi(value);
 #ifdef LOCALCW
-    value = getProperty("cw_keyer_internal");
-    if (value)
-      cw_keyer_internal = atoi(value);
+        value = getProperty("cw_keyer_internal");
+        if (value)
+            cw_keyer_internal = atoi(value);
 
-    value = getProperty("cw_keyer_midi");
-    if (value)
-      cw_keyer_midi = atoi(value);
+        value = getProperty("cw_keyer_midi");
+        if (value)
+            cw_keyer_midi = atoi(value);
 
 #endif
-    value = getProperty("cw_keyer_sidetone_volume");
-    if (value)
-      cw_keyer_sidetone_volume = atoi(value);
-    value = getProperty("cw_keyer_ptt_delay");
-    if (value)
-      cw_keyer_ptt_delay = atoi(value);
-    value = getProperty("cw_keyer_hang_time");
-    if (value)
-      cw_keyer_hang_time = atoi(value);
-    value = getProperty("cw_keyer_sidetone_frequency");
-    if (value)
-      cw_keyer_sidetone_frequency = atoi(value);
-    value = getProperty("cw_breakin");
-    if (value)
-      cw_breakin = atoi(value);
-    value = getProperty("vfo_encoder_divisor");
-    if (value)
-      vfo_encoder_divisor = atoi(value);
-    value = getProperty("OCtune");
-    if (value)
-      OCtune = atoi(value);
-    value = getProperty("OCfull_tune_time");
-    if (value)
-      OCfull_tune_time = atoi(value);
-    value = getProperty("OCmemory_tune_time");
-    if (value)
-      OCmemory_tune_time = atoi(value);
-    value = getProperty("analog_meter");
-    if (value)
-      analog_meter = atoi(value);
-    value = getProperty("smeter");
-    if (value)
-      smeter = atoi(value);
-    value = getProperty("alc");
-    if (value)
-      alc = atoi(value);
+        value = getProperty("cw_keyer_sidetone_volume");
+        if (value)
+            cw_keyer_sidetone_volume = atoi(value);
+        value = getProperty("cw_keyer_ptt_delay");
+        if (value)
+            cw_keyer_ptt_delay = atoi(value);
+        value = getProperty("cw_keyer_hang_time");
+        if (value)
+            cw_keyer_hang_time = atoi(value);
+        value = getProperty("cw_keyer_sidetone_frequency");
+        if (value)
+            cw_keyer_sidetone_frequency = atoi(value);
+        value = getProperty("cw_breakin");
+        if (value)
+            cw_breakin = atoi(value);
+        value = getProperty("vfo_encoder_divisor");
+        if (value)
+            vfo_encoder_divisor = atoi(value);
+        value = getProperty("OCtune");
+        if (value)
+            OCtune = atoi(value);
+        value = getProperty("OCfull_tune_time");
+        if (value)
+            OCfull_tune_time = atoi(value);
+        value = getProperty("OCmemory_tune_time");
+        if (value)
+            OCmemory_tune_time = atoi(value);
+        value = getProperty("analog_meter");
+        if (value)
+            analog_meter = atoi(value);
+        value = getProperty("smeter");
+        if (value)
+            smeter = atoi(value);
+        value = getProperty("alc");
+        if (value)
+            alc = atoi(value);
 #ifdef OLD_AUDIO
-    value = getProperty("local_audio");
-    if (value)
-      local_audio = atoi(value);
-    value = getProperty("n_selected_output_device");
-    if (value)
-      n_selected_output_device = atoi(value);
+        value = getProperty("local_audio");
+        if (value)
+            local_audio = atoi(value);
+        value = getProperty("n_selected_output_device");
+        if (value)
+            n_selected_output_device = atoi(value);
 #endif
-    value = getProperty("local_microphone");
-    if (value)
-      local_microphone = atoi(value);
-    //    value=getProperty("n_selected_input_device");
-    //    if(value) n_selected_input_device=atoi(value);
-    value = getProperty("enable_tx_equalizer");
-    if (value)
-      enable_tx_equalizer = atoi(value);
-    value = getProperty("tx_equalizer.0");
-    if (value)
-      tx_equalizer[0] = atoi(value);
-    value = getProperty("tx_equalizer.1");
-    if (value)
-      tx_equalizer[1] = atoi(value);
-    value = getProperty("tx_equalizer.2");
-    if (value)
-      tx_equalizer[2] = atoi(value);
-    value = getProperty("tx_equalizer.3");
-    if (value)
-      tx_equalizer[3] = atoi(value);
-    value = getProperty("enable_rx_equalizer");
-    if (value)
-      enable_rx_equalizer = atoi(value);
-    value = getProperty("rx_equalizer.0");
-    if (value)
-      rx_equalizer[0] = atoi(value);
-    value = getProperty("rx_equalizer.1");
-    if (value)
-      rx_equalizer[1] = atoi(value);
-    value = getProperty("rx_equalizer.2");
-    if (value)
-      rx_equalizer[2] = atoi(value);
-    value = getProperty("rx_equalizer.3");
-    if (value)
-      rx_equalizer[3] = atoi(value);
-    value = getProperty("rit_increment");
-    if (value)
-      rit_increment = atoi(value);
-    value = getProperty("pre_emphasize");
-    if (value)
-      pre_emphasize = atoi(value);
-
-    value = getProperty("vox_enabled");
-    if (value)
-      vox_enabled = atoi(value);
-    value = getProperty("vox_threshold");
-    if (value)
-      vox_threshold = atof(value);
-    /*
-        value=getProperty("vox_gain");
-        if(value) vox_gain=atof(value);
-    */
-    value = getProperty("vox_hang");
-    if (value)
-      vox_hang = atof(value);
-
-    value = getProperty("binaural");
-    if (value)
-      binaural = atoi(value);
-
-    value = getProperty("calibration");
-    if (value)
-      calibration = atoll(value);
-
-    value = getProperty("frequencyB");
-    if (value)
-      frequencyB = atoll(value);
-
-    value = getProperty("modeB");
-    if (value)
-      modeB = atoi(value);
-
-    value = getProperty("filterB");
-    if (value)
-      filterB = atoi(value);
-
-    value = getProperty("tone_level");
-    if (value)
-      tone_level = atof(value);
-
-    value = getProperty("receivers");
-    if (value)
-      receivers = atoi(value);
-
-    value = getProperty("iqswap");
-    if (value)
-      iqswap = atoi(value);
-
-    value = getProperty("rx_gain_calibration");
-    if (value)
-      rx_gain_calibration = atoi(value);
-
-    filterRestoreState();
-    bandRestoreState();
-    memRestoreState();
-    vfo_restore_state();
-    modesettings_restore_state();
-    gpio_restore_actions();
-    value = getProperty("rigctl_enable");
-    if (value)
-      rigctl_enable = atoi(value);
-    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);
-    value = getProperty("duplex");
-    if (value)
-      duplex = atoi(value);
-    value = getProperty("sat_mode");
-    if (value)
-      sat_mode = atoi(value);
-    value = getProperty("mute_rx_while_transmitting");
-    if (value)
-      mute_rx_while_transmitting = atoi(value);
-
-    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);
-
-
-    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);
-
-
-      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);
-    }
+        value = getProperty("local_microphone");
+        if (value)
+            local_microphone = atoi(value);
+        //    value=getProperty("n_selected_input_device");
+        //    if(value) n_selected_input_device=atoi(value);
+        value = getProperty("enable_tx_equalizer");
+        if (value)
+            enable_tx_equalizer = atoi(value);
+        value = getProperty("tx_equalizer.0");
+        if (value)
+            tx_equalizer[0] = atoi(value);
+        value = getProperty("tx_equalizer.1");
+        if (value)
+            tx_equalizer[1] = atoi(value);
+        value = getProperty("tx_equalizer.2");
+        if (value)
+            tx_equalizer[2] = atoi(value);
+        value = getProperty("tx_equalizer.3");
+        if (value)
+            tx_equalizer[3] = atoi(value);
+        value = getProperty("enable_rx_equalizer");
+        if (value)
+            enable_rx_equalizer = atoi(value);
+        value = getProperty("rx_equalizer.0");
+        if (value)
+            rx_equalizer[0] = atoi(value);
+        value = getProperty("rx_equalizer.1");
+        if (value)
+            rx_equalizer[1] = atoi(value);
+        value = getProperty("rx_equalizer.2");
+        if (value)
+            rx_equalizer[2] = atoi(value);
+        value = getProperty("rx_equalizer.3");
+        if (value)
+            rx_equalizer[3] = atoi(value);
+        value = getProperty("rit_increment");
+        if (value)
+            rit_increment = atoi(value);
+        value = getProperty("pre_emphasize");
+        if (value)
+            pre_emphasize = atoi(value);
+
+        value = getProperty("vox_enabled");
+        if (value)
+            vox_enabled = atoi(value);
+        value = getProperty("vox_threshold");
+        if (value)
+            vox_threshold = atof(value);
+        /*
+            value=getProperty("vox_gain");
+            if(value) vox_gain=atof(value);
+        */
+        value = getProperty("vox_hang");
+        if (value)
+            vox_hang = atof(value);
+
+        value = getProperty("binaural");
+        if (value)
+            binaural = atoi(value);
+
+        value = getProperty("calibration");
+        if (value)
+            calibration = atoll(value);
+
+        value = getProperty("frequencyB");
+        if (value)
+            frequencyB = atoll(value);
+
+        value = getProperty("modeB");
+        if (value)
+            modeB = atoi(value);
+
+        value = getProperty("filterB");
+        if (value)
+            filterB = atoi(value);
+
+        value = getProperty("tone_level");
+        if (value)
+            tone_level = atof(value);
+
+        value = getProperty("receivers");
+        if (value)
+            receivers = atoi(value);
+
+        value = getProperty("iqswap");
+        if (value)
+            iqswap = atoi(value);
+
+        value = getProperty("rx_gain_calibration");
+        if (value)
+            rx_gain_calibration = atoi(value);
+
+        filterRestoreState();
+        bandRestoreState();
+        memRestoreState();
+        vfo_restore_state();
+        modesettings_restore_state();
+        gpio_restore_actions();
+        value = getProperty("rigctl_enable");
+        if (value)
+            rigctl_enable = atoi(value);
+        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);
+        value = getProperty("duplex");
+        if (value)
+            duplex = atoi(value);
+        value = getProperty("sat_mode");
+        if (value)
+            sat_mode = atoi(value);
+        value = getProperty("mute_rx_while_transmitting");
+        if (value)
+            mute_rx_while_transmitting = atoi(value);
+
+        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);
+
+        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);
+
+            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");
-    if (value)
-      midi_enabled = atoi(value);
+        midi_restore_state();
+        value = getProperty("radio.midi_enabled");
+        if (value)
+            midi_enabled = atoi(value);
 #endif
 
-    value = getProperty("radio.display_sequence_errors");
-    if (value != NULL)
-      display_sequence_errors = atoi(value);
+        value = getProperty("radio.display_sequence_errors");
+        if (value != NULL)
+            display_sequence_errors = atoi(value);
 
 #ifdef CLIENT_SERVER
-  }
+    }
 #endif
 
 #ifdef CLIENT_SERVER
-  value = getProperty("radio.hpsdr_server");
-  if (value != NULL)
-    hpsdr_server = atoi(value);
-  value = getProperty("radio.hpsdr_server.listen_port");
-  if (value != NULL)
-    listen_port = atoi(value);
+    value = getProperty("radio.hpsdr_server");
+    if (value != NULL)
+        hpsdr_server = atoi(value);
+    value = getProperty("radio.hpsdr_server.listen_port");
+    if (value != NULL)
+        listen_port = atoi(value);
 #endif
 
-  g_mutex_unlock(&property_mutex);
+    g_mutex_unlock(&property_mutex);
 }
 
 void radioSaveState() {
-  int i;
-  char value[80];
-  char name[32];
-
-  g_print("radioSaveState: %s\n", property_path);
-
-  g_mutex_lock(&property_mutex);
-  clearProperties();
-  gpio_save_actions();
-  sprintf(value, "%d", receivers);
-  setProperty("receivers", value);
-  for (i = 0; i < receivers; i++) {
-    receiver_save_state(receiver[i]);
-  }
-
-  sprintf(value, "%d", display_filled);
-  setProperty("display_filled", value);
-  sprintf(value, "%d", display_gradient);
-  setProperty("display_gradient", value);
-  sprintf(value, "%d", display_zoompan);
-  setProperty("display_zoompan", value);
-  sprintf(value, "%d", display_sliders);
-  setProperty("display_sliders", value);
-  sprintf(value, "%d", display_toolbar);
-  setProperty("display_toolbar", value);
-
-  if (can_transmit) {
+    int i;
+    char value[80];
+    char name[32];
+
+    g_print("radioSaveState: %s\n", property_path);
+
+    g_mutex_lock(&property_mutex);
+    clearProperties();
+    gpio_save_actions();
+    sprintf(value, "%d", receivers);
+    setProperty("receivers", value);
+    for (i = 0; i < receivers; i++) {
+        receiver_save_state(receiver[i]);
+    }
+
+    sprintf(value, "%d", display_filled);
+    setProperty("display_filled", value);
+    sprintf(value, "%d", display_gradient);
+    setProperty("display_gradient", value);
+    sprintf(value, "%d", display_zoompan);
+    setProperty("display_zoompan", value);
+    sprintf(value, "%d", display_sliders);
+    setProperty("display_sliders", value);
+    sprintf(value, "%d", display_toolbar);
+    setProperty("display_toolbar", value);
+
+    if (can_transmit) {
 #ifdef PURESIGNAL
-    // The only variables of interest in this receiver are
-    // the alex_antenna an the adc
-    receiver_save_state(receiver[PS_RX_FEEDBACK]);
+        // The only variables of interest in this receiver are
+        // the alex_antenna an the adc
+        receiver_save_state(receiver[PS_RX_FEEDBACK]);
 #endif
-    transmitter_save_state(transmitter);
-  }
+        transmitter_save_state(transmitter);
+    }
 
 #ifdef CLIENT_SERVER
-  if (!radio_is_remote) {
+    if (!radio_is_remote) {
 #endif
-    sprintf(value, "%d", radio_sample_rate);
-    setProperty("radio_sample_rate", value);
-    sprintf(value, "%d", diversity_enabled);
-    setProperty("diversity_enabled", value);
-    sprintf(value, "%f", div_gain);
-    setProperty("diversity_gain", value);
-    sprintf(value, "%f", div_phase);
-    setProperty("diversity_phase", value);
-    sprintf(value, "%f", div_cos);
-    setProperty("diversity_cos", value);
-    sprintf(value, "%f", div_sin);
-    setProperty("diversity_sin", value);
-    sprintf(value, "%d", new_pa_board);
-    setProperty("new_pa_board", value);
-    sprintf(value, "%d", region);
-    setProperty("region", value);
-    sprintf(value, "%d", buffer_size);
-    setProperty("buffer_size", value);
-    sprintf(value, "%d", fft_size);
-    setProperty("fft_size", value);
-    sprintf(value, "%d", atlas_penelope);
-    setProperty("atlas_penelope", value);
-    sprintf(value, "%d", filter_board);
-    setProperty("filter_board", value);
-    sprintf(value, "%d", tx_out_of_band);
-    setProperty("tx_out_of_band", value);
-    sprintf(value, "%d", updates_per_second);
-    setProperty("updates_per_second", value);
-    sprintf(value, "%d", display_detector_mode);
-    setProperty("display_detector_mode", value);
-    sprintf(value, "%d", display_average_mode);
-    setProperty("display_average_mode", value);
-    sprintf(value, "%f", display_average_time);
-    setProperty("display_average_time", value);
-    sprintf(value, "%d", panadapter_high);
-    setProperty("panadapter_high", value);
-    sprintf(value, "%d", panadapter_low);
-    setProperty("panadapter_low", value);
-    sprintf(value, "%d", waterfall_high);
-    setProperty("waterfall_high", value);
-    sprintf(value, "%d", waterfall_low);
-    setProperty("waterfall_low", value);
-    sprintf(value, "%f", mic_gain);
-    setProperty("mic_gain", value);
-    sprintf(value, "%d", mic_boost);
-    setProperty("mic_boost", value);
-    sprintf(value, "%d", mic_linein);
-    setProperty("mic_linein", value);
-    sprintf(value, "%d", linein_gain);
-    setProperty("linein_gain", value);
-    sprintf(value, "%d", mic_ptt_enabled);
-    setProperty("mic_ptt_enabled", value);
-    sprintf(value, "%d", mic_bias_enabled);
-    setProperty("mic_bias_enabled", value);
-    sprintf(value, "%d", mic_ptt_tip_bias_ring);
-    setProperty("mic_ptt_tip_bias_ring", value);
-    sprintf(value, "%d", tx_filter_low);
-    setProperty("tx_filter_low", value);
-    sprintf(value, "%d", tx_filter_high);
-    setProperty("tx_filter_high", value);
-    sprintf(value, "%d", pa_enabled);
-    setProperty("pa_enabled", value);
-    sprintf(value, "%d", pa_power);
-    setProperty("pa_power", value);
-    for (i = 0; i < 11; i++) {
-      sprintf(name, "pa_trim[%d]", i);
-      sprintf(value, "%d", pa_trim[i]);
-      setProperty(name, value);
-    }
-
-    sprintf(value, "%lld", step);
-    setProperty("step", value);
-    sprintf(value, "%d", cw_is_on_vfo_freq);
-    setProperty("cw_is_on_vfo_freq", value);
-    sprintf(value, "%d", cw_keys_reversed);
-    setProperty("cw_keys_reversed", value);
-    sprintf(value, "%d", cw_keyer_speed);
-    setProperty("cw_keyer_speed", value);
-    sprintf(value, "%d", cw_keyer_mode);
-    setProperty("cw_keyer_mode", value);
-    sprintf(value, "%d", cw_keyer_weight);
-    setProperty("cw_keyer_weight", value);
-    sprintf(value, "%d", cw_keyer_spacing);
-    setProperty("cw_keyer_spacing", value);
-    sprintf(value, "%d", cw_keyer_internal);
-    setProperty("cw_keyer_internal", value);
-
-    sprintf(value, "%d", cw_keyer_midi);
-    setProperty("cw_keyer_midi", value);
-
-    sprintf(value, "%d", cw_keyer_sidetone_volume);
-    setProperty("cw_keyer_sidetone_volume", value);
-    sprintf(value, "%d", cw_keyer_ptt_delay);
-    setProperty("cw_keyer_ptt_delay", value);
-    sprintf(value, "%d", cw_keyer_hang_time);
-    setProperty("cw_keyer_hang_time", value);
-    sprintf(value, "%d", cw_keyer_sidetone_frequency);
-    setProperty("cw_keyer_sidetone_frequency", value);
-    sprintf(value, "%d", cw_breakin);
-    setProperty("cw_breakin", value);
-    sprintf(value, "%d", vfo_encoder_divisor);
-    setProperty("vfo_encoder_divisor", value);
-    sprintf(value, "%d", OCtune);
-    setProperty("OCtune", value);
-    sprintf(value, "%d", OCfull_tune_time);
-    setProperty("OCfull_tune_time", value);
-    sprintf(value, "%d", OCmemory_tune_time);
-    setProperty("OCmemory_tune_time", value);
-    sprintf(value, "%d", analog_meter);
-    setProperty("analog_meter", value);
-    sprintf(value, "%d", smeter);
-    setProperty("smeter", value);
-    sprintf(value, "%d", alc);
-    setProperty("alc", value);
+        sprintf(value, "%d", radio_sample_rate);
+        setProperty("radio_sample_rate", value);
+        sprintf(value, "%d", diversity_enabled);
+        setProperty("diversity_enabled", value);
+        sprintf(value, "%f", div_gain);
+        setProperty("diversity_gain", value);
+        sprintf(value, "%f", div_phase);
+        setProperty("diversity_phase", value);
+        sprintf(value, "%f", div_cos);
+        setProperty("diversity_cos", value);
+        sprintf(value, "%f", div_sin);
+        setProperty("diversity_sin", value);
+        sprintf(value, "%d", new_pa_board);
+        setProperty("new_pa_board", value);
+        sprintf(value, "%d", region);
+        setProperty("region", value);
+        sprintf(value, "%d", buffer_size);
+        setProperty("buffer_size", value);
+        sprintf(value, "%d", fft_size);
+        setProperty("fft_size", value);
+        sprintf(value, "%d", atlas_penelope);
+        setProperty("atlas_penelope", value);
+        sprintf(value, "%d", filter_board);
+        setProperty("filter_board", value);
+        sprintf(value, "%d", tx_out_of_band);
+        setProperty("tx_out_of_band", value);
+        sprintf(value, "%d", updates_per_second);
+        setProperty("updates_per_second", value);
+        sprintf(value, "%d", display_detector_mode);
+        setProperty("display_detector_mode", value);
+        sprintf(value, "%d", display_average_mode);
+        setProperty("display_average_mode", value);
+        sprintf(value, "%f", display_average_time);
+        setProperty("display_average_time", value);
+        sprintf(value, "%d", panadapter_high);
+        setProperty("panadapter_high", value);
+        sprintf(value, "%d", panadapter_low);
+        setProperty("panadapter_low", value);
+        sprintf(value, "%d", waterfall_high);
+        setProperty("waterfall_high", value);
+        sprintf(value, "%d", waterfall_low);
+        setProperty("waterfall_low", value);
+        sprintf(value, "%f", mic_gain);
+        setProperty("mic_gain", value);
+        sprintf(value, "%d", mic_boost);
+        setProperty("mic_boost", value);
+        sprintf(value, "%d", mic_linein);
+        setProperty("mic_linein", value);
+        sprintf(value, "%d", linein_gain);
+        setProperty("linein_gain", value);
+        sprintf(value, "%d", mic_ptt_enabled);
+        setProperty("mic_ptt_enabled", value);
+        sprintf(value, "%d", mic_bias_enabled);
+        setProperty("mic_bias_enabled", value);
+        sprintf(value, "%d", mic_ptt_tip_bias_ring);
+        setProperty("mic_ptt_tip_bias_ring", value);
+        sprintf(value, "%d", tx_filter_low);
+        setProperty("tx_filter_low", value);
+        sprintf(value, "%d", tx_filter_high);
+        setProperty("tx_filter_high", value);
+        sprintf(value, "%d", pa_enabled);
+        setProperty("pa_enabled", value);
+        sprintf(value, "%d", pa_power);
+        setProperty("pa_power", value);
+        for (i = 0; i < 11; i++) {
+            sprintf(name, "pa_trim[%d]", i);
+            sprintf(value, "%d", pa_trim[i]);
+            setProperty(name, value);
+        }
+
+        sprintf(value, "%lld", step);
+        setProperty("step", value);
+        sprintf(value, "%d", cw_is_on_vfo_freq);
+        setProperty("cw_is_on_vfo_freq", value);
+        sprintf(value, "%d", cw_keys_reversed);
+        setProperty("cw_keys_reversed", value);
+        sprintf(value, "%d", cw_keyer_speed);
+        setProperty("cw_keyer_speed", value);
+        sprintf(value, "%d", cw_keyer_mode);
+        setProperty("cw_keyer_mode", value);
+        sprintf(value, "%d", cw_keyer_weight);
+        setProperty("cw_keyer_weight", value);
+        sprintf(value, "%d", cw_keyer_spacing);
+        setProperty("cw_keyer_spacing", value);
+        sprintf(value, "%d", cw_keyer_internal);
+        setProperty("cw_keyer_internal", value);
+
+        sprintf(value, "%d", cw_keyer_midi);
+        setProperty("cw_keyer_midi", value);
+
+        sprintf(value, "%d", cw_keyer_sidetone_volume);
+        setProperty("cw_keyer_sidetone_volume", value);
+        sprintf(value, "%d", cw_keyer_ptt_delay);
+        setProperty("cw_keyer_ptt_delay", value);
+        sprintf(value, "%d", cw_keyer_hang_time);
+        setProperty("cw_keyer_hang_time", value);
+        sprintf(value, "%d", cw_keyer_sidetone_frequency);
+        setProperty("cw_keyer_sidetone_frequency", value);
+        sprintf(value, "%d", cw_breakin);
+        setProperty("cw_breakin", value);
+        sprintf(value, "%d", vfo_encoder_divisor);
+        setProperty("vfo_encoder_divisor", value);
+        sprintf(value, "%d", OCtune);
+        setProperty("OCtune", value);
+        sprintf(value, "%d", OCfull_tune_time);
+        setProperty("OCfull_tune_time", value);
+        sprintf(value, "%d", OCmemory_tune_time);
+        setProperty("OCmemory_tune_time", value);
+        sprintf(value, "%d", analog_meter);
+        setProperty("analog_meter", value);
+        sprintf(value, "%d", smeter);
+        setProperty("smeter", value);
+        sprintf(value, "%d", alc);
+        setProperty("alc", value);
 #ifdef OLD_AUDIO
-    sprintf(value, "%d", local_audio);
-    setProperty("local_audio", value);
-    sprintf(value, "%d", n_selected_output_device);
-    setProperty("n_selected_output_device", value);
+        sprintf(value, "%d", local_audio);
+        setProperty("local_audio", value);
+        sprintf(value, "%d", n_selected_output_device);
+        setProperty("n_selected_output_device", value);
 #endif
-    sprintf(value, "%d", local_microphone);
-    setProperty("local_microphone", value);
-
-    sprintf(value, "%d", enable_tx_equalizer);
-    setProperty("enable_tx_equalizer", value);
-    sprintf(value, "%d", tx_equalizer[0]);
-    setProperty("tx_equalizer.0", value);
-    sprintf(value, "%d", tx_equalizer[1]);
-    setProperty("tx_equalizer.1", value);
-    sprintf(value, "%d", tx_equalizer[2]);
-    setProperty("tx_equalizer.2", value);
-    sprintf(value, "%d", tx_equalizer[3]);
-    setProperty("tx_equalizer.3", value);
-    sprintf(value, "%d", enable_rx_equalizer);
-    setProperty("enable_rx_equalizer", value);
-    sprintf(value, "%d", rx_equalizer[0]);
-    setProperty("rx_equalizer.0", value);
-    sprintf(value, "%d", rx_equalizer[1]);
-    setProperty("rx_equalizer.1", value);
-    sprintf(value, "%d", rx_equalizer[2]);
-    setProperty("rx_equalizer.2", value);
-    sprintf(value, "%d", rx_equalizer[3]);
-    setProperty("rx_equalizer.3", value);
-    sprintf(value, "%d", rit_increment);
-    setProperty("rit_increment", value);
-    sprintf(value, "%d", pre_emphasize);
-    setProperty("pre_emphasize", value);
-
-    sprintf(value, "%d", vox_enabled);
-    setProperty("vox_enabled", value);
-    sprintf(value, "%f", vox_threshold);
-    setProperty("vox_threshold", value);
-    sprintf(value, "%f", vox_hang);
-    setProperty("vox_hang", value);
-
-    sprintf(value, "%d", binaural);
-    setProperty("binaural", value);
-
-    sprintf(value, "%lld", calibration);
-    setProperty("calibration", value);
-
-    sprintf(value, "%lld", frequencyB);
-    setProperty("frequencyB", value);
-    sprintf(value, "%d", modeB);
-    setProperty("modeB", value);
-    sprintf(value, "%d", filterB);
-    setProperty("filterB", value);
-
-    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);
-
-    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);
-
-
-    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);
-
-
-      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", local_microphone);
+        setProperty("local_microphone", value);
+
+        sprintf(value, "%d", enable_tx_equalizer);
+        setProperty("enable_tx_equalizer", value);
+        sprintf(value, "%d", tx_equalizer[0]);
+        setProperty("tx_equalizer.0", value);
+        sprintf(value, "%d", tx_equalizer[1]);
+        setProperty("tx_equalizer.1", value);
+        sprintf(value, "%d", tx_equalizer[2]);
+        setProperty("tx_equalizer.2", value);
+        sprintf(value, "%d", tx_equalizer[3]);
+        setProperty("tx_equalizer.3", value);
+        sprintf(value, "%d", enable_rx_equalizer);
+        setProperty("enable_rx_equalizer", value);
+        sprintf(value, "%d", rx_equalizer[0]);
+        setProperty("rx_equalizer.0", value);
+        sprintf(value, "%d", rx_equalizer[1]);
+        setProperty("rx_equalizer.1", value);
+        sprintf(value, "%d", rx_equalizer[2]);
+        setProperty("rx_equalizer.2", value);
+        sprintf(value, "%d", rx_equalizer[3]);
+        setProperty("rx_equalizer.3", value);
+        sprintf(value, "%d", rit_increment);
+        setProperty("rit_increment", value);
+        sprintf(value, "%d", pre_emphasize);
+        setProperty("pre_emphasize", value);
+
+        sprintf(value, "%d", vox_enabled);
+        setProperty("vox_enabled", value);
+        sprintf(value, "%f", vox_threshold);
+        setProperty("vox_threshold", value);
+        sprintf(value, "%f", vox_hang);
+        setProperty("vox_hang", value);
+
+        sprintf(value, "%d", binaural);
+        setProperty("binaural", value);
+
+        sprintf(value, "%lld", calibration);
+        setProperty("calibration", value);
+
+        sprintf(value, "%lld", frequencyB);
+        setProperty("frequencyB", value);
+        sprintf(value, "%d", modeB);
+        setProperty("modeB", value);
+        sprintf(value, "%d", filterB);
+        setProperty("filterB", value);
+
+        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);
+
+        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);
+
+        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);
+
+            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);
+        sprintf(value, "%d", receivers);
+        setProperty("receivers", value);
 
-    sprintf(value, "%d", iqswap);
-    setProperty("iqswap", value);
+        sprintf(value, "%d", iqswap);
+        setProperty("iqswap", value);
 
 #ifdef CLIENT_SERVER
-    sprintf(value, "%d", hpsdr_server);
-    setProperty("radio.hpsdr_server", value);
-    sprintf(value, "%d", listen_port);
-    setProperty("radio.hpsdr_server.listen_port", value);
+        sprintf(value, "%d", hpsdr_server);
+        setProperty("radio.hpsdr_server", value);
+        sprintf(value, "%d", listen_port);
+        setProperty("radio.hpsdr_server.listen_port", value);
 #endif
 
-    vfo_save_state();
-    modesettings_save_state();
-
-    sprintf(value, "%d", duplex);
-    setProperty("duplex", value);
-    sprintf(value, "%d", split);
-    setProperty("split", value);
-    sprintf(value, "%d", sat_mode);
-    setProperty("sat_mode", value);
-    sprintf(value, "%d", mute_rx_while_transmitting);
-    setProperty("mute_rx_while_transmitting", value);
-
-    filterSaveState();
-    bandSaveState();
-    memSaveState();
-
-    sprintf(value, "%d", rigctl_enable);
-    setProperty("rigctl_enable", value);
-    sprintf(value, "%d", rigctl_port_base);
-    setProperty("rigctl_port_base", value);
-
-    sprintf(value, "%d", display_sequence_errors);
-    setProperty("radio.display_sequence_errors", value);
+        vfo_save_state();
+        modesettings_save_state();
+
+        sprintf(value, "%d", duplex);
+        setProperty("duplex", value);
+        sprintf(value, "%d", split);
+        setProperty("split", value);
+        sprintf(value, "%d", sat_mode);
+        setProperty("sat_mode", value);
+        sprintf(value, "%d", mute_rx_while_transmitting);
+        setProperty("mute_rx_while_transmitting", value);
+
+        filterSaveState();
+        bandSaveState();
+        memSaveState();
+
+        sprintf(value, "%d", rigctl_enable);
+        setProperty("rigctl_enable", value);
+        sprintf(value, "%d", rigctl_port_base);
+        setProperty("rigctl_port_base", value);
+
+        sprintf(value, "%d", display_sequence_errors);
+        setProperty("radio.display_sequence_errors", value);
 #ifdef CLIENT_SERVER
-  }
+    }
 #endif
 
 #ifdef MIDI
-  sprintf(value, "%d", midi_enabled);
-  setProperty("radio.midi_enabled", value);
-  midi_save_state();
+    sprintf(value, "%d", midi_enabled);
+    setProperty("radio.midi_enabled", value);
+    midi_save_state();
 #endif
-  
-  saveProperties(property_path);
-  g_mutex_unlock(&property_mutex);
+
+    saveProperties(property_path);
+    g_mutex_unlock(&property_mutex);
 }
 
 void calculate_display_average(RECEIVER *rx) {
-  double display_avb;
-  int display_average;
-
-  double t = 0.001 * display_average_time;
-  display_avb = exp(-1.0 / ((double)rx->fps * t));
-  display_average = max(2, (int)fmin(60, (double)rx->fps * t));
-  SetDisplayAvBackmult(rx->id, 0, display_avb);
-  SetDisplayNumAverage(rx->id, 0, display_average);
+    double display_avb;
+    int display_average;
+
+    double t = 0.001 * display_average_time;
+    display_avb = exp(-1.0 / ((double)rx->fps * t));
+    display_average = max(2, (int)fmin(60, (double)rx->fps * t));
+    SetDisplayAvBackmult(rx->id, 0, display_avb);
+    SetDisplayNumAverage(rx->id, 0, display_average);
 }
 
 void set_filter_type(int filter_type) {
-  int i;
-
-  // g_print("set_filter_type: %d\n",filter_type);
-  for (i = 0; i < RECEIVERS; i++) {
-    receiver[i]->low_latency = filter_type;
-    RXASetMP(receiver[i]->id, filter_type);
-  }
-  transmitter->low_latency = filter_type;
-  TXASetMP(transmitter->id, filter_type);
+    int i;
+
+    // g_print("set_filter_type: %d\n",filter_type);
+    for (i = 0; i < RECEIVERS; i++) {
+        receiver[i]->low_latency = filter_type;
+        RXASetMP(receiver[i]->id, filter_type);
+    }
+    transmitter->low_latency = filter_type;
+    TXASetMP(transmitter->id, filter_type);
 }
 
 void set_filter_size(int filter_size) {
-  int i;
-
-  // g_print("set_filter_size: %d\n",filter_size);
-  for (i = 0; i < RECEIVERS; i++) {
-    receiver[i]->fft_size = filter_size;
-    RXASetNC(receiver[i]->id, filter_size);
-  }
-  transmitter->fft_size = filter_size;
-  TXASetNC(transmitter->id, filter_size);
+    int i;
+
+    // g_print("set_filter_size: %d\n",filter_size);
+    for (i = 0; i < RECEIVERS; i++) {
+        receiver[i]->fft_size = filter_size;
+        RXASetNC(receiver[i]->id, filter_size);
+    }
+    transmitter->fft_size = filter_size;
+    TXASetNC(transmitter->id, filter_size);
 }
 
 void radio_change_region(int r) {
-  region = r;
-  switch (region) {
-  case REGION_UK:
-    channel_entries = UK_CHANNEL_ENTRIES;
-    band_channels_60m = &band_channels_60m_UK[0];
-    bandstack60.entries = UK_CHANNEL_ENTRIES;
-    bandstack60.current_entry = 0;
-    bandstack60.entry = bandstack_entries60_UK;
-    break;
-  case REGION_OTHER:
-    channel_entries = OTHER_CHANNEL_ENTRIES;
-    band_channels_60m = &band_channels_60m_OTHER[0];
-    bandstack60.entries = OTHER_CHANNEL_ENTRIES;
-    bandstack60.current_entry = 0;
-    bandstack60.entry = bandstack_entries60_OTHER;
-    break;
-  case REGION_WRC15:
-    channel_entries = WRC15_CHANNEL_ENTRIES;
-    band_channels_60m = &band_channels_60m_WRC15[0];
-    bandstack60.entries = WRC15_CHANNEL_ENTRIES;
-    bandstack60.current_entry = 0;
-    bandstack60.entry = bandstack_entries60_WRC15;
-    break;
-  }
+    region = r;
+    switch (region) {
+    case REGION_UK:
+        channel_entries = UK_CHANNEL_ENTRIES;
+        band_channels_60m = &band_channels_60m_UK[0];
+        bandstack60.entries = UK_CHANNEL_ENTRIES;
+        bandstack60.current_entry = 0;
+        bandstack60.entry = bandstack_entries60_UK;
+        break;
+    case REGION_OTHER:
+        channel_entries = OTHER_CHANNEL_ENTRIES;
+        band_channels_60m = &band_channels_60m_OTHER[0];
+        bandstack60.entries = OTHER_CHANNEL_ENTRIES;
+        bandstack60.current_entry = 0;
+        bandstack60.entry = bandstack_entries60_OTHER;
+        break;
+    case REGION_WRC15:
+        channel_entries = WRC15_CHANNEL_ENTRIES;
+        band_channels_60m = &band_channels_60m_WRC15[0];
+        bandstack60.entries = WRC15_CHANNEL_ENTRIES;
+        bandstack60.current_entry = 0;
+        bandstack60.entry = bandstack_entries60_WRC15;
+        break;
+    }
 }
 
 #ifdef CLIENT_SERVER
 int remote_start(void *data) {
-  char *server = (char *)data;
-  sprintf(property_path, "%s@%s.props", name, server);
-  radio_is_remote = TRUE;
+    char *server = (char *)data;
+    sprintf(property_path, "%s@%s.props", name, server);
+    radio_is_remote = TRUE;
 #ifdef GPIO
-  switch (controller) {
-  case CONTROLLER2_V1:
-  case CONTROLLER2_V2:
-    display_zoompan = 1;
-    display_sliders = 0;
-    display_toolbar = 0;
-    break;
-  default:
+    switch (controller) {
+    case CONTROLLER2_V1:
+    case CONTROLLER2_V2:
+        display_zoompan = 1;
+        display_sliders = 0;
+        display_toolbar = 0;
+        break;
+    default:
+        display_zoompan = 1;
+        display_sliders = 1;
+        display_toolbar = 1;
+        break;
+    }
+#else
     display_zoompan = 1;
     display_sliders = 1;
     display_toolbar = 1;
-    break;
-  }
-#else
-  display_zoompan = 1;
-  display_sliders = 1;
-  display_toolbar = 1;
 #endif
-  radioRestoreState();
-  create_visual();
-  for (int i = 0; i < receivers; i++) {
-    receiver_restore_state(receiver[i]);
-    if (receiver[i]->local_audio) {
-      if (audio_open_output(receiver[i])) {
-        receiver[i]->local_audio = 0;
-      }
-    }
-  }
-  reconfigure_radio();
-  g_idle_add(ext_vfo_update, (gpointer)NULL);
-  gdk_window_set_cursor(gtk_widget_get_window(top_window),
-                        gdk_cursor_new(GDK_ARROW));
+    radioRestoreState();
+    create_visual();
+    for (int i = 0; i < receivers; i++) {
+        receiver_restore_state(receiver[i]);
+        if (receiver[i]->local_audio) {
+            if (audio_open_output(receiver[i])) {
+                receiver[i]->local_audio = 0;
+            }
+        }
+    }
+    reconfigure_radio();
+    g_idle_add(ext_vfo_update, (gpointer)NULL);
+    gdk_window_set_cursor(gtk_widget_get_window(top_window),
+                          gdk_cursor_new(GDK_ARROW));
 #ifdef MIDI
-  MIDIstartup();
-  if (cw_keyer_midi == 1) {
-      midi_keyer_update();
-  }
+    MIDIstartup();
+    if (cw_keyer_midi == 1) {
+        midi_keyer_update();
+    }
 #endif
-  for (int i = 0; i < receivers; i++) {
-    gint timer_id = gdk_threads_add_timeout_full(
-        G_PRIORITY_DEFAULT_IDLE, 100, start_spectrum, receiver[i], NULL);
-  }
-  start_vfo_timer();
-  remote_started = TRUE;
-  return 0;
+    for (int i = 0; i < receivers; i++) {
+        gint timer_id = gdk_threads_add_timeout_full(
+            G_PRIORITY_DEFAULT_IDLE, 100, start_spectrum, receiver[i], NULL);
+    }
+    start_vfo_timer();
+    remote_started = TRUE;
+    return 0;
 }
 #endif
index 4ecfb4761da70bf24598fc4787983eb2787e0ce4..db9b4985172ba46524d80b46aa3672915bf15d64 100644 (file)
@@ -1438,7 +1438,6 @@ void receiver_frequency_changed(RECEIVER *rx) {
     int id = rx->id;
 
     if (vfo[id].ctun) {
-
         long long frequency = vfo[id].frequency;
         long long half = (long long)rx->sample_rate / 2LL;
         long long rx_low = vfo[id].ctun_frequency + rx->filter_low;