Wafer is an Elixir library to make writing drivers for i2c and SPI connected peripherals and interacting with GPIO pins easier.
Find a file
2019-12-30 13:12:42 +13:00
lib I believe that everything I wanted now works. Yowza! 2019-12-30 13:12:42 +13:00
test I believe that everything I wanted now works. Yowza! 2019-12-30 13:12:42 +13:00
.formatter.exs Empty mix application. 2019-12-20 10:24:51 +13:00
.gitignore First pass. 2019-12-29 17:12:36 +13:00
.gitlab-ci.yml I believe that everything I wanted now works. Yowza! 2019-12-30 13:12:42 +13:00
mix.exs I believe that everything I wanted now works. Yowza! 2019-12-30 13:12:42 +13:00
mix.lock I believe that everything I wanted now works. Yowza! 2019-12-30 13:12:42 +13:00
README.md I believe that everything I wanted now works. Yowza! 2019-12-30 13:12:42 +13:00

Wafer

Wafer is an OTP application that assists with writing drivers for peripherals using I2C, SPI and GPIO pins.

Wafer provides Elixir protocols for interacting with device registers and dealing with GPIO, so that you can use directly connected hardware GPIO pins or GPIO expanders such as the MCP23008 or the CD74HC595 SPI shift register.

Wafer implements the GPIO and Chip protocols for ElixirALE's GPIO and I2C drivers, Circuits.GPIO and Circuits.I2C. Implementing it for SPI should also be trivial, I just don't have any SPI devices to test with at the moment.

Installation

If available in Hex, the package can be installed by adding wafer to your list of dependencies in mix.exs:

def deps do
  [
    {:wafer, "~> 0.1"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/wafer.