]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/gwinstek-gpd/api.c
gwinstek-gpd: Add support for GPD-3303S.
[libsigrok.git] / src / hardware / gwinstek-gpd / api.c
index ac2fe2e17409d8567a6e765f08a35119c826df3a..c59ec00f30de9740ca1bdfc67c91ca25565f3fe2 100644 (file)
@@ -60,6 +60,16 @@ static const struct gpd_model models[] = {
                        { { 0, 30, 0.001 }, { 0, 3, 0.001 } },
                },
        },
+       { GPD_3303S, "GPD-3303S",
+               CHANMODE_INDEPENDENT,
+               2,
+               {
+                       /* Channel 1 */
+                       { { 0, 32, 0.001 }, { 0, 3.2, 0.001 } },
+                       /* Channel 2 */
+                       { { 0, 32, 0.001 }, { 0, 3.2, 0.001 } },
+               },
+       },
 };
 
 static GSList *scan(struct sr_dev_driver *di, GSList *options)
@@ -107,7 +117,6 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options)
        if (serial_open(serial, SERIAL_RDWR) != SR_OK)
                return NULL;
 
-       serial_flush(serial);
        gpd_send_cmd(serial, "*IDN?\n");
        if (gpd_receive_reply(serial, reply, sizeof(reply)) != SR_OK) {
                sr_err("Device did not reply.");
@@ -220,7 +229,7 @@ error:
 static int config_get(uint32_t key, GVariant **data,
        const struct sr_dev_inst *sdi, const struct sr_channel_group *cg)
 {
-       int ret, channel;
+       int channel;
        const struct dev_context *devc;
        const struct sr_channel *ch;
 
@@ -244,7 +253,6 @@ static int config_get(uint32_t key, GVariant **data,
        } else {
                ch = cg->channels->data;
                channel = ch->index;
-               ret = SR_OK;
                switch (key) {
                case SR_CONF_VOLTAGE:
                        *data = g_variant_new_double(
@@ -267,7 +275,7 @@ static int config_get(uint32_t key, GVariant **data,
                }
        }
 
-       return ret;
+       return SR_OK;
 }
 
 static int config_set(uint32_t key, GVariant *data,