X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=show.c;h=74a50bb88368730753bb1cb0ae08a497d3aa10c5;hp=ee140374ab02500273483cebf2717ae9d8678eab;hb=b39f3a1a12b4a79b9a2d2a005b2474483438fa2a;hpb=55de58a2b9ea6673d30e7250b60fa36953e0447a diff --git a/show.c b/show.c index ee14037..74a50bb 100644 --- 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",