X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fasix-sigma%2Fapi.c;h=542aadbb16c7df56a4a782ab793a5ebe0eb8a9ca;hb=f778bf02eaf0d7fa7ccb91a0da8a68233f1fb79a;hp=30d32da4e343c5eb5b697da4e28cd0c64c40b9f0;hpb=f670835f1fbc03525e995d6970a5495976ab7c1a;p=libsigrok.git diff --git a/src/hardware/asix-sigma/api.c b/src/hardware/asix-sigma/api.c index 30d32da4..542aadbb 100644 --- a/src/hardware/asix-sigma/api.c +++ b/src/hardware/asix-sigma/api.c @@ -61,7 +61,7 @@ static const int32_t trigger_matches[] = { static int dev_clear(const struct sr_dev_driver *di) { - return std_dev_clear(di, sigma_clear_helper); + return std_dev_clear_with_callback(di, sigma_clear_helper); } static GSList *scan(struct sr_dev_driver *di, GSList *options) @@ -140,18 +140,13 @@ static int dev_open(struct sr_dev_inst *sdi) devc = sdi->priv; - /* Make sure it's an ASIX SIGMA. */ if ((ret = ftdi_usb_open_desc(&devc->ftdic, - USB_VENDOR, USB_PRODUCT, USB_DESCRIPTION, NULL)) < 0) { - - sr_err("ftdi_usb_open failed: %s", - ftdi_get_error_string(&devc->ftdic)); - - return 0; + USB_VENDOR, USB_PRODUCT, USB_DESCRIPTION, NULL)) < 0) { + sr_err("Failed to open device (%d): %s.", + ret, ftdi_get_error_string(&devc->ftdic)); + return SR_ERR; } - sdi->status = SR_ST_ACTIVE; - return SR_OK; } @@ -161,13 +156,7 @@ static int dev_close(struct sr_dev_inst *sdi) devc = sdi->priv; - /* TODO */ - if (sdi->status == SR_ST_ACTIVE) - ftdi_usb_close(&devc->ftdic); - - sdi->status = SR_ST_INACTIVE; - - return SR_OK; + return (ftdi_usb_close(&devc->ftdic) == 0) ? SR_OK : SR_ERR; } static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *sdi, @@ -212,9 +201,6 @@ static int config_set(uint32_t key, GVariant *data, const struct sr_dev_inst *sd (void)cg; - if (sdi->status != SR_ST_ACTIVE) - return SR_ERR_DEV_CLOSED; - devc = sdi->priv; ret = SR_OK;