]> sigrok.org Git - sigrok-cli.git/blobdiff - show.c
session: Remove call to sr_filter_probes()
[sigrok-cli.git] / show.c
diff --git a/show.c b/show.c
index ee140374ab02500273483cebf2717ae9d8678eab..74a50bb88368730753bb1cb0ae08a497d3aa10c5 100644 (file)
--- a/show.c
+++ b/show.c
@@ -437,11 +437,12 @@ void show_dev_detail(void)
 #ifdef HAVE_SRD
 void show_pd_detail(void)
 {
-       GSList *l;
+       GSList *l, *ll;
        struct srd_decoder *dec;
        struct srd_decoder_option *o;
        char **pdtokens, **pdtok, *optsep, **ann, *val, *doc;
        struct srd_probe *p;
+       struct srd_decoder_annotation_row *r;
 
        pdtokens = g_strsplit(opt_pds, ",", -1);
        for (pdtok = pdtokens; *pdtok; pdtok++) {
@@ -455,11 +456,23 @@ void show_pd_detail(void)
                printf("ID: %s\nName: %s\nLong name: %s\nDescription: %s\n",
                                dec->id, dec->name, dec->longname, dec->desc);
                printf("License: %s\n", dec->license);
-               printf("Annotations:\n");
+               printf("Annotation classes:\n");
                if (dec->annotations) {
                        for (l = dec->annotations; l; l = l->next) {
                                ann = l->data;
-                               printf("- %s\n  %s\n", ann[0], ann[1]);
+                               printf("- %s: %s\n", ann[0], ann[1]);
+                       }
+               } else {
+                       printf("None.\n");
+               }
+               printf("Annotation rows:\n");
+               if (dec->annotation_rows) {
+                       for (l = dec->annotation_rows; l; l = l->next) {
+                               r = l->data;
+                               printf("- %s (%s): ", r->id, r->desc);
+                               for (ll = r->ann_classes; ll; ll = ll->next)
+                                       printf("%d ", GPOINTER_TO_INT(ll->data));
+                               printf("\n");
                        }
                } else {
                        printf("None.\n");
@@ -469,7 +482,7 @@ void show_pd_detail(void)
                        for (l = dec->probes; l; l = l->next) {
                                p = l->data;
                                printf("- %s (%s): %s\n",
-                                      p->name, p->id, p->desc);
+                                      p->id, p->name, p->desc);
                        }
                } else {
                        printf("None.\n");
@@ -479,19 +492,22 @@ void show_pd_detail(void)
                        for (l = dec->opt_probes; l; l = l->next) {
                                p = l->data;
                                printf("- %s (%s): %s\n",
-                                      p->name, p->id, p->desc);
+                                      p->id, p->name, p->desc);
                        }
                } else {
                        printf("None.\n");
                }
+               printf("Options:\n");
                if (dec->options) {
-                       printf("Options:\n");
                        for (l = dec->options; l; l = l->next) {
                                o = l->data;
                                val = g_variant_print(o->def, FALSE);
-                               printf("- %s: %s (default %s)\n", o->id, o->desc, val);
+                               printf("- %s: %s (default %s)\n", o->id,
+                                       o->desc, val);
                                g_free(val);
                        }
+               } else {
+                       printf("None.\n");
                }
                if ((doc = srd_decoder_doc_get(dec))) {
                        printf("Documentation:\n%s\n",