From: Gerhard Sittig Date: Mon, 8 Oct 2018 15:07:07 +0000 (+0200) Subject: serial: dump DMM packets during stream detection X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=e5fa47c1c938fc7389d18df314784871e16049ae;p=libsigrok.git serial: dump DMM packets during stream detection Regular operation of serial DMM drivers optionally can dump packet bytes after the intialization phase has synchronized to the stream. Failure to synchronize to the stream left developers without a dump, which complicates research what went wrong. Do dump packet content while the serial_stream_detect() routine tries to synchronize to the stream. Use the spew level since the dump occurs upon every attempt, which translates to: every received byte until a valid packet was seen (or the synchronization phase expired). --- diff --git a/src/serial.c b/src/serial.c index 3c7ab643..ca46ea51 100644 --- a/src/serial.c +++ b/src/serial.c @@ -715,7 +715,11 @@ SR_PRIV int serial_stream_detect(struct sr_serial_dev_inst *serial, time /= 1000; if ((ibuf - i) >= packet_size) { + GString *text; /* We have at least a packet's worth of data. */ + text = sr_hexdump_new(&buf[i], packet_size); + sr_spew("Trying DMM packet: %s", text->str); + sr_hexdump_free(text); if (is_valid(&buf[i])) { sr_spew("Found valid %zu-byte packet after " "%" PRIu64 "ms.", (ibuf - i), time);