X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fbaylibre-acme%2Fapi.c;h=201f9341cc04743ef434dfa38374d54c42cda300;hb=61f2b7f74cd2d05cacb2bfb3cad2c2d67c856f47;hp=89d8b09e6d37e17319f2d6012f2bc532876f0ab9;hpb=d3c81725aeff955b45da41d6f4810569d660e40d;p=libsigrok.git diff --git a/src/hardware/baylibre-acme/api.c b/src/hardware/baylibre-acme/api.c index 89d8b09e..201f9341 100644 --- a/src/hardware/baylibre-acme/api.c +++ b/src/hardware/baylibre-acme/api.c @@ -27,6 +27,7 @@ static const uint32_t devopts[] = { SR_CONF_LIMIT_SAMPLES | SR_CONF_GET | SR_CONF_SET, SR_CONF_LIMIT_MSEC | SR_CONF_GET | SR_CONF_SET, SR_CONF_SAMPLERATE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, + SR_CONF_PROBE_FACTOR | SR_CONF_GET | SR_CONF_SET, }; #define MAX_SAMPLE_RATE 500 /* In Hz */ @@ -168,8 +169,7 @@ static int config_get(uint32_t key, GVariant **data, { struct dev_context *devc; int ret; - - (void)cg; + uint64_t shunt; devc = sdi->priv; @@ -184,6 +184,13 @@ static int config_get(uint32_t key, GVariant **data, case SR_CONF_SAMPLERATE: *data = g_variant_new_uint64(devc->samplerate); break; + case SR_CONF_PROBE_FACTOR: + if (!cg) + return SR_ERR_CHANNEL_GROUP; + ret = bl_acme_get_shunt(cg, &shunt); + if (ret == SR_OK) + *data = g_variant_new_uint64(shunt); + break; default: return SR_ERR_NA; } @@ -199,8 +206,6 @@ static int config_set(uint32_t key, GVariant *data, uint64_t samplerate; int ret; - (void)cg; - if (sdi->status != SR_ST_ACTIVE) return SR_ERR_DEV_CLOSED; @@ -229,6 +234,11 @@ static int config_set(uint32_t key, GVariant *data, devc->samplerate = samplerate; sr_dbg("Setting samplerate to %" PRIu64, devc->samplerate); break; + case SR_CONF_PROBE_FACTOR: + if (!cg) + return SR_ERR_CHANNEL_GROUP; + ret = bl_acme_set_shunt(cg, g_variant_get_uint64(data)); + break; default: ret = SR_ERR_NA; }