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)