decode: Optionally print annotation class with PD annotations master
authorSergey Spivak <sespivak@yandex.ru>
Fri, 12 Aug 2022 11:53:43 +0000 (15:53 +0400)
committerSoeren Apel <soeren@apelpie.net>
Sat, 8 Oct 2022 20:00:40 +0000 (22:00 +0200)
Introduce the "--protocol-decoder-ann-class" command line option
(no short form available), which emits annotation class names
with textual output from protocol decoder annotations, regardless
of a log level value.

Based on commit 08e9378bf68a by Gerhard Sittig <gerhard.sittig@gmx.net>

decode.c
doc/sigrok-cli.1
options.c
sigrok-cli.h

index 4ddf34afbbaf00db414a041f4ef2e61ddc27bc0f..ac0e3e17cc283e51d16a0aa8e7c21be846faf657 100644 (file)
--- a/decode.c
+++ b/decode.c
@@ -684,6 +684,8 @@ void show_pd_annotations(struct srd_proto_data *pdata, void *cb_data)
                show_class = TRUE;
                show_abbrev = TRUE;
        }
                show_class = TRUE;
                show_abbrev = TRUE;
        }
+       if (opt_pd_ann_class)
+               show_class = TRUE;
 
        /*
         * Display the annotation's fields after the layout was
 
        /*
         * Display the annotation's fields after the layout was
index b333bee93de02f34357a80cc0929d6a1a5db58e9..b48992847e65ffc29c47b6709bc3d8293866cf9f 100644 (file)
@@ -426,6 +426,9 @@ Not every decoder generates binary output.
 When given, decoder annotations will include sample numbers, too.
 This allows consumers to receive machine readable timing information.
 .TP
 When given, decoder annotations will include sample numbers, too.
 This allows consumers to receive machine readable timing information.
 .TP
+.BR "\-\-protocol\-decoder\-ann\-class
+When given, decoder annotations will include annotation class names.
+.TP
 .BR "\-l, \-\-loglevel " <level>
 Set the libsigrok and libsigrokdecode loglevel. At the moment \fBsigrok\-cli\fP
 doesn't support setting the two loglevels independently. The higher the
 .BR "\-l, \-\-loglevel " <level>
 Set the libsigrok and libsigrokdecode loglevel. At the moment \fBsigrok\-cli\fP
 doesn't support setting the two loglevels independently. The higher the
index 2573bd4c17b6cb861be37239070ff6e7bc8e07ef..e47b6804e96eb7635f9874b3090cb02110526dae 100644 (file)
--- a/options.c
+++ b/options.c
@@ -40,6 +40,7 @@ gchar **opt_pds = NULL;
 gchar *opt_pd_annotations = NULL;
 gchar *opt_pd_meta = NULL;
 gchar *opt_pd_binary = NULL;
 gchar *opt_pd_annotations = NULL;
 gchar *opt_pd_meta = NULL;
 gchar *opt_pd_binary = NULL;
+gboolean opt_pd_ann_class = FALSE;
 gboolean opt_pd_samplenum = FALSE;
 gboolean opt_pd_jsontrace = FALSE;
 #endif
 gboolean opt_pd_samplenum = FALSE;
 gboolean opt_pd_jsontrace = FALSE;
 #endif
@@ -139,6 +140,8 @@ static const GOptionEntry optargs[] = {
                        "Protocol decoder meta output to show", NULL},
        {"protocol-decoder-binary", 'B', 0, G_OPTION_ARG_CALLBACK, &check_opt_pd_binary,
                        "Protocol decoder binary output to show", NULL},
                        "Protocol decoder meta output to show", NULL},
        {"protocol-decoder-binary", 'B', 0, G_OPTION_ARG_CALLBACK, &check_opt_pd_binary,
                        "Protocol decoder binary output to show", NULL},
+       {"protocol-decoder-ann-class", 0, 0, G_OPTION_ARG_NONE, &opt_pd_ann_class,
+                       "Show annotation class in decoder output", NULL},
        {"protocol-decoder-samplenum", 0, 0, G_OPTION_ARG_NONE, &opt_pd_samplenum,
                        "Show sample numbers in decoder output", NULL},
        {"protocol-decoder-jsontrace", 0, 0, G_OPTION_ARG_NONE, &opt_pd_jsontrace,
        {"protocol-decoder-samplenum", 0, 0, G_OPTION_ARG_NONE, &opt_pd_samplenum,
                        "Show sample numbers in decoder output", NULL},
        {"protocol-decoder-jsontrace", 0, 0, G_OPTION_ARG_NONE, &opt_pd_jsontrace,
index 2c0fbdcf57d2358b9864cce8676b39e1e7bba1f0..684aed99a8bd302da3ae8d88f6ff9e9be94ee867 100644 (file)
@@ -140,6 +140,7 @@ extern gchar **opt_pds;
 extern gchar *opt_pd_annotations;
 extern gchar *opt_pd_meta;
 extern gchar *opt_pd_binary;
 extern gchar *opt_pd_annotations;
 extern gchar *opt_pd_meta;
 extern gchar *opt_pd_binary;
+extern gboolean opt_pd_ann_class;
 extern gboolean opt_pd_samplenum;
 extern gboolean opt_pd_jsontrace;
 #endif
 extern gboolean opt_pd_samplenum;
 extern gboolean opt_pd_jsontrace;
 #endif