GRiSP Erlang Runtime

continous integrationhex.pm versionhex.pm licenseerlang versions

Website · Wiki · Forums

<br/>

GRiSP 2 board on wood

Create amazing Internet of Things designs without soldering or dropping down to C. The GRiSP project makes building internet-connected hardware devices easier with Erlang!

This repository contains the Erlang runtime and support code for the GRiSP hardware platform.

Getting Started

The easiest way to get started is to use the Rebar 3 or Mix plug-ins for GRiSP.

Erlang

Install the GRiSP Rebar 3 plug-in globally by adding {plugins, [rebar3_grisp]}. to ~/.config/rebar3/rebar.config.

Create a new project:

# Create a new GRiSP application (use the real mount path of your SD card)
rebar3 new grispapp name=demo dest=/path/to/SD-card
cd demo

# Deploy the application to your SD-card
rebar3 grisp deploy

Hardware

GRiSP hardware supports many different connection standards:

Peripherals can be connected to either PMOD ports or I/O pins directly.

GRiSP 2 (grisp2)

GRiSP 2 hardware

GRiSP 2 ships with the following features:

GRiSP 1 (grisp_base)

GRiSP 1 hardware

GRiSP 1 ships with the following features:

Testing

The project has a [hardware emulation layer in software][grisp_emulation] that allows you to use the runtime locally on a normal computer. To start a local shell for the runtime use:

$ rebar3 as test shell

Glossary

1-Wire
Long-distance serial communication bus.
GPIO
General Purpose Input/Output. Digital signal pin interface used to interface with single pins.
I2C
Inter-Intergrated Circuit. Short-distance synchronous serial computer bus.
JTAG
On-chip instrumentation and debugging interface.
PMOD
A peripheral device that implements the [Digilent Pmod™ connection form factor and interface][PMOD].
Slot
A physical slot where a component can be connected. E.g. `SPI1` where an SPI PMOD can be connected.
SPI
Serial Peripheral Interface. Synchronous serial communication interface.
UART
Universal Asynchronous Receiver-Transmitter. Asynchronous serial communication interface.