Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global attributes for differential channels #352

Closed
fpagliughi opened this issue Jan 23, 2020 · 10 comments
Closed

Global attributes for differential channels #352

fpagliughi opened this issue Jan 23, 2020 · 10 comments

Comments

@fpagliughi
Copy link
Contributor

I'm playing with a couple types of little SPI devices that each have a single differential voltage input, such as the MPC3201 or the TI ADC0831. These have a single differential voltage channel and timestamp channel:

$ ls -1 /sys/bus/iio/devices/iio:device2/scan_elements
in_timestamp_en
in_timestamp_index
in_timestamp_type
in_voltage0-voltage1_en
in_voltage0-voltage1_index
in_voltage0-voltage1_type

But the scale attribute doesn't follow the channel naming convention, dropping the '0' and '1':

$ ls -1 /sys/bus/iio/devices/iio:device2
buffer
current_timestamp_clock
dev
in_voltage0-voltage1_raw        <-- Same channel, but
in_voltage-voltage_scale        <-- different naming convention
name
...

Notice that it's in_voltage-voltage_scale instead of in_voltage0-voltage1_scale.

This is causing libiio to interpret it as the attributes for a different channel (from iio_info):

	iio:device2: adc0831 (buffer capable)
		3 channels found:
			voltage0-voltage1:  (input, index: 0, format: le:U8/8>>0)
			1 channel-specific attributes found:
				attr  0: raw value: 24
			timestamp:  (input, index: 1, format: le:S64/64>>0)
			voltage-voltage:  (input)
			1 channel-specific attributes found:
				attr  0: scale value: 16.000000000
		1 device-specific attributes found:
				attr  0: current_timestamp_clock value: realtime

It interprets it as a different channel, voltage-voltage: (input),
claiming 3 channels found, instead of 2.

So I can't tell if this is a problem in the kernel or a weird corner case for libiio to handle.

@fpagliughi
Copy link
Contributor Author

Or is this a generic way to say, "all differential channels share this scaling," even though there's only one channel?

@pcercuei
Copy link
Contributor

Is that with an upstream driver? I never saw this "voltage0-voltage1" thing before.
Usually, when you have a "in_voltage_scale" attribute, that means it is shared across all "iio_voltageX" channels.

@fpagliughi
Copy link
Contributor Author

So when libiio sees an attribute like "in_voltage_scale", does it create a "scale" attribute for each voltage channel? Or does it create an additional channel called "voltage" and then the application needs to look for it and apply it manually?

As for the "voltage0-voltage1" thing, this appears to be a representation for differential channels - at least on some low-end I2C and SPI chips that I have been playing with. The ADS1015/1115 chips seem popular with hobby projects probably from their Adafruit breakouts:
https://www.adafruit.com/product/1083

These show several differential paths as well as all four single-ended channels:

