]> sigrok.org Git - libsigrok.git/blobdiff - hardware/kecheng-kc-330b/api.c
demo: Keep separate counters for logic and analog sources.
[libsigrok.git] / hardware / kecheng-kc-330b / api.c
index 02f4b0e01dab72f87981b0fe51511d771df87f61..d9e647d12f682818dda54d23133db5de601cdb9e 100644 (file)
@@ -252,12 +252,15 @@ static int cleanup(void)
        return ret;
 }
 
-static int config_get(int key, GVariant **data, const struct sr_dev_inst *sdi)
+static int config_get(int key, GVariant **data, const struct sr_dev_inst *sdi,
+               const struct sr_probe_group *probe_group)
 {
        struct dev_context *devc;
        GVariant *rational[2];
        const uint64_t *si;
 
+       (void)probe_group;
+
        devc = sdi->priv;
        switch (key) {
        case SR_CONF_LIMIT_SAMPLES:
@@ -298,7 +301,8 @@ static int config_get(int key, GVariant **data, const struct sr_dev_inst *sdi)
        return SR_OK;
 }
 
-static int config_set(int key, GVariant *data, const struct sr_dev_inst *sdi)
+static int config_set(int key, GVariant *data, const struct sr_dev_inst *sdi,
+               const struct sr_probe_group *probe_group)
 {
        struct dev_context *devc;
        uint64_t p, q;
@@ -306,6 +310,8 @@ static int config_set(int key, GVariant *data, const struct sr_dev_inst *sdi)
        int tmp, ret;
        const char *tmp_str;
 
+       (void)probe_group;
+
        if (sdi->status != SR_ST_ACTIVE)
                return SR_ERR_DEV_CLOSED;
 
@@ -375,13 +381,15 @@ static int config_set(int key, GVariant *data, const struct sr_dev_inst *sdi)
        return ret;
 }
 
-static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi)
+static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi,
+               const struct sr_probe_group *probe_group)
 {
        GVariant *tuple, *rational[2];
        GVariantBuilder gvb;
        unsigned int i;
 
        (void)sdi;
+       (void)probe_group;
 
        switch (key) {
        case SR_CONF_DEVICE_OPTIONS:
@@ -424,9 +432,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
        struct sr_config *src;
        struct sr_usb_dev_inst *usb;
        GVariant *gvar, *rational[2];
-       const struct libusb_pollfd **pfd;
        const uint64_t *si;
-       int stored_mqflags, req_len, buf_len, len, ret, i;
+       int stored_mqflags, req_len, buf_len, len, ret;
        unsigned char buf[9];
 
        if (sdi->status != SR_ST_ACTIVE)
@@ -486,15 +493,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi,
        if (!(devc->xfer = libusb_alloc_transfer(0)))
                return SR_ERR;
 
-       pfd = libusb_get_pollfds(drvc->sr_ctx->libusb_ctx);
-       for (i = 0; pfd[i]; i++) {
-               /* Handle USB events every 10ms. */
-               sr_source_add(pfd[i]->fd, pfd[i]->events, 10,
-                               kecheng_kc_330b_handle_events, (void *)sdi);
-               /* We'll need to remove this fd later. */
-               devc->usbfd[i] = pfd[i]->fd;
-       }
-       devc->usbfd[i] = -1;
+       usb_source_add(drvc->sr_ctx, 10,
+               kecheng_kc_330b_handle_events, (void *)sdi);
 
        if (devc->data_source == DATA_SOURCE_LIVE) {
                buf[0] = CMD_GET_LIVE_SPL;