From: Gerhard Sittig Date: Sat, 22 May 2021 10:26:18 +0000 (+0200) Subject: siglent-sds: move model dependent request emission to after identification X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=2f464b6c85281396ce06fd03167aa47b35d0c40a;p=libsigrok.git siglent-sds: move model dependent request emission to after identification Device or model or protocol variant specific commands should only be used after the device reliably got identified. The "CHDR OFF" command upsets other devices and needs to move after *IDN? and model checks. --- diff --git a/src/hardware/siglent-sds/api.c b/src/hardware/siglent-sds/api.c index 172c8af2..846399b6 100644 --- a/src/hardware/siglent-sds/api.c +++ b/src/hardware/siglent-sds/api.c @@ -257,10 +257,6 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi) const struct siglent_sds_model *model; gchar *channel_name; - sr_dbg("Setting Communication Headers to off."); - if (sr_scpi_send(scpi, "CHDR OFF") != SR_OK) - return NULL; - if (sr_scpi_get_hw_id(scpi, &hw_info) != SR_OK) { sr_info("Couldn't get IDN response, retrying."); sr_scpi_close(scpi); @@ -284,6 +280,10 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi) return NULL; } + sr_dbg("Setting Communication Headers to off."); + if (sr_scpi_send(scpi, "CHDR OFF") != SR_OK) + return NULL; + sdi = g_malloc0(sizeof(struct sr_dev_inst)); sdi->vendor = g_strdup(model->series->vendor->name); sdi->model = g_strdup(model->name);