erlang-ale -- Erlang Actor Library for Embedded
Erlang/ALE provides high level abstractions that use Erlang facilities to interface with the hardware peripherals on embedded platforms. Raspberry Pi is our current development platform but running ALE on other platforms should be relatively straightforward too since the lowest layer hardware drivers are not baked into the ALE itself.
Warning
This is very much a work in progress and things are likely to be fragile as we tidy things up. Currently the hardware module supported are I2C, SPI and PWM.
Getting started
Log in to your Pi and fetch the latest version of ALE using git:
git clone https://github.com/esl/erlang-ale.git
Fetch the dependencies and build erlang-ale:
cd erlang-ale && make
You can ignore the errors generated by this.
Running
Use make shell
to set things up and start a shell.
Quick check: Turn a LED on
Set a pin as an output:
gpio_sup:start_link([{23, output}]).
Turn it on:
gpio:write(23, 1).
A more detailed usage of the GPIO module can be found in
examples/gpio_counter.erl
Comments and suggestions
...are most welcome! Please use the issue tracker or email us at
embedded@erlang-solutions.com
License
erlang-ale is licensed under the Apache License, Version 2.0 (the "License");
You may not use this library except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.