]> sigrok.org Git - sigrok-cli.git/commitdiff
decode: shuffle order of JSON trace fields for readability
authorGerhard Sittig <redacted>
Sat, 25 Jul 2020 11:07:20 +0000 (13:07 +0200)
committerGerhard Sittig <redacted>
Sat, 25 Jul 2020 11:25:08 +0000 (13:25 +0200)
Use a similar order of JSON trace fields as other modes of annotation
output do. This increases readability for humans by moving timestamps
and decoder IDs to the left, and keeping the annotation text at the
right hand side with nothing else following it, and at a constant text
position (somewhat, depending on how timing numbers align, and how
several annotation rows interleave).

decode.c

index e0b27fd2938636350a4ab9b70e8b709f6ab3a8e8..a4d4652b36a274dca32d5a104d22c3c912a388b3 100644 (file)
--- a/decode.c
+++ b/decode.c
@@ -591,38 +591,32 @@ static void jsontrace_annotation(struct srd_decoder *dec,
         * annotation row's description. The 'ts' (timestamp) is in
         * microseconds. Set 'name' to the longest annotation text.
         *
-        * BEWARE of the unfortunate JSON format comma limitation. And
-        * some of the output formatting is motivated by the desire to
-        * further reduce text size, by eliminating some of the spaces.
+        * BEWARE of the unfortunate JSON format limitation, which
+        * clutters data output calls with format helper calls.
         * TODO Want to introduce a cJSON dependency to delegate the
         * construction of output text?
-        *
-        * This implementation is strictly compatible to the initial
-        * implementation. Which might change in the future to increase
-        * readability of the output to humans, by generating a layout
-        * which is closer to other output modes.
         */
        jsontrace_open_close(FALSE, TRUE, FALSE);
-       printf("\"%s\": \"%s\"", "name", pda->ann_text[0]);
-       jsontrace_open_close(FALSE, FALSE, FALSE);
        printf("\"%s\": \"%s\"", "ph", "B");
        jsontrace_open_close(FALSE, FALSE, FALSE);
+       printf("\"%s\": %lf", "ts", jsontrace_ts_usec(pdata->start_sample));
+       jsontrace_open_close(FALSE, FALSE, FALSE);
        printf("\"%s\": \"%s\"", "pid", pdata->pdo->proto_id);
        jsontrace_open_close(FALSE, FALSE, FALSE);
        printf("\"%s\": \"%s\"", "tid", row_text);
        jsontrace_open_close(FALSE, FALSE, FALSE);
-       printf("\"%s\": %lf", "ts", jsontrace_ts_usec(pdata->start_sample));
+       printf("\"%s\": \"%s\"", "name", pda->ann_text[0]);
 
        jsontrace_open_close(FALSE, TRUE, FALSE);
-       printf("\"%s\": \"%s\"", "name", pda->ann_text[0]);
-       jsontrace_open_close(FALSE, FALSE, FALSE);
        printf("\"%s\": \"%s\"", "ph", "E");
        jsontrace_open_close(FALSE, FALSE, FALSE);
+       printf("\"%s\": %lf", "ts", jsontrace_ts_usec(pdata->end_sample));
+       jsontrace_open_close(FALSE, FALSE, FALSE);
        printf("\"%s\": \"%s\"", "pid", pdata->pdo->proto_id);
        jsontrace_open_close(FALSE, FALSE, FALSE);
        printf("\"%s\": \"%s\"", "tid", row_text);
        jsontrace_open_close(FALSE, FALSE, FALSE);
-       printf("\"%s\": %lf", "ts", jsontrace_ts_usec(pdata->end_sample));
+       printf("\"%s\": \"%s\"", "name", pda->ann_text[0]);
 
        jsontrace_open_close(FALSE, FALSE, TRUE);
 }