return SR_OK;
}
-static int dev_clear(void)
-{
- return std_dev_clear(di, NULL);
-}
-
static int init(struct sr_context *sr_ctx)
{
return std_init(sr_ctx, di, LOG_PREFIX);
static int cleanup(void)
{
- return dev_clear();
+ return std_dev_clear(di, NULL);
}
static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi,
- const struct sr_probe_group *probe_group)
+ const struct sr_channel_group *channel_group)
{
struct dev_context *devc;
- (void)probe_group;
+ (void)channel_group;
switch (id) {
case SR_CONF_SAMPLERATE:
sr_spew("Returning samplerate: %" PRIu64 "Hz.",
devc->cur_samplerate);
} else
- return SR_ERR;
+ return SR_ERR_ARG;
break;
case SR_CONF_CAPTURE_RATIO:
if (sdi) {
devc = sdi->priv;
*data = g_variant_new_uint64(devc->capture_ratio);
} else
- return SR_ERR;
+ return SR_ERR_ARG;
break;
case SR_CONF_VOLTAGE_THRESHOLD:
if (sdi) {
range[1] = g_variant_new_double(devc->cur_threshold);
*data = g_variant_new_tuple(range, 2);
} else
- return SR_ERR;
+ return SR_ERR_ARG;
break;
default:
return SR_ERR_NA;
}
static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi,
- const struct sr_probe_group *probe_group)
+ const struct sr_channel_group *channel_group)
{
struct dev_context *devc;
gdouble low, high;
- (void)probe_group;
+ (void)channel_group;
if (sdi->status != SR_ST_ACTIVE)
return SR_ERR_DEV_CLOSED;
}
static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi,
- const struct sr_probe_group *probe_group)
+ const struct sr_channel_group *channel_group)
{
struct dev_context *devc;
- GVariant *gvar;
+ GVariant *gvar, *grange[2];
GVariantBuilder gvb;
double v;
GVariant *range[2];
- (void)probe_group;
+ (void)channel_group;
switch (key) {
case SR_CONF_DEVICE_OPTIONS:
}
*data = g_variant_builder_end(&gvb);
break;
+ case SR_CONF_LIMIT_SAMPLES:
+ if (!sdi)
+ return SR_ERR_ARG;
+ devc = sdi->priv;
+ grange[0] = g_variant_new_uint64(0);
+ grange[1] = g_variant_new_uint64(devc->max_sample_depth);
+ *data = g_variant_new_tuple(grange, 2);
+ break;
default:
return SR_ERR_NA;
}
.cleanup = cleanup,
.scan = scan,
.dev_list = dev_list,
- .dev_clear = dev_clear,
+ .dev_clear = NULL,
.config_get = config_get,
.config_set = config_set,
.config_list = config_list,