From: Kumar Abhishek Date: Thu, 20 Jul 2017 14:43:10 +0000 (+0000) Subject: beaglelogic: Flexible sampleunit depending on enabled channels X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=e71062d99b0dd565258abb5a3d975379bf9febdb;p=libsigrok.git beaglelogic: Flexible sampleunit depending on enabled channels If a channel in the higher-than-8-bit group is enabled then use 16-bit captures. Otherwise just do 8-bit captures. Signed-off-by: Kumar Abhishek --- diff --git a/src/hardware/beaglelogic/api.c b/src/hardware/beaglelogic/api.c index 464527ed..d93f4af3 100644 --- a/src/hardware/beaglelogic/api.c +++ b/src/hardware/beaglelogic/api.c @@ -252,15 +252,22 @@ static int config_list(uint32_t key, GVariant **data, static int dev_acquisition_start(const struct sr_dev_inst *sdi) { struct dev_context *devc = sdi->priv; + GSList *l; struct sr_trigger *trigger; + struct sr_channel *channel; /* Clear capture state */ devc->bytes_read = 0; devc->offset = 0; /* Configure channels */ - devc->sampleunit = g_slist_length(sdi->channels) > 8 ? - BL_SAMPLEUNIT_16_BITS : BL_SAMPLEUNIT_8_BITS; + devc->sampleunit = BL_SAMPLEUNIT_8_BITS; + + for (l = sdi->channels; l; l = l->next) { + channel = l->data; + if (channel->index >= 8 && channel->enabled) + devc->sampleunit = BL_SAMPLEUNIT_16_BITS; + } beaglelogic_set_sampleunit(devc); /* Configure triggers & send header packet */