Skip to content

Commit

Permalink
plugins: adrv9002: improve init on port_en_mode
Browse files Browse the repository at this point in the history
Check, at the plugin initialization, if the port enable mode is set to
pin. If it is, change the ensm widget sensitivity in the same way we do
it in save_port_en().

Signed-off-by: Nuno Sa <[email protected]>
  • Loading branch information
nunojsa committed Jan 27, 2025
1 parent 8f60cc3 commit 09b5d4d
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions plugins/adrv9002.c
Original file line number Diff line number Diff line change
Expand Up @@ -2929,6 +2929,18 @@ static int adrv9002_dds_init(struct plugin_private *priv)
return ret;
}

static void adrv9002_update_port_en_mode(const struct plugin_private *priv, const struct adrv9002_common *chan)
{
gchar *port_en = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(chan->port_en.widget));

if (!port_en)
return;
if (!strcmp(port_en, "pin"))
gtk_widget_set_sensitive(chan->ensm.widget, false);

g_free(port_en);
}

static void adrv9002_api_version_report(struct plugin_private *priv)
{
GtkWidget *api_frame = GTK_WIDGET(gtk_builder_get_object(priv->builder, "frame_api"));
Expand Down Expand Up @@ -3166,8 +3178,10 @@ static GtkWidget *adrv9002_init(struct osc_plugin *plugin, GtkWidget *notebook,
for (i = 0; i < ADRV9002_NUM_CHANNELS; i++) {
connect_special_signal_widgets(priv, i);
adrv9002_update_rx_widgets(priv, i);
adrv9002_update_port_en_mode(priv, &priv->rx_widgets[i].rx);
adrv9002_update_orx_widgets(priv, i);
adrv9002_update_tx_widgets(priv, i);
adrv9002_update_port_en_mode(priv, &priv->tx_widgets[i]);
iio_make_widgets_update_signal_based(priv->rx_widgets[i].rx.w,
priv->rx_widgets[i].rx.num_widgets,
G_CALLBACK(iio_widget_save_block_signals_by_data_cb));
Expand Down

0 comments on commit 09b5d4d

Please sign in to comment.