Skip to content

Releases: elixir-circuits/circuits_spi

v2.0.3

20 Apr 11:59
Compare
Choose a tag to compare
  • Improvements
    • Improve target detection so that setting MIX_TARGET when not
      crosscompiling does the expected thing on MacOS.
    • Explain lsb-first-related error message on some devices. @mnishiguchi

v2.0.2

19 Jan 01:21
Compare
Choose a tag to compare
  • Bug fixes
    • Remove lazy NIF loading. There's an unexplained segfault in a small example
      program that uses the same strategy. Even though it wasn't reproduceable
      here, it's not worth the risk. Thanks to @pojiro for investigating.

v2.0.1

14 Jan 13:58
Compare
Choose a tag to compare
  • Changes
    • Fix race condition when multiple processes load the NIF simultaneously that
      would cause an unnecessary crash.

v2.0.0

12 Nov 23:14
Compare
Choose a tag to compare

Official v2.0.0 release. No changes from v2.0.0-pre.0.

v2.0.0-pre.0

30 May 12:43
Compare
Choose a tag to compare
v2.0.0-pre.0 Pre-release
Pre-release

This is a major update to Circuits.SPI that removes the requirement to use
Nerves or Linux. The API is almost the same and the default is to compile and
use the Linux backend, so changes may not be needed.

This is a prerelease so APIs may still change before the v2.0.0 release.

  • Changes
    • Support alternative backends for different operating systems or for
      simulated hardware
    • Defer loading the Linux NIF until Circuits.SPI.open/2 is called

v1.4.0

01 Jan 01:19
Compare
Choose a tag to compare
  • Changes
    • Remove Erlang convenience functions since no one used them
    • Require Elixir 1.10 or later. Previous versions probably work, but won't be
      supported. This opens up the possibility of using Elixir 1.10+ features in
      future releases.

v1.3.0

22 Feb 00:22
Compare
Choose a tag to compare
  • Updates
    • Add transfer!/2. This function is the raising version of transfer/2.
      Thanks to @mnishiguchi for this.

v1.2.0

24 Jan 02:38
Compare
Choose a tag to compare
  • Updates
    • Add the :lsb_first option to support SPI transfers that send the least
      significant bit first rather than the most significant one. If the bit
      reversal isn't supported by the hardware, a software version is used.
    • Add config/1 to return the configuration for an SPI bus reference. This is
      useful for checking what is actually being used.
    • Update transfer/2 to support iodata. This makes the interface more
      convenient since now you can prepend SPI message headers in your code
      without having to concatenate binaries.
    • Support full paths being passed to SPI devices in open/2. Previously this
      resulted in errors, but it was easy to forget.

v1.1.0

28 Dec 19:00
Compare
Choose a tag to compare
  • Updates

    • Add max_transfer_size/0 to return the low level maximum size that can be
      sent at a time. Thanks to @cocoa-xu for this.
  • Bug fixes

    • Properly mark NIF transfer function as IO bound so that the Erlang scheduler
      schedules it properly.

v1.0.0

22 Oct 00:42
Compare
Choose a tag to compare

This release only changes the version number. No code has changed.