diff --git a/glade/adrv9002.glade b/glade/adrv9002.glade
index 9f70f7cd..893acb8e 100644
--- a/glade/adrv9002.glade
+++ b/glade/adrv9002.glade
@@ -3834,26 +3834,41 @@
-
-
-
- False
- True
- 2
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Interface Sample Rate (Hz):
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
True
-
-
- True
- True
- 8
- 8
-
-
-
+
False
True
1
-
-
-
-
- False
- True
- 3
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
RX RF Input:
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
- Rx1A
- Rx1B
-
-
+
+
False
True
1
-
+
+
+
+
+ False
+ True
+ 3
+
+
+
+
+
+
+
+
+ True
+ False
+
False
True
- 4
+ 5
@@ -4089,26 +4105,41 @@
-
+
True
False
- 12
- True
+ 0
+ none
-
+
+ True
+ False
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Frequency Offset Correction:
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
True
False
@@ -4116,151 +4147,152 @@
6
True
True
-
-
+
+
False
True
1
-
-
-
-
- False
- True
- 1
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Bandwidth (Hz):
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
True
-
-
- True
- True
- 8
- 8
+
+ False
+ True
+ 1
+
-
-
+
+
False
True
1
-
-
-
-
- False
- True
- 2
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Interface Sample Rate (Hz):
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
True
-
-
- True
- True
- 8
- 8
-
-
-
+
False
True
1
-
-
-
-
- False
- True
- 3
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
RX RF Input:
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
- Rx2A
- Rx2B
-
-
+
+
False
True
1
-
+
+
+
+
+ False
+ True
+ 3
+
+
+
+
+
+
+
+
+ True
+ False
+
False
True
- 4
+ 5
@@ -4358,26 +4390,41 @@
-
+
True
False
- 12
- True
+ 0
+ none
-
+
+ True
+ False
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Frequency Offset Correction:
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
True
False
@@ -4385,110 +4432,111 @@
6
True
True
-
-
+
+
False
True
1
-
-
-
-
- False
- True
- 1
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Bandwidth (Hz):
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
True
-
-
- True
- True
- 8
- 8
+
+ False
+ True
+ 1
+
-
-
+
+
False
True
1
-
-
-
-
- False
- True
- 2
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Interface Sample Rate (Hz):
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
True
-
-
- True
- True
- 8
- 8
-
-
-
+
False
True
1
-
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+
+
+
+
+ True
+ False
+
False
True
- 3
+ 4
@@ -4572,26 +4620,42 @@
-
+
True
False
- 12
- True
+ 0
+ none
-
+
+ True
+ False
+ 12
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Frequency Offset Correction:
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
True
False
@@ -4599,110 +4663,111 @@
6
True
True
-
-
+
+
False
True
1
-
-
-
-
- False
- True
- 1
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Bandwidth (Hz):
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
True
-
-
- True
- True
- 8
- 8
+
+ False
+ True
+ 1
+
-
-
+
+
False
True
1
-
-
-
-
- False
- True
- 2
-
-
-
-
- True
- False
- 12
- True
-
-
+
+
+
+
+ True
+ False
+ 12
+ True
+
+
True
False
end
Interface Sample Rate (Hz):
-
-
+
+
False
True
0
-
-
-
-
+
+
+
+
True
False
True
-
-
- True
- True
- 8
- 8
-
-
-
+
False
True
1
-
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+
+
+
+
+ True
+ False
+
False
True
- 3
+ 4
diff --git a/plugins/adrv9002.c b/plugins/adrv9002.c
index 484097e0..6c80b2fb 100644
--- a/plugins/adrv9002.c
+++ b/plugins/adrv9002.c
@@ -2399,6 +2399,22 @@ static int profile_gen_ui_refresh(GtkButton *self, struct plugin_private *priv)
return 0;
}
+static void profile_gen_update_channels(GtkComboBox *self, struct plugin_private *priv)
+{
+ GtkWidget *channel_frame;
+ bool channel_en;
+
+ char *ch_frames[4] = {"frame_tx1_controls", "frame_tx2_controls", "frame_rx1_controls", "frame_rx2_controls"};
+ char *ch_buttons[4] = {"cb_tx_chan1_en", "cb_tx_chan2_en", "cb_rx_chan1_en", "cb_rx_chan2_en"};
+ int i;
+
+ for (i = 0; i < 4; i++) {
+ channel_frame = GTK_WIDGET(gtk_builder_get_object(priv->builder, ch_frames[i]));
+ channel_en = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(priv->builder, ch_buttons[i])));
+ gtk_widget_set_sensitive(channel_frame, channel_en);
+ }
+}
+
static void adrv9002_combo_box_init(struct iio_widget *combo, const char *w_str,
const char *attr, const char *attr_avail,
struct plugin_private *priv, struct iio_channel *chann)
@@ -3053,6 +3069,19 @@ static GtkWidget *adrv9002_init(struct osc_plugin *plugin, GtkWidget *notebook,
g_builder_connect_signal(priv->builder, "cb_preset", "changed",
G_CALLBACK(profile_gen_ui_refresh), priv);
+ /* update channel controls sensitivity */
+ g_builder_connect_signal(priv->builder, "cb_tx_chan1_en", "toggled",
+ G_CALLBACK(profile_gen_update_channels), priv);
+
+ g_builder_connect_signal(priv->builder, "cb_tx_chan2_en", "toggled",
+ G_CALLBACK(profile_gen_update_channels), priv);
+
+ g_builder_connect_signal(priv->builder, "cb_rx_chan1_en", "toggled",
+ G_CALLBACK(profile_gen_update_channels), priv);
+
+ g_builder_connect_signal(priv->builder, "cb_rx_chan2_en", "toggled",
+ G_CALLBACK(profile_gen_update_channels), priv);
+
} else {
gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(priv->builder, "boxProfileGen")), false);
gtk_widget_set_sensitive(GTK_WIDGET(gtk_builder_get_object(priv->builder, "labelProfileGen")), false);