Nerves.Leds
Simple API to drive leds exposed by linux /sys/class/leds
. Designed for use with Nerves, but works on any distribution of Linux with /sys/class/leds
.
Installation
If available in Hex, the package can be installed as:
- Add
nerves_leds
to your list of dependencies inmix.exs
:
def deps do
[{:nerves_leds, "~> 0.1.1"}]
end
- List
:nerves_leds
as an application dependency:
def application do
[applications: [:nerves_leds]]
end
- Run
mix deps.get
andmix compile
Configuration & Usage
Configure your LEDs mappings:
# config/config.exs
config :nerves_leds, names: [ error: "led0", connect: "led1" ]
Now, you can use predefined states in your app:
alias Nerves.Leds
Leds.set connect: true
Leds.set connect: :heartbeat
Leds.set connect: false, error: :slowlbink
You can also define your own states:
# config/config.exs
config :nerves_leds, states: [
fastblink: [ trigger: "timer", delay_off: 40, delay_on: 30 ],
blip: [ trigger: "timer", delay_off: 1000, delay_on: 100 ]]
More Details
See the documentation for the full description of the API and configuration.