]> sigrok.org Git - libsigrok.git/blobdiff - session.c
sigrok.h: Add SIGROK_{MAJOR,MINOR,MICRO,}_VERSION #defines.
[libsigrok.git] / session.c
index b80ab7d59f489ff4bcd3e87918a2e3454b2ee806..bbcf5bc923172328f5b7be322f7172c3304861aa 100644 (file)
--- a/session.c
+++ b/session.c
@@ -54,6 +54,7 @@ struct sr_session *sr_session_new(void)
 
 void sr_session_destroy(void)
 {
+
        g_slist_free(session->devices);
 
        /* TODO: Loop over protocol decoders and free them. */
@@ -210,6 +211,33 @@ void sr_session_stop(void)
 
 }
 
+static void datafeed_dump(struct sr_datafeed_packet *packet)
+{
+       struct sr_datafeed_logic *logic;
+
+       switch (packet->type) {
+       case SR_DF_HEADER:
+               sr_dbg("bus: received SR_DF_HEADER");
+               break;
+       case SR_DF_TRIGGER:
+               sr_dbg("bus: received SR_DF_TRIGGER at %lu ms",
+                               packet->timeoffset / 1000000);
+               break;
+       case SR_DF_LOGIC:
+               logic = packet->payload;
+               sr_dbg("bus: received SR_DF_LOGIC at %f ms duration %f ms, %"PRIu64" bytes",
+                               packet->timeoffset / 1000000.0, packet->duration / 1000000.0,
+                               logic->length);
+               break;
+       case SR_DF_END:
+               sr_dbg("bus: received SR_DF_END");
+               break;
+       default:
+               sr_dbg("bus: received unknown packet type %d", packet->type);
+       }
+
+}
+
 void sr_session_bus(struct sr_device *device, struct sr_datafeed_packet *packet)
 {
        GSList *l;
@@ -221,6 +249,7 @@ void sr_session_bus(struct sr_device *device, struct sr_datafeed_packet *packet)
         */
        for (l = session->datafeed_callbacks; l; l = l->next) {
                cb = l->data;
+               datafeed_dump(packet);
                cb(device, packet);
        }
 }