From: Uwe Hermann Date: Thu, 31 May 2012 21:21:57 +0000 (+0200) Subject: gtk: Update to use new APIs (fixes build). X-Git-Url: http://sigrok.org/gitweb/?a=commitdiff_plain;h=834ea5d229d6c85e09eec6eb274250c976087dba;p=sigrok-gtk.git gtk: Update to use new APIs (fixes build). --- diff --git a/devselect.c b/devselect.c index 7ed45e4..3c40acb 100644 --- a/devselect.c +++ b/devselect.c @@ -87,7 +87,7 @@ void dev_select_rescan(GtkAction *action, GtkWindow *parent) GtkListStore *devlist = GTK_LIST_STORE(gtk_combo_box_get_model(devbox)); GtkTreeIter iter; struct sr_dev *dev; - struct sr_dev_inst *sdi; + const struct sr_dev_inst *sdi; gchar *sdevname = NULL; GSList *devs, *l; GtkUIManager *ui = g_object_get_data(G_OBJECT(parent), "ui_manager"); diff --git a/main.c b/main.c index db28707..8dd046b 100644 --- a/main.c +++ b/main.c @@ -36,11 +36,11 @@ static const char *colours[8] = { static void datafeed_in(struct sr_dev *dev, struct sr_datafeed_packet *packet) { - static int probelist[SR_MAX_NUM_PROBES + 1] = { 0 }; + static int logic_probelist[SR_MAX_NUM_PROBES + 1] = { 0 }; static int unitsize = 0; struct sr_probe *probe; - struct sr_datafeed_header *header; struct sr_datafeed_logic *logic = NULL; + struct sr_datafeed_meta_logic *meta_logic; int num_enabled_probes, sample_size, i; uint64_t filter_out_len; uint8_t *filter_out; @@ -49,14 +49,25 @@ datafeed_in(struct sr_dev *dev, struct sr_datafeed_packet *packet) switch (packet->type) { case SR_DF_HEADER: g_message("fe: Received SR_DF_HEADER"); - header = packet->payload; + break; + case SR_DF_END: + sigview_zoom(sigview, 1, 0); + g_message("fe: Received SR_DF_END"); + sr_session_halt(); + break; + case SR_DF_TRIGGER: + g_message("fe: received SR_DF_TRIGGER"); + break; + case SR_DF_META_LOGIC: + g_message("fe: received SR_DF_META_LOGIC"); + meta_logic = packet->payload; num_enabled_probes = 0; gtk_list_store_clear(siglist); - for (i = 0; i < header->num_logic_probes; i++) { + for (i = 0; i < meta_logic->num_probes; i++) { probe = g_slist_nth_data(dev->probes, i); if (probe->enabled) { GtkTreeIter iter; - probelist[num_enabled_probes++] = probe->index; + logic_probelist[num_enabled_probes++] = probe->index; gtk_list_store_append(siglist, &iter); gtk_list_store_set(siglist, &iter, 0, probe->name, @@ -69,37 +80,31 @@ datafeed_in(struct sr_dev *dev, struct sr_datafeed_packet *packet) unitsize = (num_enabled_probes + 7) / 8; data = g_array_new(FALSE, FALSE, unitsize); g_object_set_data(G_OBJECT(siglist), "sampledata", data); - - break; - case SR_DF_END: - sigview_zoom(sigview, 1, 0); - g_message("fe: Received SR_DF_END"); - sr_session_halt(); - break; - case SR_DF_TRIGGER: - g_message("fe: received SR_DF_TRIGGER"); break; case SR_DF_LOGIC: logic = packet->payload; sample_size = logic->unitsize; g_message("fe: received SR_DF_LOGIC, %"PRIu64" bytes", logic->length); - break; - } - if (!logic) - return; + if (!logic) + break; - if (sr_filter_probes(sample_size, unitsize, probelist, - logic->data, logic->length, - &filter_out, &filter_out_len) != SR_OK) - return; + if (sr_filter_probes(sample_size, unitsize, logic_probelist, + logic->data, logic->length, + &filter_out, &filter_out_len) != SR_OK) + break; - data = g_object_get_data(G_OBJECT(siglist), "sampledata"); - g_return_if_fail(data != NULL); + data = g_object_get_data(G_OBJECT(siglist), "sampledata"); + g_return_if_fail(data != NULL); - g_array_append_vals(data, filter_out, filter_out_len/unitsize); + g_array_append_vals(data, filter_out, filter_out_len/unitsize); - g_free(filter_out); + g_free(filter_out); + break; + default: + g_message("fw: received unknown packet type %d", packet->type); + break; + } } void load_input_file(GtkWindow *parent, const gchar *file)