static void fastlock_clicked(GtkButton *btn, gpointer data) { int profile; switch ((uintptr_t) data) { case 1: /* RX Store */ iio_widget_save(&rx_widgets[rx_lo]); profile = gtk_combo_box_get_active(GTK_COMBO_BOX(rx_fastlock_profile)); write_int(iio_device_find_channel(dev, "altvoltage0", true), rx_fastlock_store_name, profile); break; case 2: /* TX Store */ iio_widget_save(&tx_widgets[tx_lo]); profile = gtk_combo_box_get_active(GTK_COMBO_BOX(tx_fastlock_profile)); write_int(iio_device_find_channel(dev, "altvoltage1", true), tx_fastlock_store_name, profile); break; case 3: /* RX Recall */ profile = gtk_combo_box_get_active(GTK_COMBO_BOX(rx_fastlock_profile)); write_int(iio_device_find_channel(dev, "altvoltage0", true), rx_fastlock_recall_name, profile); iio_widget_update(&rx_widgets[rx_lo]); break; case 4: /* TX Recall */ profile = gtk_combo_box_get_active(GTK_COMBO_BOX(tx_fastlock_profile)); write_int(iio_device_find_channel(dev, "altvoltage1", true), tx_fastlock_recall_name, profile); iio_widget_update(&tx_widgets[tx_lo]); break; } }
void iio_update_widgets(struct iio_widget *widgets, unsigned int num_widgets) { unsigned int i; for (i = 0; i < num_widgets; i++) iio_widget_update(&widgets[i]); }
static gboolean update_display(void) { if (this_page == gtk_notebook_get_current_page(nbook) || plugin_detached) { const char *gain_mode; rssi_update_labels(); gain_mode = gtk_combo_box_get_active_text(GTK_COMBO_BOX(rx_gain_control_modes_rx1)); if (gain_mode && strcmp(gain_mode, "manual")) iio_widget_update(&rx_widgets[rx1_gain]); gain_mode = gtk_combo_box_get_active_text(GTK_COMBO_BOX(rx_gain_control_modes_rx2)); if (is_2rx_2tx && gain_mode && strcmp(gain_mode, "manual")) iio_widget_update(&rx_widgets[rx2_gain]); } return TRUE; }
static void glb_settings_update_labels(void) { float rates[6]; char tmp[160], buf[1024]; ssize_t ret; ret = iio_device_attr_read(dev, "ensm_mode", buf, sizeof(buf)); if (ret > 0) gtk_label_set_text(GTK_LABEL(ensm_mode), buf); else gtk_label_set_text(GTK_LABEL(ensm_mode), "<error>"); ret = iio_device_attr_read(dev, "calib_mode", buf, sizeof(buf)); if (ret > 0) gtk_label_set_text(GTK_LABEL(calib_mode), buf); else gtk_label_set_text(GTK_LABEL(calib_mode), "<error>"); ret = iio_device_attr_read(dev, "trx_rate_governor", buf, sizeof(buf)); if (ret > 0) gtk_label_set_text(GTK_LABEL(trx_rate_governor), buf); else gtk_label_set_text(GTK_LABEL(trx_rate_governor), "<error>"); ret = iio_channel_attr_read( iio_device_find_channel(dev, "voltage0", false), "gain_control_mode", buf, sizeof(buf)); if (ret > 0) gtk_label_set_text(GTK_LABEL(rx_gain_control_rx1), buf); else gtk_label_set_text(GTK_LABEL(rx_gain_control_rx1), "<error>"); if (is_2rx_2tx) { ret = iio_channel_attr_read( iio_device_find_channel(dev, "voltage1", false), "gain_control_mode", buf, sizeof(buf)); if (ret > 0) gtk_label_set_text(GTK_LABEL(rx_gain_control_rx2), buf); else gtk_label_set_text(GTK_LABEL(rx_gain_control_rx2), "<error>"); } ret = iio_device_attr_read(dev, "rx_path_rates", buf, sizeof(buf)); if (ret > 0) { sscanf(buf, "BBPLL:%f ADC:%f R2:%f R1:%f RF:%f RXSAMP:%f", &rates[0], &rates[1], &rates[2], &rates[3], &rates[4], &rates[5]); sprintf(tmp, "BBPLL: %4.3f ADC: %4.3f R2: %4.3f R1: %4.3f RF: %4.3f RXSAMP: %4.3f", rates[0] / 1e6, rates[1] / 1e6, rates[2] / 1e6, rates[3] / 1e6, rates[4] / 1e6, rates[5] / 1e6); gtk_label_set_text(GTK_LABEL(rx_path_rates), tmp); } else { gtk_label_set_text(GTK_LABEL(rx_path_rates), "<error>"); } ret = iio_device_attr_read(dev, "tx_path_rates", buf, sizeof(buf)); if (ret > 0) { sscanf(buf, "BBPLL:%f DAC:%f T2:%f T1:%f TF:%f TXSAMP:%f", &rates[0], &rates[1], &rates[2], &rates[3], &rates[4], &rates[5]); sprintf(tmp, "BBPLL: %4.3f DAC: %4.3f T2: %4.3f T1: %4.3f TF: %4.3f TXSAMP: %4.3f", rates[0] / 1e6, rates[1] / 1e6, rates[2] / 1e6, rates[3] / 1e6, rates[4] / 1e6, rates[5] / 1e6); gtk_label_set_text(GTK_LABEL(tx_path_rates), tmp); } else { gtk_label_set_text(GTK_LABEL(tx_path_rates), "<error>"); } iio_widget_update(&rx_widgets[rx1_gain]); if (is_2rx_2tx) iio_widget_update(&rx_widgets[rx2_gain]); }