]> sigrok.org Git - libsigrokdecode.git/blobdiff - type_decoder.c
log: Use human-readable output type name everywhere.
[libsigrokdecode.git] / type_decoder.c
index 6692c3d44e34c54960381aa56812748726e81406..2ce7fc15740a74573f52d2a33e57be51ee9c4919 100644 (file)
@@ -31,7 +31,7 @@ typedef struct {
 } srd_Decoder;
 
 /* This is only used for nicer srd_dbg() output. */
-static const char *output_type_name(unsigned int idx)
+SRD_PRIV const char *output_type_name(unsigned int idx)
 {
        static const char names[][16] = {
                "OUTPUT_ANN",
@@ -254,7 +254,7 @@ static inline struct srd_decoder_inst *srd_inst_find_by_obj(
        sess = sessions->data;
        di = sess->di_list->data;
        if (di->py_inst == obj)
-               return di; 
+               return di;
 
        di = NULL;
        for (l = sessions; di == NULL && l != NULL; l = l->next) {
@@ -353,9 +353,12 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
        }
        pdo = l->data;
 
-       srd_spew("Instance %s put %" PRIu64 "-%" PRIu64 " %s on oid %d.",
-                di->inst_id, start_sample, end_sample,
-                output_type_name(pdo->output_type), output_id);
+       /* Upon SRD_OUTPUT_PYTHON for stacked PDs, we have a nicer log message later. */
+       if (pdo->output_type != SRD_OUTPUT_PYTHON && di->next_di != NULL) {
+               srd_spew("Instance %s put %" PRIu64 "-%" PRIu64 " %s on oid %d.",
+                        di->inst_id, start_sample, end_sample,
+                        output_type_name(pdo->output_type), output_id);
+       }
 
        pdata.start_sample = start_sample;
        pdata.end_sample = end_sample;
@@ -381,8 +384,10 @@ static PyObject *Decoder_put(PyObject *self, PyObject *args)
        case SRD_OUTPUT_PYTHON:
                for (l = di->next_di; l; l = l->next) {
                        next_di = l->data;
-                       srd_spew("Sending %" PRIu64 "-%" PRIu64 " to instance %s",
-                                start_sample, end_sample, next_di->inst_id);
+                       srd_spew("Instance %s put %" PRIu64 "-%" PRIu64 " %s on "
+                                "oid %d to instance %s.", di->inst_id, start_sample,
+                                end_sample, output_type_name(pdo->output_type),
+                                output_id, next_di->inst_id);
                        if (!(py_res = PyObject_CallMethod(
                                next_di->py_inst, "decode", "KKO", start_sample,
                                end_sample, py_data))) {
@@ -514,8 +519,8 @@ static PyObject *Decoder_register(PyObject *self, PyObject *args,
                return py_new_output_id;
        }
 
-       srd_dbg("Instance %s creating new output type %d for %s.",
-               di->inst_id, output_type, proto_id);
+       srd_dbg("Instance %s creating new output type %s for %s.",
+               di->inst_id, output_type_name(output_type), proto_id);
 
        pdo = g_malloc(sizeof(struct srd_pd_output));