Skip to content

Releases: fpagliughi/rust-industrial-io

Version 0.5.2

03 Feb 21:49
Compare
Choose a tag to compare

Minor release to add the new "utilities" build feature and update some dependencies.

  • PR #26 - Added 'utilities' feature to be able to turn off build of binary applications (i.e. only build the library).
  • #21 - Update nix dependency to avoid linking vulnerable version
  • Updated dependencies for clap and ctrlc crates.

Version 0.5.1 - Minor point release. macOS on Intel.

05 Feb 19:26
Compare
Choose a tag to compare
  • iio_info_rs utility now supports network and URI contexts.
  • PR #19 macOS build makes a distinction for Intel and non-Intel builds when searching for Homebrew Frameworks (libiio library).
  • PR #20 Fix some clippy suggestions. Particularly cleaner casting of raw pointers, etc.

Version 0.5.0 - Better multithreading

31 Jan 15:06
Compare
Choose a tag to compare
  • Started loosening thread safety restrictions:
    • The Context is now Send and Sync. Internally it has canverted to using an Arc instead of an Rc to track it's internal data.
    • The Device is now Send.
    • For high performance with multiple device, though, it's still recommended to used fully-cloned contexts for each device
    • For now, Channel and Buffer objects are still !Send and !Sync. So they should live in the same thread as their channel.
  • New functions to manipulate Context and InnerContext objects:
    • Context::try_release_inner() attempts to get the inner context out of the context wrapper.
    • Context::try_deep_clone() to make a new context around a deep copy of the inner context (and thus a copy of the C lib context).
    • From<InnerContext> for Context

Version 0.4.1

28 Jan 23:16
Compare
Choose a tag to compare

Fixed v0.4.0 release which was done from the wrong branch.

Version 0.4.0 - MacOS support and updated attributes

28 Jan 23:09
Compare
Choose a tag to compare
  • #12 Context construction now takes a Backend enumeration type.
  • The InnerContext is now public and can be cloned and sent to another thread to create a cloned context in the other thread.
  • #15 Generic attr_read() and attr_write() functions for devices, channels, and buffers.
  • #17 macOS support (for network clients)
  • Buffer attribute read/write functions and iterators moved into the Buffer struct.
  • Buffer struct now contains a clone of the Device from which it was created.
  • Device and Channel now support Clone trait.
  • Updates to the examples for more/different hardware.
  • New Version struct which is returned by the library and Context version query functions.

Version 0.3 - libiio v0.21 and new Error handling

26 May 19:17
Compare
Choose a tag to compare
  • Support for libiio v0.21
  • Updated error handling:
    • Support for std::error
    • Implementation changed to use thiserror (from error_chain)
    • Specific types defined for common errors intead of just string descriptions (WrongDataType, BadReturnSize, InvalidIndex, etc)
  • New device capabilities:
    • remove_trigger()
    • is_buffer_capable()
  • New utility app: riio_stop_all

v0.2 - Coverage for most of the underlying library

29 Dec 14:49
Compare
Choose a tag to compare

This adds support for much of the functionality of the underlying libiio library, including:

  • Support for libiio v0.18
  • Further implementation of libiio functions for contexts, devices, channels, etc.
  • Functions to read and write buffers, with and without conversions, and to convert individual samples to and from hardware format.
  • [Breaking] Removed previous ChannelType for Input/Output as it conflicted with the library's channel types of Voltage, Current, Power, etc, and implemented the library type.
  • Contexts have a ref-counted "inner" representation using Rc<>, and can be "cloned" quickly by incrementing the count. (Thanks, @skrap!)
  • Devices carry a cloned reference to the context that created them, thus keeping the context alive until the last device using it gets dropped.
  • Some clippy-recommended lints.
  • Example app to collect and process data a buffer at a time, with conversions.

v0.1 - Initial release

22 Nov 01:48
Compare
Choose a tag to compare
Pre-release

An initial release with modest coverage of the API.