ols: Support get/set/list on all device options
Where it makes sense: _LOGIC_ANALYZER and _TRIGGER_TYPE don't have much use for all of them.
This commit is contained in:
parent
8f35be72b4
commit
0c05591abf
|
@ -29,6 +29,7 @@ static const int32_t hwopts[] = {
|
||||||
static const int32_t hwcaps[] = {
|
static const int32_t hwcaps[] = {
|
||||||
SR_CONF_LOGIC_ANALYZER,
|
SR_CONF_LOGIC_ANALYZER,
|
||||||
SR_CONF_SAMPLERATE,
|
SR_CONF_SAMPLERATE,
|
||||||
|
SR_CONF_TRIGGER_TYPE,
|
||||||
SR_CONF_CAPTURE_RATIO,
|
SR_CONF_CAPTURE_RATIO,
|
||||||
SR_CONF_LIMIT_SAMPLES,
|
SR_CONF_LIMIT_SAMPLES,
|
||||||
SR_CONF_RLE,
|
SR_CONF_RLE,
|
||||||
|
@ -240,13 +241,22 @@ static int config_get(int id, GVariant **data, const struct sr_dev_inst *sdi)
|
||||||
{
|
{
|
||||||
struct dev_context *devc;
|
struct dev_context *devc;
|
||||||
|
|
||||||
|
if (!sdi)
|
||||||
|
return SR_ERR_ARG;
|
||||||
|
|
||||||
|
devc = sdi->priv;
|
||||||
switch (id) {
|
switch (id) {
|
||||||
case SR_CONF_SAMPLERATE:
|
case SR_CONF_SAMPLERATE:
|
||||||
if (sdi) {
|
*data = g_variant_new_uint64(devc->cur_samplerate);
|
||||||
devc = sdi->priv;
|
break;
|
||||||
*data = g_variant_new_uint64(devc->cur_samplerate);
|
case SR_CONF_CAPTURE_RATIO:
|
||||||
} else
|
*data = g_variant_new_uint64(devc->capture_ratio);
|
||||||
return SR_ERR;
|
break;
|
||||||
|
case SR_CONF_LIMIT_SAMPLES:
|
||||||
|
*data = g_variant_new_uint64(devc->limit_samples);
|
||||||
|
break;
|
||||||
|
case SR_CONF_RLE:
|
||||||
|
*data = g_variant_new_boolean(devc->flag_reg & FLAG_RLE ? TRUE : FALSE);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return SR_ERR_ARG;
|
return SR_ERR_ARG;
|
||||||
|
@ -277,10 +287,7 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi)
|
||||||
tmp_u64 = g_variant_get_uint64(data);
|
tmp_u64 = g_variant_get_uint64(data);
|
||||||
if (tmp_u64 < MIN_NUM_SAMPLES)
|
if (tmp_u64 < MIN_NUM_SAMPLES)
|
||||||
return SR_ERR;
|
return SR_ERR;
|
||||||
if (tmp_u64 > devc->max_samples)
|
|
||||||
sr_err("Sample limit exceeds hardware maximum.");
|
|
||||||
devc->limit_samples = tmp_u64;
|
devc->limit_samples = tmp_u64;
|
||||||
sr_info("Sample limit is %" PRIu64 ".", devc->limit_samples);
|
|
||||||
ret = SR_OK;
|
ret = SR_OK;
|
||||||
break;
|
break;
|
||||||
case SR_CONF_CAPTURE_RATIO:
|
case SR_CONF_CAPTURE_RATIO:
|
||||||
|
|
Loading…
Reference in New Issue