iio:device1: ads1015 (buffer capable)
	9 channels found:
		voltage0-voltage1:  (input, index: 0, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: 19
			attr  1: sampling_frequency value: 128
			attr  2: scale value: 3.000000000
		voltage0-voltage3:  (input, index: 1, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: -9
			attr  1: sampling_frequency value: 128
			attr  2: scale value: 3.000000000
		voltage1-voltage3:  (input, index: 2, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: 6
			attr  1: sampling_frequency value: 128
			attr  2: scale value: 3.000000000
		voltage2-voltage3:  (input, index: 3, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: -16
			attr  1: sampling_frequency value: 128
			attr  2: scale value: 3.000000000
		voltage0:  (input, index: 4, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: 177
			attr  1: sampling_frequency value: 490
			attr  2: scale value: 1.000000000
		voltage1:  (input, index: 5, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: 308
			attr  1: sampling_frequency value: 490
			attr  2: scale value: 1.000000000
		voltage2:  (input, index: 6, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: 289
			attr  1: sampling_frequency value: 490
			attr  2: scale value: 1.000000000
		voltage3:  (input, index: 7, format: le:s12/16>>4)
		3 channel-specific attributes found:
			attr  0: raw value: 192
			attr  1: sampling_frequency value: 128
			attr  2: scale value: 3.000000000
		timestamp:  (input, index: 8, format: le:S64/64>>0)
	3 device-specific attributes found:
			attr  0: current_timestamp_clock value: realtime
			attr  1: sampling_frequency_available value: 128 250 490 920 1600 2400 3300
			attr  2: scale_available value: 3 2 1 0.5 0.25 0.125
	1 buffer-specific attributes found:
		attr  0: watermark value: 1

With this driver, although all the differential channels share the same value, they appear in sysfs names individually:

$ ls -1 /sys/bus/iio/devices/iio\:device1
...
in_voltage0_raw
in_voltage0_sampling_frequency
in_voltage0_scale
in_voltage0-voltage1_raw
in_voltage0-voltage1_sampling_frequency
in_voltage0-voltage1_scale
in_voltage0-voltage3_raw
in_voltage0-voltage3_sampling_frequency
in_voltage0-voltage3_scale
in_voltage1-voltage3_raw
in_voltage1-voltage3_sampling_frequency
in_voltage1-voltage3_scale
in_voltage2-voltage3_raw
in_voltage2-voltage3_sampling_frequency
in_voltage2-voltage3_scale
...

Unfortunately, I don't know the IIO kernel stuff very well, so I can't see if that's causing the issue. But it's happening with two different drivers for chips from different vendors, and I don't see anything specific in the drivers themselves. So I'm starting to wonder if this is expected/acceptable behavior from the drivers, and we need to handle it in user space differently.

@pcercuei
Copy link
Contributor

pcercuei commented Jan 24, 2020

So when libiio sees an attribute like "in_voltage_scale", does it create a "scale" attribute for each voltage channel? Or does it create an additional channel called "voltage" and then the application needs to look for it and apply it manually?

It creates a "scale" attribute for each voltage channel, but they internally refer to the same sysfs node.

Unfortunately, I don't know the IIO kernel stuff very well, so I can't see if that's causing the issue. But it's happening with two different drivers for chips from different vendors, and I don't see anything specific in the drivers themselves. So I'm starting to wonder if this is expected/acceptable behavior from the drivers, and we need to handle it in user space differently.

I don't know if it's expected/acceptable behaviour from the drivers, but I can say for sure that libiio won't know how to parse that.

@fpagliughi
Copy link
Contributor Author

It creates a "scale" attribute for each voltage channel, but they internally refer to the same sysfs node.

Oh, good. That's what I was hoping.

I don't know if it's expected/acceptable behaviour from the drivers, but I can say for sure that libiio won't know how to parse that.

It sounds like it's a similar behavior to the single-ended channels. So my guess is that it should probably be handled it in a similar manner - create a "scale" attribute for each differential voltage channel (voltageX-voltageY), but internally refer to the same sysfs node.

I haven't dug too deep into the code for the C lib, but I definitely need to get this fixed, so I can try at it and submit a PR if you think this is the proper way to proceed.

@fpagliughi
Copy link
Contributor Author

Oh... actually this is in the dummy device, including the "in_voltage-voltage_scale" attribute...

IIO context has 1 devices:
	iio:device0: dummydev (buffer capable)
		11 channels found:
			voltage0:  (input, index: 0, format: le:u13/16>>0)
			3 channel-specific attributes found:
				attr  0: offset value: 7
				attr  1: raw value: 73
				attr  2: scale value: 0.001333
-->			voltage1-voltage2:  (input, index: 1, format: le:s12/16>>0)
			1 channel-specific attributes found:
				attr  0: raw value: 33
-->			voltage3-voltage4:  (input, index: 2, format: le:s11/16>>0)
			1 channel-specific attributes found:
				attr  0: raw value: -34
			accel_x:  (input, index: 3, format: le:S16/16>>0)
			3 channel-specific attributes found:
				attr  0: calibbias value: -7
				attr  1: calibscale value: 0.000100
				attr  2: raw value: 34
			timestamp:  (input, index: 4, format: le:S64/64>>0)
			activity_walking:  (input)
			1 channel-specific attributes found:
				attr  0: input value: 4
			voltage0:  (output)
			1 channel-specific attributes found:
				attr  0: raw value: 0
			activity_running:  (input)
			1 channel-specific attributes found:
				attr  0: input value: 98
			steps:  (input)
			3 channel-specific attributes found:
				attr  0: calibheight value: 0
				attr  1: en value: 0
				attr  2: input value: 47
			sampling:  (input)
			1 channel-specific attributes found:
				attr  0: frequency value: 3.000000033
-->			voltage-voltage:  (input)
			1 channel-specific attributes found:
				attr  0: scale value: 0.000001344
		1 device-specific attributes found:
				attr  0: current_timestamp_clock value: realtime

		2 buffer-specific attributes found:
				attr  0: data_available value: 0
				attr  1: watermark value: 1

@fpagliughi fpagliughi changed the title Scale problem on single chan differential device Global attributes for differential channels Jan 25, 2020
fpagliughi added a commit to fpagliughi/libiio that referenced this issue Jan 25, 2020
@rgetz
Copy link
Contributor

rgetz commented Jan 27, 2020

Thanks for the pull request; I assume the pull request works for you?

It will take a bit for us to set up a hardware where we can run a similar driver on, and test things. Thanks for your patience.

@fpagliughi
Copy link
Contributor Author

No worries. We're still just prototyping the hardware. And I'm not totally familiar with the internal working of the library, so if any of you see a better way to do this, by all means, trash my PR and do it the better way.

@rgetz
Copy link
Contributor

rgetz commented Jan 28, 2020

No - I think you are doing it similar to the way that I would have.

Thanks for pointing this out & providing a fix.

  • Robin

@rgetz
Copy link
Contributor

rgetz commented Feb 3, 2020

I think everything is handled in the pull request, so I will close this. If you need it - please reopen.

@rgetz rgetz closed this as completed Feb 3, 2020
dNechita added a commit that referenced this issue Feb 4, 2020
#352 Match global attributes for differential channels.
dNechita added a commit that referenced this issue Feb 14, 2020
Changelog:

09bb1ba Bump to version v0.19
497d3da (origin/rgetz-verbose-iiod-errors) network: Fix typo in error message related to iiod client open
abdd072 Increase error reporting on iiod and network backend
ce10854 iio_attr : Add a feature which auto-generates C code
6c40e8c iio_info: warn when iio_channel_get_type = IIO_CHAN_TYPE_UNKNOWN
e8206c9 Create Code of Conduct.md
ec2f079 Create Contributing.md
6360902 iio_info: use malloc rather than stack buffers
d7838e4 Handle channel IDs without index or modifier correctly
f7c5e7f iio_readdev: Fix corrupt data that was being captured on Windows
49f999c Create README_BUILD.md
6a777b7 (origin/rgetz-fix-licenses) Licences: fix #350, and clean up license.
2914675 (origin/fix-iio_buffer_push_partial) local: Fix the checking of the buffer size returned by kernel
7f96e80 (origin/rgetz-add-man-pages) man: add some default man pages
e8c1291 csharp/IOBuffer.cs: Add a read() function to extract data from the IIO buffer.
22486dc csharp/IOBuffer.cs: Change IntPtr cast to long instead of int.
2abe5f7 Global differential attributes code review requests.
17148ef Improved matching on global attributes for differential channels
a9ac553 cmake : on the CI, turn on WITH_DOC, so gh-pages is updated
d0faf30 cmake: Make the WITH_DOC (Doxygen) optional, defaulting off
a225401 iio.h: improve consistancy of doxygen generated content
bffde86 iio.h: Fix whitespace differences/inconsistances
b079f9d (origin/rgetz-update-svg) doc: update code model picture
d94e149 #352 First attempt to match global attributes for differential channels.
55976f3 Improve URI documentation for iio_create_context_from_uri
dcf3582 (origin/rgetz-add-flags-for-bindings) CI: Make the CI systems respect the new binding flags
f1faa28 Bindings : **NB** Add Cmake flags to turn on bindings (Default=off)
cc9b3c7 ./tests/iio_attr : move from allocating space on stack to malloc
645391b Fix #336, make sure libusb can be found on FreeBSD variants
100f910 fix #336, remove warnings on FreeBSD
3ede102 Update .gitignore in the examples dir
846613c fix #59 - add a readme to the examples directory
df51cc1 ci,lib.sh: print Github API rate limits
423d20d (origin/rgetz-fix-325) Fix #325, remove dead code/compiler warning
8b57196 bindings/csharp/CMakeLists.txt: Fix the install step for CSharp bindings.
673f922 Fix #307 by accepting avahi null names, and install avahi service file
e641094 Python3: fixed string type checking in iio.NetworkContext to be compatible with Python 2 and Python 3.
8a82417 Fixed loading of libiio on non-Windows systems where find_library shall find it in the path if the specified name is 'iio'.
5ca77b1 gh-327: Use "include(FindPythinInterp)" when compiling with CMake older than 3.12.
4470593 Making the printfs in dummy-iiostream portable.
dc3684c Fixing dummy-iiostream read method help message.
1036e51 ci,os-x: disable brew's default install cleanup
a3a4c08 ci,lib: fix typo; correct is `brew list --versions`
4540f7e build,ci: os-x: install packages if they don't exist
c9a854f utilities.c: Consider OS X a platform that has locale support
812cfd2 (origin/context_cmd_line_args) Fixed indentation issues.
ef82d7b ad9361-iiostream.c example takes Command line arguments to select local context vs uri context.
4655780 Python: More robust loading of IIO library that works on different platforms.
e31a4e2 Python: More robust loading of IIO library that works on different platforms.
96a9689 CMake python bindings: "use find_package (Python COMPONENTS Interpreter)" instead of deprecated "include(FindPythonInterp)"
c3bed86 CMake: added option OSX_INSTALL_FRAMEWORKSDIR (default /Library/Frameworks) to specify custom install path. rpath of tools is corrected to reference the library relative to the binary's location.
0fbb31f network: only resolve interface name on ipv6 ll
915adbb README.md: fix OS X High Sierra alternative package link
78170b1 README.md: remove OS X El Capitan (10.11) from readme
c4833c5 build,.travis.yml: add support for Xcode 11
b48d91f .travis.yml: remove/retire Trusty builds
48808dd General: Rework the Windows installer and the zip artifact.
76083a7 travis-ci: recent upgrades in the travis-ci infrastructure caused some breakages in deployments
1773c52 Add example for ADRV9009
6abaaec local.c: make sure dst is null-terminated if fread fails
5090603 fix install of binaries with a static only library
b8f3bf9 Update README.md to include the arm packages
bb9831a iiod: usbd: Fix wrong null pointer check

Adrian Suciu (1):
      local.c: make sure dst is null-terminated if fread fails

Alexandra Trifan (2):
      General: Rework the Windows installer and the zip artifact.
      bindings/csharp/CMakeLists.txt: Fix the install step for CSharp bindings.

Alexandra.Trifan (2):
      csharp/IOBuffer.cs: Change IntPtr cast to long instead of int.
      csharp/IOBuffer.cs: Add a read() function to extract data from the IIO buffer.

Alexandru Ardelean (8):
      .travis.yml: remove/retire Trusty builds
      build,.travis.yml: add support for Xcode 11
      README.md: remove OS X El Capitan (10.11) from readme
      README.md: fix OS X High Sierra alternative package link
      build,ci: os-x: install packages if they don't exist
      ci,lib: fix typo; correct is `brew list --versions`
      ci,os-x: disable brew's default install cleanup
      ci,lib.sh: print Github API rate limits

Dan Nechita (22):
      utilities.c: Consider OS X a platform that has locale support
      Merge pull request #304 from dimasad/master
      Merge pull request #332 from matejk/fix-linux-load-library
      Merge pull request #333 from matejk/fix-python-2-3-string-check
      Merge pull request #341 from analogdevicesinc/build-print-remaining-api-limits
      Merge pull request #348 from analogdevicesinc/rgetz-move-to-malloc
      Merge pull request #347 from analogdevicesinc/rgetz-add-flags-for-bindings
      Merge pull request #356 from analogdevicesinc/rgetz-fix-iio.h
      Merge pull request #353 from analogdevicesinc/rgetz-promote-WITH-DOC
      Merge pull request #354 from fpagliughi/differential-global-attr
      Merge pull request #360 from analogdevicesinc/csharp_fixes
      local: Fix the checking of the buffer size returned by kernel
      Merge pull request #362 from analogdevicesinc/fix-iio_buffer_push_partial
      Merge pull request #361 from analogdevicesinc/rgetz-patch-1
      iio_readdev: Fix corrupt data that was being captured on Windows
      Merge pull request #358 from analogdevicesinc/rgetz-fix-licenses
      Merge pull request #366 from hshmt/type
      Merge pull request #369 from analogdevicesinc/rgetz-malloc-iio-info
      Merge pull request #375 from analogdevicesinc/rgetz-iio_attr-gen-code2
      network: Fix typo in error message related to iiod client open
      Merge pull request #376 from analogdevicesinc/rgetz-verbose-iiod-errors
      Bump to version v0.19

Dimas Abreu Archanjo Dutra (2):
      Fixing dummy-iiostream read method help message.
      Making the printfs in dummy-iiostream portable.

Edward Kigwana (1):
      Improve URI documentation for iio_create_context_from_uri

Jorik Jonker (1):
      network: only resolve interface name on ipv6 ll

Matej Kenda (8):
      CMake: added option OSX_INSTALL_FRAMEWORKSDIR (default /Library/Frameworks) to specify custom install path. rpath of tools is corrected to reference the library relative to the binary's location.
      CMake python bindings: "use find_package (Python COMPONENTS Interpreter)" instead of deprecated "include(FindPythonInterp)"
      Python: More robust loading of IIO library that works on different platforms.
      Python: More robust loading of IIO library that works on different platforms.
      Merge branch 'python-find-library' of github.com:matejk/libiio into python-find-library
      gh-327: Use "include(FindPythinInterp)" when compiling with CMake older than 3.12.
      Fixed loading of libiio on non-Windows systems where find_library shall find it in the path if the specified name is 'iio'.
      Python3: fixed string type checking in iio.NetworkContext to be compatible with Python 2 and Python 3.

Michael Hennerich (7):
      Merge pull request #279 from analogdevicesinc/iiod-nullptr-fix
      Merge pull request #290 from analogdevicesinc/coverity_fix_cid343595
      Merge pull request #297 from jonkerj/fix-network-global-ipv6
      Merge pull request #314 from matejk/python-find-library
      Merge pull request #312 from matejk/osx-install-frameworksdir
      Merge pull request #313 from matejk/cmake-find-python
      Merge pull request #319 from analogdevicesinc/context_cmd_line_args

Paul Cercueil (1):
      iiod: usbd: Fix wrong null pointer check

Pierre-Jean Texier (1):
      fix install of binaries with a static only library

Robin Getz (38):
      Update README.md to include the arm packages
      travis-ci: recent upgrades in the travis-ci infrastructure caused some breakages in deployments
      Merge pull request #283 from texierp/fix/rpath
      Merge pull request #328 from matejk/gh-327-python-not-found
      Fix #307 by accepting avahi null names, and install avahi service file
      Merge pull request #338 from analogdevicesinc/rgetz-avahi-install
      Merge pull request #337 from analogdevicesinc/fix_install_csharp
      Fix #325, remove dead code/compiler warning
      Merge pull request #340 from analogdevicesinc/rgetz-fix-325
      fix #59 - add a readme to the examples directory
      Update .gitignore in the examples dir
      Merge pull request #342 from analogdevicesinc/rgetz-patch-2
      fix #336, remove warnings on FreeBSD
      Merge pull request #339 from analogdevicesinc/rgetz-patch-1
      Fix #336, make sure libusb can be found on FreeBSD variants
      ./tests/iio_attr : move from allocating space on stack to malloc
      Merge pull request #343 from analogdevicesinc/rgetz-patch-2
      Merge pull request #346 from analogdevicesinc/rgetz-fix-freebsd-usb
      Bindings : **NB** Add Cmake flags to turn on bindings (Default=off)
      CI: Make the CI systems respect the new binding flags
      doc: update code model picture
      Merge pull request #351 from ekigwana/master
      iio.h: Fix whitespace differences/inconsistances
      iio.h: improve consistancy of doxygen generated content
      cmake: Make the WITH_DOC (Doxygen) optional, defaulting off
      cmake : on the CI, turn on WITH_DOC, so gh-pages is updated
      man: add some default man pages
      Licences: fix #350, and clean up license.
      Create README_BUILD.md
      iio_info: use malloc rather than stack buffers
      Create Contributing.md
      Create Code of Conduct.md
      iio_info: warn when iio_channel_get_type = IIO_CHAN_TYPE_UNKNOWN
      Merge pull request #374 from analogdevicesinc/rgetz-iio-info-add-warn-on-IIO_CHAN_TYPE_UNKNOWN
      Merge pull request #371 from analogdevicesinc/rgetz-create-contributing.md
      Merge pull request #372 from analogdevicesinc/add-code-of-conduct-1
      iio_attr : Add a feature which auto-generates C code
      Increase error reporting on iiod and network backend

Ryo Hashimoto (1):
      Handle channel IDs without index or modifier correctly

SrikanthPagadarai (2):
      ad9361-iiostream.c example takes Command line arguments to select local context vs uri context.
      Fixed indentation issues.

Travis Collins (2):
      Merge pull request #355 from analogdevicesinc/rgetz-update-svg
      Merge pull request #359 from analogdevicesinc/rgetz-add-man-pages

Travis F. Collins (1):
      Add example for ADRV9009

fpagliughi (3):
      #352 First attempt to match global attributes for differential channels.
      Improved matching on global attributes for differential channels
      Global differential attributes code review requests.

Signed-off-by: Dan Nechita <[email protected]>
cristi-iacob pushed a commit to cristi-iacob/libiio that referenced this issue Feb 18, 2020
cristi-iacob pushed a commit to cristi-iacob/libiio that referenced this issue Feb 18, 2020
Changelog:

09bb1ba Bump to version v0.19
497d3da (origin/rgetz-verbose-iiod-errors) network: Fix typo in error message related to iiod client open
abdd072 Increase error reporting on iiod and network backend
ce10854 iio_attr : Add a feature which auto-generates C code
6c40e8c iio_info: warn when iio_channel_get_type = IIO_CHAN_TYPE_UNKNOWN
e8206c9 Create Code of Conduct.md
ec2f079 Create Contributing.md
6360902 iio_info: use malloc rather than stack buffers
d7838e4 Handle channel IDs without index or modifier correctly
f7c5e7f iio_readdev: Fix corrupt data that was being captured on Windows
49f999c Create README_BUILD.md
6a777b7 (origin/rgetz-fix-licenses) Licences: fix analogdevicesinc#350, and clean up license.
2914675 (origin/fix-iio_buffer_push_partial) local: Fix the checking of the buffer size returned by kernel
7f96e80 (origin/rgetz-add-man-pages) man: add some default man pages
e8c1291 csharp/IOBuffer.cs: Add a read() function to extract data from the IIO buffer.
22486dc csharp/IOBuffer.cs: Change IntPtr cast to long instead of int.
2abe5f7 Global differential attributes code review requests.
17148ef Improved matching on global attributes for differential channels
a9ac553 cmake : on the CI, turn on WITH_DOC, so gh-pages is updated
d0faf30 cmake: Make the WITH_DOC (Doxygen) optional, defaulting off
a225401 iio.h: improve consistancy of doxygen generated content
bffde86 iio.h: Fix whitespace differences/inconsistances
b079f9d (origin/rgetz-update-svg) doc: update code model picture
d94e149 analogdevicesinc#352 First attempt to match global attributes for differential channels.
55976f3 Improve URI documentation for iio_create_context_from_uri
dcf3582 (origin/rgetz-add-flags-for-bindings) CI: Make the CI systems respect the new binding flags
f1faa28 Bindings : **NB** Add Cmake flags to turn on bindings (Default=off)
cc9b3c7 ./tests/iio_attr : move from allocating space on stack to malloc
645391b Fix analogdevicesinc#336, make sure libusb can be found on FreeBSD variants
100f910 fix analogdevicesinc#336, remove warnings on FreeBSD
3ede102 Update .gitignore in the examples dir
846613c fix analogdevicesinc#59 - add a readme to the examples directory
df51cc1 ci,lib.sh: print Github API rate limits
423d20d (origin/rgetz-fix-325) Fix analogdevicesinc#325, remove dead code/compiler warning
8b57196 bindings/csharp/CMakeLists.txt: Fix the install step for CSharp bindings.
673f922 Fix analogdevicesinc#307 by accepting avahi null names, and install avahi service file
e641094 Python3: fixed string type checking in iio.NetworkContext to be compatible with Python 2 and Python 3.
8a82417 Fixed loading of libiio on non-Windows systems where find_library shall find it in the path if the specified name is 'iio'.
5ca77b1 analogdevicesincgh-327: Use "include(FindPythinInterp)" when compiling with CMake older than 3.12.
4470593 Making the printfs in dummy-iiostream portable.
dc3684c Fixing dummy-iiostream read method help message.
1036e51 ci,os-x: disable brew's default install cleanup
a3a4c08 ci,lib: fix typo; correct is `brew list --versions`
4540f7e build,ci: os-x: install packages if they don't exist
c9a854f utilities.c: Consider OS X a platform that has locale support
812cfd2 (origin/context_cmd_line_args) Fixed indentation issues.
ef82d7b ad9361-iiostream.c example takes Command line arguments to select local context vs uri context.
4655780 Python: More robust loading of IIO library that works on different platforms.
e31a4e2 Python: More robust loading of IIO library that works on different platforms.
96a9689 CMake python bindings: "use find_package (Python COMPONENTS Interpreter)" instead of deprecated "include(FindPythonInterp)"
c3bed86 CMake: added option OSX_INSTALL_FRAMEWORKSDIR (default /Library/Frameworks) to specify custom install path. rpath of tools is corrected to reference the library relative to the binary's location.
0fbb31f network: only resolve interface name on ipv6 ll
915adbb README.md: fix OS X High Sierra alternative package link
78170b1 README.md: remove OS X El Capitan (10.11) from readme
c4833c5 build,.travis.yml: add support for Xcode 11
b48d91f .travis.yml: remove/retire Trusty builds
48808dd General: Rework the Windows installer and the zip artifact.
76083a7 travis-ci: recent upgrades in the travis-ci infrastructure caused some breakages in deployments
1773c52 Add example for ADRV9009
6abaaec local.c: make sure dst is null-terminated if fread fails
5090603 fix install of binaries with a static only library
b8f3bf9 Update README.md to include the arm packages
bb9831a iiod: usbd: Fix wrong null pointer check

Adrian Suciu (1):
      local.c: make sure dst is null-terminated if fread fails

Alexandra Trifan (2):
      General: Rework the Windows installer and the zip artifact.
      bindings/csharp/CMakeLists.txt: Fix the install step for CSharp bindings.

Alexandra.Trifan (2):
      csharp/IOBuffer.cs: Change IntPtr cast to long instead of int.
      csharp/IOBuffer.cs: Add a read() function to extract data from the IIO buffer.

Alexandru Ardelean (8):
      .travis.yml: remove/retire Trusty builds
      build,.travis.yml: add support for Xcode 11
      README.md: remove OS X El Capitan (10.11) from readme
      README.md: fix OS X High Sierra alternative package link
      build,ci: os-x: install packages if they don't exist
      ci,lib: fix typo; correct is `brew list --versions`
      ci,os-x: disable brew's default install cleanup
      ci,lib.sh: print Github API rate limits

Dan Nechita (22):
      utilities.c: Consider OS X a platform that has locale support
      Merge pull request analogdevicesinc#304 from dimasad/master
      Merge pull request analogdevicesinc#332 from matejk/fix-linux-load-library
      Merge pull request analogdevicesinc#333 from matejk/fix-python-2-3-string-check
      Merge pull request analogdevicesinc#341 from analogdevicesinc/build-print-remaining-api-limits
      Merge pull request analogdevicesinc#348 from analogdevicesinc/rgetz-move-to-malloc
      Merge pull request analogdevicesinc#347 from analogdevicesinc/rgetz-add-flags-for-bindings
      Merge pull request analogdevicesinc#356 from analogdevicesinc/rgetz-fix-iio.h
      Merge pull request analogdevicesinc#353 from analogdevicesinc/rgetz-promote-WITH-DOC
      Merge pull request analogdevicesinc#354 from fpagliughi/differential-global-attr
      Merge pull request analogdevicesinc#360 from analogdevicesinc/csharp_fixes
      local: Fix the checking of the buffer size returned by kernel
      Merge pull request analogdevicesinc#362 from analogdevicesinc/fix-iio_buffer_push_partial
      Merge pull request analogdevicesinc#361 from analogdevicesinc/rgetz-patch-1
      iio_readdev: Fix corrupt data that was being captured on Windows
      Merge pull request analogdevicesinc#358 from analogdevicesinc/rgetz-fix-licenses
      Merge pull request analogdevicesinc#366 from hshmt/type
      Merge pull request analogdevicesinc#369 from analogdevicesinc/rgetz-malloc-iio-info
      Merge pull request analogdevicesinc#375 from analogdevicesinc/rgetz-iio_attr-gen-code2
      network: Fix typo in error message related to iiod client open
      Merge pull request analogdevicesinc#376 from analogdevicesinc/rgetz-verbose-iiod-errors
      Bump to version v0.19

Dimas Abreu Archanjo Dutra (2):
      Fixing dummy-iiostream read method help message.
      Making the printfs in dummy-iiostream portable.

Edward Kigwana (1):
      Improve URI documentation for iio_create_context_from_uri

Jorik Jonker (1):
      network: only resolve interface name on ipv6 ll

Matej Kenda (8):
      CMake: added option OSX_INSTALL_FRAMEWORKSDIR (default /Library/Frameworks) to specify custom install path. rpath of tools is corrected to reference the library relative to the binary's location.
      CMake python bindings: "use find_package (Python COMPONENTS Interpreter)" instead of deprecated "include(FindPythonInterp)"
      Python: More robust loading of IIO library that works on different platforms.
      Python: More robust loading of IIO library that works on different platforms.
      Merge branch 'python-find-library' of github.com:matejk/libiio into python-find-library
      analogdevicesincgh-327: Use "include(FindPythinInterp)" when compiling with CMake older than 3.12.
      Fixed loading of libiio on non-Windows systems where find_library shall find it in the path if the specified name is 'iio'.
      Python3: fixed string type checking in iio.NetworkContext to be compatible with Python 2 and Python 3.

Michael Hennerich (7):
      Merge pull request analogdevicesinc#279 from analogdevicesinc/iiod-nullptr-fix
      Merge pull request analogdevicesinc#290 from analogdevicesinc/coverity_fix_cid343595
      Merge pull request analogdevicesinc#297 from jonkerj/fix-network-global-ipv6
      Merge pull request analogdevicesinc#314 from matejk/python-find-library
      Merge pull request analogdevicesinc#312 from matejk/osx-install-frameworksdir
      Merge pull request analogdevicesinc#313 from matejk/cmake-find-python
      Merge pull request analogdevicesinc#319 from analogdevicesinc/context_cmd_line_args

Paul Cercueil (1):
      iiod: usbd: Fix wrong null pointer check

Pierre-Jean Texier (1):
      fix install of binaries with a static only library

Robin Getz (38):
      Update README.md to include the arm packages
      travis-ci: recent upgrades in the travis-ci infrastructure caused some breakages in deployments
      Merge pull request analogdevicesinc#283 from texierp/fix/rpath
      Merge pull request analogdevicesinc#328 from matejk/analogdevicesincgh-327-python-not-found
      Fix analogdevicesinc#307 by accepting avahi null names, and install avahi service file
      Merge pull request analogdevicesinc#338 from analogdevicesinc/rgetz-avahi-install
      Merge pull request analogdevicesinc#337 from analogdevicesinc/fix_install_csharp
      Fix analogdevicesinc#325, remove dead code/compiler warning
      Merge pull request analogdevicesinc#340 from analogdevicesinc/rgetz-fix-325
      fix analogdevicesinc#59 - add a readme to the examples directory
      Update .gitignore in the examples dir
      Merge pull request analogdevicesinc#342 from analogdevicesinc/rgetz-patch-2
      fix analogdevicesinc#336, remove warnings on FreeBSD
      Merge pull request analogdevicesinc#339 from analogdevicesinc/rgetz-patch-1
      Fix analogdevicesinc#336, make sure libusb can be found on FreeBSD variants
      ./tests/iio_attr : move from allocating space on stack to malloc
      Merge pull request analogdevicesinc#343 from analogdevicesinc/rgetz-patch-2
      Merge pull request analogdevicesinc#346 from analogdevicesinc/rgetz-fix-freebsd-usb
      Bindings : **NB** Add Cmake flags to turn on bindings (Default=off)
      CI: Make the CI systems respect the new binding flags
      doc: update code model picture
      Merge pull request analogdevicesinc#351 from ekigwana/master
      iio.h: Fix whitespace differences/inconsistances
      iio.h: improve consistancy of doxygen generated content
      cmake: Make the WITH_DOC (Doxygen) optional, defaulting off
      cmake : on the CI, turn on WITH_DOC, so gh-pages is updated
      man: add some default man pages
      Licences: fix analogdevicesinc#350, and clean up license.
      Create README_BUILD.md
      iio_info: use malloc rather than stack buffers
      Create Contributing.md
      Create Code of Conduct.md
      iio_info: warn when iio_channel_get_type = IIO_CHAN_TYPE_UNKNOWN
      Merge pull request analogdevicesinc#374 from analogdevicesinc/rgetz-iio-info-add-warn-on-IIO_CHAN_TYPE_UNKNOWN
      Merge pull request analogdevicesinc#371 from analogdevicesinc/rgetz-create-contributing.md
      Merge pull request analogdevicesinc#372 from analogdevicesinc/add-code-of-conduct-1
      iio_attr : Add a feature which auto-generates C code
      Increase error reporting on iiod and network backend

Ryo Hashimoto (1):
      Handle channel IDs without index or modifier correctly

SrikanthPagadarai (2):
      ad9361-iiostream.c example takes Command line arguments to select local context vs uri context.
      Fixed indentation issues.

Travis Collins (2):
      Merge pull request analogdevicesinc#355 from analogdevicesinc/rgetz-update-svg
      Merge pull request analogdevicesinc#359 from analogdevicesinc/rgetz-add-man-pages

Travis F. Collins (1):
      Add example for ADRV9009

fpagliughi (3):
      analogdevicesinc#352 First attempt to match global attributes for differential channels.
      Improved matching on global attributes for differential channels
      Global differential attributes code review requests.

Signed-off-by: Dan Nechita <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants