X-Git-Url: https://sigrok.org/gitweb/?p=sigrok-cli.git;a=blobdiff_plain;f=show.c;h=1c5aad09f47760e4d6752a5236311da58926b374;hp=f09095a5c9f1802630c757e3f2ec890949dfbcc2;hb=6293db8aea090170eced25d6f92c348b013ea475;hpb=87cb3b61d72f430479bb5fdfd3c0c909f3ac899e diff --git a/show.c b/show.c index f09095a..1c5aad0 100644 --- a/show.c +++ b/show.c @@ -57,6 +57,18 @@ static gint sort_pds(gconstpointer a, gconstpointer b) #endif void show_version(void) +{ + printf("sigrok-cli %s\n\n", SC_PACKAGE_VERSION_STRING); + + printf("Using libsigrok %s (lib version %s).\n", + sr_package_version_string_get(), sr_lib_version_string_get()); +#ifdef HAVE_SRD + printf("Using libsigrokdecode %s (lib version %s).\n\n", + srd_package_version_string_get(), srd_lib_version_string_get()); +#endif +} + +void show_supported(void) { struct sr_dev_driver **drivers, *driver; const struct sr_input_module **inputs, *input; @@ -69,15 +81,6 @@ void show_version(void) struct srd_decoder *dec; #endif - printf("sigrok-cli %s\n\n", SC_PACKAGE_VERSION_STRING); - - printf("Using libsigrok %s (lib version %s).\n", - sr_package_version_string_get(), sr_lib_version_string_get()); -#ifdef HAVE_SRD - printf("Using libsigrokdecode %s (lib version %s).\n\n", - srd_package_version_string_get(), srd_lib_version_string_get()); -#endif - printf("Supported hardware drivers:\n"); drivers = sr_driver_list(sr_ctx); for (sl = NULL, i = 0; drivers[i]; i++) @@ -682,7 +685,7 @@ static void show_pd_detail_single(const char *pd) struct srd_decoder_annotation_row *r; GSList *l, *ll, *ol; int idx; - char **pdtokens, **pdtok, *optsep, **ann, **bin, *val, *doc; + char **pdtokens, **pdtok, *optsep, **ann, **bin, *val, *doc, *str; pdtokens = g_strsplit(pd, ",", -1); for (pdtok = pdtokens; *pdtok; pdtok++) { @@ -696,6 +699,24 @@ static void show_pd_detail_single(const char *pd) 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("Possible decoder input IDs:\n"); + if (dec->inputs) { + for (l = dec->inputs; l; l = l->next) { + str = l->data; + printf("- %s\n", str); + } + } else { + printf("None.\n"); + } + printf("Possible decoder output IDs:\n"); + if (dec->outputs) { + for (l = dec->outputs; l; l = l->next) { + str = l->data; + printf("- %s\n", str); + } + } else { + printf("None.\n"); + } printf("Annotation classes:\n"); if (dec->annotations) { for (l = dec->annotations; l; l = l->next) {