UNPKG

@mrdrogdrog/rpi-rgb-led-matrix

Version:

control led matrix with nodejs on raspberry pi. Nodejs binding of https://github.com/hzeller/rpi-rgb-led-matrix

106 lines (89 loc) 2.61 kB
# rpi-rgb-led-matrix 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/easybotics/node-rpi-rgb-led-matrix** **Actively being maintained and modified for: https://github.com/mrdrogdrog/node-red-contrib-led-matrix** **It is binding recent version of rpi-rgb-led-matrix library.** ### Installation with npm ``` $ npm i @mrdrogdrog/rpi-rgb-led-matrix ``` ### Installation with git ``` $ git clone --recursive https://github.com/mrdrogdrog/node-rpi-rgb-led-matrix.git $ cd node-rpi-rgb-led-matrix $ npm i ``` ## Get some Fun ```js 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 ## LedMatrix API **All operations modify a local frame buffer, only after calling 'Update' are they printed to the display** * **Constructor: LedMatrix (rows, cols, parallelDisplays, chainedDisplays, brightness, hardware-mapping, rgbSequence, cliFlags)** ``` 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 ``` * **brightness (value)** ``` set brightness between 0 - 100 ``` * **clear ()** ``` clear the display buffer ``` * **drawCircle (x, y, radius, r, g, b)** ``` draw colored circle to the buffer ``` * **drawLine (x0, y0, x1, y1, r, g, b)** ``` 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 (r, g, b)** ``` fill the buffer with a color ``` * **getHeight ()** ``` get height of addressable space ``` * **getWidth ()** ``` get width of addressable space ``` ``` scroll setImageBuffer mysterious methods back from before we picked up this library ``` * **setPixel (x, y, r, g, b)** ``` set pixel to a color ``` * **update ()** ``` Draw the current buffer to the display (with vsync!) ```