ScrollHat

Elixir driver for the Pimoroni Scroll Hat LED boards:

See the python library also

Usage

The main interface is via the ScrollHat.Display module which interacts with the IS31FL3731 LED driver according to the pinout for the ScrollHat.

Ensure you start the display to initialize the driver manually or in your supervision tree:

{:ok, _pid} = ScrollHat.Display.start_link()

The draw/2 and marquee/3 accept a 2D 7x17 canvas matrix where each value represents the LED at that location starting from top-left. Values must be a positive integer, 0-255, where 0 disables the LED and any value greater than 0 sets the brightness to that level.

The frame argument is the frame (0-7) to write for the LED driver. The default is the first frame 0. However, this rarely needs to be used as it is mainly intended as a memory store on the LED driver chip and is mainly provided for convenience. The state of the display is instead kept in ScrollHat.Display

When using marquee/3, a canvas larger than 7x17 can be supplied in which the display will attempt to scroll through, left -> right, moving one LED column at a time.

A ScrollHat.Font has been provided as a convenience to transform text into a canvas for display:

canvas = ScrollHat.Font.graph("howdy")
ScrollHat.Display.draw(canvas)