From a849c43a5070fce7b39d31383d4b370872e40a2b Mon Sep 17 00:00:00 2001 From: Martin Ling Date: Wed, 22 Jan 2014 04:48:33 +0000 Subject: [PATCH] scpi_usbtmc: Improve debugging output. --- hardware/common/scpi_usbtmc.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/hardware/common/scpi_usbtmc.c b/hardware/common/scpi_usbtmc.c index 3c98c06b..75fcf3ae 100644 --- a/hardware/common/scpi_usbtmc.c +++ b/hardware/common/scpi_usbtmc.c @@ -119,6 +119,8 @@ static int scpi_usbtmc_read_begin(void *priv) uscpi->response_length = len; uscpi->response_bytes_read = 0; + sr_spew("Read %d bytes from device into buffer", len); + return SR_OK; } @@ -127,13 +129,18 @@ static int scpi_usbtmc_read_data(void *priv, char *buf, int maxlen) struct usbtmc_scpi *uscpi = priv; int read_length; - if (uscpi->response_length == MAX_READ_LENGTH - && uscpi->response_bytes_read == uscpi->response_length) - if (scpi_usbtmc_read_begin(uscpi) != SR_OK) - return SR_ERR; + sr_spew("%d bytes requested", maxlen); - if (uscpi->response_bytes_read >= uscpi->response_length) - return SR_ERR; + if (uscpi->response_bytes_read == uscpi->response_length) { + sr_spew("Buffer is empty."); + if (uscpi->response_length == MAX_READ_LENGTH) { + sr_spew("Previous read was of maximum length, reading again."); + if (scpi_usbtmc_read_begin(uscpi) != SR_OK) + return SR_ERR; + } else { + return SR_ERR; + } + } read_length = uscpi->response_length - uscpi->response_bytes_read; @@ -144,6 +151,9 @@ static int scpi_usbtmc_read_data(void *priv, char *buf, int maxlen) uscpi->response_bytes_read += read_length; + sr_spew("Returned %d bytes from buffer, %d/%d bytes of buffer now read", + read_length, uscpi->response_bytes_read, uscpi->response_length); + return read_length; }