]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hantek-dso/protocol.c
zeroplus-logic-cube: move USB VID:PID check in scan before device access
[libsigrok.git] / src / hardware / hantek-dso / protocol.c
index c74187ada435f2441e7aa3b88ed926194c9d530b..408f61122a07dad0bd606c0bbddc4871ed11f168 100644 (file)
@@ -280,7 +280,7 @@ static int dso2250_set_trigger_samplerate(const struct sr_dev_inst *sdi)
                tmp = 3;
        else if (!strcmp("CH1", devc->triggersource))
                tmp = 2;
-       else if (!strcmp("EXT", devc->triggersource))
+       else if (!strcmp("EXT", devc->triggersource) || !strcmp("forced", devc->triggersource))
                tmp = 0;
        else {
                sr_err("Invalid trigger source: '%s'.", devc->triggersource);
@@ -326,7 +326,8 @@ static int dso2250_set_trigger_samplerate(const struct sr_dev_inst *sdi)
        }
 
        tmp = base / devc->samplerate;
-       if (tmp) {
+       /* Downsample only if really necessary */
+       if (tmp > 1) {
                /* Downsampling on */
                cmdstring[2] |= 2;
                /* Downsampler = 1comp((Base / Samplerate) - 2)
@@ -425,7 +426,7 @@ SR_PRIV int dso_set_trigger_samplerate(const struct sr_dev_inst *sdi)
                tmp = 0;
        else if (!strcmp("CH1", devc->triggersource))
                tmp = 1;
-       else if (!strcmp("EXT", devc->triggersource))
+       else if (!strcmp("EXT", devc->triggersource) || !strcmp("forced", devc->triggersource))
                tmp = 2;
        else {
                sr_err("Invalid trigger source: '%s'.", devc->triggersource);