#define UNKNOWN_ADDRESS 0xff
#define MAX_RENUM_DELAY_MS 3000
-static const uint32_t devopts[] = {
+static const uint32_t drvopts[] = {
SR_CONF_LOGIC_ANALYZER,
+};
+
+static const uint32_t devopts[] = {
SR_CONF_SAMPLERATE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_CAPTURE_RATIO | SR_CONF_GET | SR_CONF_SET,
SR_CONF_TRIGGER_MATCH | SR_CONF_LIST,
size_t i;
int r;
- if (sdi->status == SR_ST_ACTIVE)
- return SR_ERR;
-
drvc = sdi->driver->context;
usb = sdi->conn;
}
if (!usb->devhdl)
- return SR_ERR;
+ return SR_ERR_BUG;
libusb_release_interface(usb->devhdl, 0);
libusb_close(usb->devhdl);
usb->devhdl = NULL;
- sdi->status = SR_ST_INACTIVE;
-
return SR_OK;
}
GVariantBuilder vb;
GVariant *var;
- (void)sdi;
- (void)cg;
-
switch (key) {
case SR_CONF_DEVICE_OPTIONS:
- *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32,
- devopts, ARRAY_SIZE(devopts),
- sizeof(uint32_t));
- break;
+ return STD_CONFIG_LIST(key, data, sdi, cg, NULL, drvopts, devopts);
case SR_CONF_SAMPLERATE:
g_variant_builder_init(&vb, G_VARIANT_TYPE("a{sv}"));
var = g_variant_new_fixed_array(G_VARIANT_TYPE("t"),
.cleanup = std_cleanup,
.scan = scan,
.dev_list = std_dev_list,
+ .dev_clear = std_dev_clear,
.config_get = config_get,
.config_set = config_set,
.config_list = config_list,