On 06/10/2016 11:40 AM, Neil Armstrong wrote: > 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.
This is already possible using iio_channel_get_data_format(). > > Another good work would be to be able to get float values from libIIO, thus > simplifying the applications using libIIO. Sigrok supports integer analog samples. The problem is pulseview doesn't. What's necessary is to add C++ bindings for sr_analog_to_float() and then use that in pulseview rather than blindly assuming that the payload data is floats. > > 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