X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Ffx2lafw%2Fapi.c;h=d4643ff760f491e2269602000345f0739c5e6511;hb=4d7b36a0b59ec1c9d2aad42d1859dbbd7a88ffc6;hp=3242afcead486cb01dc4a7490d37101f6f4a4871;hpb=b62bb97afb6c09c75cf06be917ee40fe9330b34d;p=libsigrok.git diff --git a/src/hardware/fx2lafw/api.c b/src/hardware/fx2lafw/api.c index 3242afce..d4643ff7 100644 --- a/src/hardware/fx2lafw/api.c +++ b/src/hardware/fx2lafw/api.c @@ -428,6 +428,8 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { struct dev_context *devc; + uint64_t arg; + unsigned int i; int ret; (void)cg; @@ -445,7 +447,15 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi, switch (id) { case SR_CONF_SAMPLERATE: - devc->cur_samplerate = g_variant_get_uint64(data); + arg = g_variant_get_uint64(data); + for (i = 0; i < ARRAY_SIZE(samplerates); i++) { + if (samplerates[i] == arg) { + devc->cur_samplerate = arg; + break; + } + } + if (i == ARRAY_SIZE(samplerates)) + ret = SR_ERR_ARG; break; case SR_CONF_LIMIT_SAMPLES: devc->limit_samples = g_variant_get_uint64(data);