rigol-ds: Fix reading data from internal memory

According to the programming manual, one should issue

    :WAV:RES
    :WAV:BEG

before reading data from internal memory. Without this, the wrong data
will be returned.
This commit is contained in:
Valentin Ochs 2020-06-11 16:12:25 +02:00 committed by Uwe Hermann
parent 1cbb3b1cfb
commit 704910e32c
1 changed files with 9 additions and 1 deletions

View File

@ -493,6 +493,11 @@ SR_PRIV int rigol_ds_channel_start(const struct sr_dev_inst *sdi)
devc->data_source == DATA_SOURCE_LIVE ?
":WAV:MODE NORM" :":WAV:MODE RAW") != SR_OK)
return SR_ERR;
if (devc->data_source != DATA_SOURCE_LIVE) {
if (rigol_ds_config_set(sdi, ":WAV:RES") != SR_OK)
return SR_ERR;
}
break;
}
@ -651,9 +656,12 @@ SR_PRIV int rigol_ds_receive(int fd, int revents, void *cb_data)
return TRUE;
}
if (devc->model->series->protocol >= PROTOCOL_V3)
if (devc->model->series->protocol >= PROTOCOL_V3) {
if (rigol_ds_config_set(sdi, ":WAV:BEG") != SR_OK)
return TRUE;
if (sr_scpi_send(sdi->conn, ":WAV:DATA?") != SR_OK)
return TRUE;
}
if (sr_scpi_read_begin(scpi) != SR_OK)
return TRUE;