Hi Lars,
Thanks for your quick reply

On 06/09/2016 06:13 PM, Lars-Peter Clausen wrote:
> Hi,
> 
> Thanks for the update. I also did some work on the what Hubert released this
> year.
> 
> Part of this I created a generic software event based session source. It's
> cross platform and even works on Windows. You can find it here:
> https://github.com/analogdevicesinc/libsigrok/tree/sr_event

Great, it's basically how I managed the sync, but I also passed the refill size 
through the PIPE.
Having such event sync will make the generic-iio work under Windows.

> 
> The other thing is that we always need to use the threaded approach. The
> get_pollfd() is unfortunately conceptually broken and can result in
> deadlocks and crashes. We going to deprecate this API in libiio since it
> can't be used safely.

It's safer for sure.

> 
> Also have a look at the work-in-progress iio_buffer_cancel() API
> (https://github.com/analogdevicesinc/libiio/commit/2f00d5ead5f96d025b57af60a1fc17bc2083767f).
> This was also motivated by the sigrok support so we can interrupt the
> refill() operation and cancel the thread. The is most important if e.g. the
> network connection fails in that case we don't want to get stuck in the 
> thread.

This will help for these corner cases.

> And one more thing is support for querying the channel type and modifier
> from libiio (https://github.com/analogdevicesinc/libiio/tree/channel_type).
> This allows to remove the rather ugly (and unreliable) regex in the IIO
> sigrok driver.

It's clearly better to have this in libiio.
But we still need a better way to get the sample informations like size or 
signed.

Another good work would be to be able to get float values from libIIO, thus 
simplifying the applications using libIIO.

For 0.4.0 and 0.3.0 we plan to make a stable driver based on libiio 0.6.0, but 
for sigrok master I'll be pleased to switch to these enhancements !

Neil

> - Lars
> 
> On 06/09/2016 05:27 PM, Neil Armstrong wrote:
>> Hi Sigrok community,
>>
>> This is a follow-up from the first draft of a Generic IIO driver for Sigrok 
>> posted at [1].
>>
>> Since, I made a backport for the 0.3.0 release and PPA packages to run it on 
>> current Ubuntu distributions.
>>
>> The 0.4.0 version is on-going but our ultimate goal is to have it upstreamed 
>> part of the official sigrok release.
>>
>> The sigrok IIO development is part of the next BayLibre ACME support via the 
>> IIO infrastructure, to be able to gather measurements from the Host instead 
>> of the on-device sigrok instance.
>>
>> The new repository is https://github.com/baylibre-acme/libsigrok
>>
>> IIO development branches are :
>>  - libsigrok-0.3.x-iio for the 0.3.x branch
>>  - libsigrok-0.4.x-iio for the 0.4.x branch
>>
>> Before rebasing on master, I would like to have a review of the current 
>> implementation.
>>
>> The implementation differs from the previous draft by using channel_group 
>> instances for each IIO device of a context.
>> This gives ability to get multiple probes at the same time, but also be able 
>> to get a single one by disabling the unwanted groups.
>>
>> For the next steps, please tell me how I can submit a new draft.
>>
>> [1] https://sourceforge.net/p/sigrok/mailman/message/34728951/
>>
>> Regards,
>> Neil
>>
>> ------------------------------------------------------------------------------
>> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
>> patterns at an interface-level. Reveals which users, apps, and protocols are 
>> consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
>> J-Flow, sFlow and other flows. Make informed decisions using capacity 
>> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
>> _______________________________________________
>> sigrok-devel mailing list
>> sigrok-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/sigrok-devel
>>
> 


------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to