From a53278de01008e1ea04f06d6ae3a32de37d1797c Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Wed, 1 Jan 2014 18:24:45 +0100 Subject: [PATCH] rigol-ds: fix waveform reception on DS2000 series The ":WAV:DATA?" scpi command must be sent before calling sr_scpi_read_begin(). --- hardware/rigol-ds/protocol.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/hardware/rigol-ds/protocol.c b/hardware/rigol-ds/protocol.c index fc938e9d..eefed074 100644 --- a/hardware/rigol-ds/protocol.c +++ b/hardware/rigol-ds/protocol.c @@ -457,13 +457,17 @@ SR_PRIV int rigol_ds_receive(int fd, int revents, void *cb_data) probe = devc->channel_entry->data; + if (devc->num_block_bytes == 0 && + devc->model->protocol == PROTOCOL_IEEE488_2) { + if (sr_scpi_send(sdi->conn, ":WAV:DATA?") != SR_OK) + return TRUE; + } + if (devc->num_block_bytes == 0) { if (sr_scpi_read_begin(scpi) != SR_OK) return TRUE; if (devc->model->protocol == PROTOCOL_IEEE488_2) { sr_dbg("New block header expected"); - if (sr_scpi_send(sdi->conn, ":WAV:DATA?") != SR_OK) - return TRUE; len = rigol_ds_read_header(scpi); if (len == -1) return TRUE;