You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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
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.
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.