Skip to content

Commit 5a8b71f

Browse files
committed
osc: Identify iio_device by label 1st, name 2nd, id 3rd
These changes help when multiple instances of the same type of driver exist. Otherwise we end up with mutiple iio_device with the same name. Signed-off-by: Dan <[email protected]>
1 parent 8ec10df commit 5a8b71f

File tree

2 files changed

+28
-19
lines changed

2 files changed

+28
-19
lines changed

Diff for: osc.c

+10-4
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,8 @@ static const char * device_name_check(const char *name)
449449
if (!dev)
450450
return NULL;
451451

452-
return iio_device_get_name(dev) ?: iio_device_get_id(dev);
452+
return iio_device_get_label(dev) ?:
453+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
453454
}
454455

455456
/*
@@ -1511,7 +1512,10 @@ static int capture_setup(void)
15111512
min_timeout = timeout;
15121513
}
15131514

1514-
rx_update_device_sampling_freq(iio_device_get_id(dev), freq);
1515+
rx_update_device_sampling_freq(
1516+
iio_device_get_label(dev) ?:
1517+
(iio_device_get_name(dev) ?: iio_device_get_id(dev)),
1518+
freq);
15151519
}
15161520

15171521
if (ctx)
@@ -1818,8 +1822,10 @@ static void init_device_list(struct iio_context *_ctx)
18181822
iio_channel_set_data(ch, info);
18191823
}
18201824

1821-
rx_update_device_sampling_freq(iio_device_get_name(dev) ?:
1822-
iio_device_get_id(dev), USE_INTERN_SAMPLING_FREQ);
1825+
rx_update_device_sampling_freq(
1826+
iio_device_get_label(dev) ?:
1827+
(iio_device_get_name(dev) ?: iio_device_get_id(dev)),
1828+
USE_INTERN_SAMPLING_FREQ);
18231829
}
18241830
}
18251831

Diff for: oscplot.c

+18-15
Original file line numberDiff line numberDiff line change
@@ -646,8 +646,8 @@ const char * osc_plot_get_active_device (OscPlot *plot)
646646
while (next_iter) {
647647
gtk_tree_model_get(model, &iter, ELEMENT_REFERENCE, &dev, DEVICE_ACTIVE, &active, -1);
648648
if (active)
649-
return iio_device_get_name(dev) ?:
650-
iio_device_get_id(dev);
649+
return iio_device_get_label(dev) ?:
650+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
651651
next_iter = gtk_tree_model_iter_next(model, &iter);
652652
}
653653

@@ -2362,8 +2362,8 @@ static int plot_get_sample_count_for_transform(OscPlot *plot, Transform *transfo
23622362
iio_dev = priv->current_device;
23632363

23642364
return plot_get_sample_count_of_device(plot,
2365-
iio_device_get_name(iio_dev) ?:
2366-
iio_device_get_id(iio_dev));
2365+
iio_device_get_label(iio_dev) ?:
2366+
(iio_device_get_name(iio_dev) ?: iio_device_get_id(iio_dev)));
23672367
}
23682368

23692369
static void notebook_info_set_page_visibility(GtkNotebook *nb, int page, bool visbl)
@@ -2750,7 +2750,8 @@ static void collect_parameters_from_plot(OscPlot *plot)
27502750
for (i = 0; i < iio_context_get_devices_count(ctx); i++) {
27512751
struct iio_device *dev = iio_context_get_device(ctx, i);
27522752
struct extra_dev_info *info = iio_device_get_data(dev);
2753-
const char *dev_name = iio_device_get_name(dev) ?: iio_device_get_id(dev);
2753+
const char *dev_name = iio_device_get_label(dev) ?:
2754+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
27542755

27552756
if (info->input_device == false)
27562757
continue;
@@ -2998,7 +2999,8 @@ static void device_rx_info_update(OscPlotPrivate *priv)
29982999

29993000
for (i = 0; i < num_devices; i++) {
30003001
struct iio_device *dev = iio_context_get_device(priv->ctx, i);
3001-
const char *name = iio_device_get_name(dev) ?: iio_device_get_id(dev);
3002+
const char *name = iio_device_get_label(dev) ?:
3003+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
30023004
struct extra_dev_info *dev_info = iio_device_get_data(dev);
30033005
double freq, percent, seconds;
30043006
char freq_prefix, sec_prefix;
@@ -3479,7 +3481,8 @@ static bool comboboxtext_input_devices_fill(struct iio_context *iio_ctx, GtkComb
34793481
if (dev_info->input_device == false)
34803482
continue;
34813483

3482-
name = iio_device_get_name(dev) ?: iio_device_get_id(dev);
3484+
name = iio_device_get_label(dev) ?:
3485+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
34833486
gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(box), name);
34843487
}
34853488

@@ -3919,8 +3922,8 @@ static void device_list_treeview_init(OscPlot *plot)
39193922
for (i = 0; i < iio_context_get_devices_count(ctx); i++) {
39203923
struct iio_device *dev = iio_context_get_device(ctx, i);
39213924
struct extra_dev_info *dev_info = iio_device_get_data(dev);
3922-
const char *dev_name = iio_device_get_name(dev) ?:
3923-
iio_device_get_id(dev);
3925+
const char *dev_name = iio_device_get_label(dev) ?:
3926+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
39243927

39253928
if (dev_info->input_device == false)
39263929
continue;
@@ -4029,8 +4032,8 @@ static void saveas_channels_list_fill(OscPlot *plot)
40294032

40304033
for (i = 0; i < num_devices; i++) {
40314034
struct iio_device *dev = iio_context_get_device(priv->ctx, i);
4032-
const char *name = iio_device_get_name(dev) ?:
4033-
iio_device_get_id(dev);
4035+
const char *name = iio_device_get_label(dev) ?:
4036+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
40344037
struct extra_dev_info *dev_info = iio_device_get_data(dev);
40354038

40364039
if (dev_info->input_device == false)
@@ -4722,8 +4725,8 @@ static void save_as(OscPlot *plot, const char *filename, int type)
47224725

47234726
dev = iio_context_get_device(ctx, d);
47244727
dev_info = iio_device_get_data(dev);
4725-
dev_name = iio_device_get_name(dev) ?:
4726-
iio_device_get_id(dev);
4728+
dev_name = iio_device_get_label(dev) ?:
4729+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
47274730

47284731
/* Find which channel need to be saved */
47294732
save_channels_mask = get_user_saveas_channel_selection(plot, &nb_channels);
@@ -5228,8 +5231,8 @@ static int device_find_by_name(struct iio_context *ctx, const char *name)
52285231

52295232
for (i = 0; i < num_devices; i++) {
52305233
struct iio_device *dev = iio_context_get_device(ctx, i);
5231-
const char *id = iio_device_get_name(dev) ?:
5232-
iio_device_get_id(dev);
5234+
const char *id = iio_device_get_label(dev) ?:
5235+
(iio_device_get_name(dev) ?: iio_device_get_id(dev));
52335236
if (!strcmp(id, name))
52345237
return i;
52355238
}

0 commit comments

Comments
 (0)