Pilot your rgb led matrix with Nodejs on Raspberry Pi ! Nodejs binding of rpi-rgb-led-matrix library https://github.com/hzeller/rpi-rgb-led-matrix
Fork of: https://github.com/zeitungen/node-rpi-rgb-led-matrix
Actively being maintained and modified for: https://github.com/easybotics/node-red-contrib-led-matrix
It is binding recent version of rpi-rgb-led-matrix library.
$ npm i easybotics-rpi-rgb-led-matrix
$ git clone --recursive https://github.com/easybotics/node-rpi-rgb-led-matrix.git
$ cd easybotics-rpi-rgb-led-matrix
$ npm i
var LedMatrix = require("easybotics-rpi-rgb-led-matrix");
//init a 16 rows by 16 cols led matrix
//default hardware mapping is 'regular', could be 'adafruit-hat-pwm' ect
var matrix = new LedMatrix(16, 16 );
matrix.fill(255, 50, 100);
matrix.setPixel(0, 0, 0, 50, 255);
matrix.update();
The API has changed somewhat since the zeitungen version
All operations modify a local frame buffer, only after calling 'Update' are they printed to the display
rows: height of led panels in pixels
cols: width of led panels in pixels
parallelDisplays: number of parallel panels
chainedDisplays: number of chained panels
brightness: initial brightness 0 - 100
hardware-mapping: 'regular', 'adafruit-hat' etc
rgbSequence: default 'RGB'
cliFlags: array of cli flags
set brightness between 0 - 100
clear the display buffer
draw colored circle to the buffer
draw colored line to the buffer
drawText (x, y, text, font, r, g, b)
draw colored text to the buffer
to use the fonts that come with the repo it looks something like this
const input = "hello world!"; //whever you get the input from
const font = __dirname + '/fonts/' + "5x8.bdf";
led.drawText(x, y, input, font, r, g, b);
led.update();
fill the buffer with a color
get height of addressable space
get width of addressable space
scroll
setImageBuffer
mysterious methods back from before we picked up this library
set pixel to a color
Draw the current buffer to the display (with vsync!)