ex_lcd
ex_lcd copied to clipboard
A hex package to support character matrix LCD displays in Elixir
ExLCD
ExLCD is a Hex package providing an API and support for character matrix LCD displays in your Elixir and nerves projects. It uses elixir_ale for hardware IO.
The hardware interface and the user API are separate modules providing relative hardware independence. This provides you with the ability to change displays without significant changes your application code.
Disclaimer: This is still under heavy development and probably isn't suited for production use. Please consider testing and contributing to improving the project.
Documentation
Project and API documentation is available online at hexdocs.pm
Examples
Example applications using ExLCD are available in the cthree/ex_lcd_examples Github repository.
Contributing
If you wish to support a new type of display module, fix or report a bug, add a feature or otherwise contribute to the project please open an issue to discuss your issue or idea. I'm happy to accept suggestions, bug reports, pull requests and other help. Driver modules for unsupported displays is especially appreciated.
Acknowledgements
Many thanks to @tmecklem for inspiration and encouragement. ExLCD started as his elixir_lcd package.
License
Licensed under the Apache-2.0 license. Please see the LICENSE file included in the repository if you are unfamiliar with the terms and conditions.
Installation
ExLCD is available in Hex, the package can be installed as a dependency of your project:
- Add ex_lcd to your list of dependencies in
mix.exs
:
def deps do
[{:ex_lcd, "~> 0.4.0"}]
end
- Ensure ex_lcd is started before your application:
def application(_target) do
[mod: {MyApplication.Application, []},
extra_applications: [:ex_lcd]]
end