Natural Preference for Minification

    node-rpi-rgb-led-matrix-adafruit

    0.2.2 • Public • Published

    node-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

    Compatibility

    NOTE: node-rpi-rgb-led-matrix should work across Node.js versions 0.8, 0.10, 0.12, 4 and 5 as it uses Native Abstractions. HOWEVER there is a problem with the Node.js version 0.10.29 packaged with Raspbian Jessie 2015-11-21 which breaks Native Abstractions. The easiest fix is to make a minor edit to your v8.js file; this and other solutions outlined on this Raspberry Pi Forum post.

    Installation with npm

    $ npm i node-rpi-rgb-led-matrix
    

    Installation with git

    $ git clone --recursive https://github.com/zeitungen/node-rpi-rgb-led-matrix.git
    $ cd node-rpi-rgb-led-matrix
    $ npm i
    

    Get some Fun

    var LedMatrix = require("node-rpi-rgb-led-matrix");
     
    var matrix = new LedMatrix(16);
    matrix.fill(255, 50, 100);
    matrix.setPixel(0, 0, 0, 50, 255);

    LedMatrix API

    • Constructor: LedMatrix(rows, chainedDisplays, parallelDisplays) default values are rows=32, chainedDisplays=1, parallelDisplay=1
    • getWidth() return current led matrix width
    • getHeight() return current led matrix height
    • fill(red, green, blue) fill the led matrix with color specified by red, green and blue. red, green and blue must be between 0 and 255
    • setPixel(x, y, red, green, blue) set the color pixel at the position x,y with color specified by red, green and blue. red, green and blue must be between 0 and 255. x must be between 0 and getWidth(). y must be between 0and getGeight()
    • clear() reset the led matrix display (shut down all leds)

    Add specific defines for rpi-rgb-led-matrix

    You can add specific defines for the rpi-rgb-led-matrix compilation.

    You have to modify the binding.gyp file. In the rpi-rgb-led-matrix target add definesarray like this:

    ...
      {
                "target_name": "rpi-rgb-led-matrix",
                "type": "static_library",
                "sources": ["external/matrix/lib/bdf-font.cc",
                    "external/matrix/lib/framebuffer.cc", "external/matrix/lib/gpio.cc",
                    "external/matrix/lib/graphics.cc", "external/matrix/lib/led-matrix.cc",
                    "external/matrix/lib/thread.cc"],
                "libraries": ["-lrt", "-lm", "-lpthread"],
                
                "defines": ["RGB_CLASSIC_PINOUT", "ONLY_SINGLE_CHAIN"],
                
                "include_dirs": [ "external/matrix/include" ],
                "direct_dependent_settings": {
                    "include_dirs": [ "external/matrix/include" ]
                }
            }
    ...

    You have this defines possibility:

    • INVERSE_RGB_DISPLAY_COLORS
    • SHOW_REFRESH_RATE
    • RGB_SLOWDOWN_GPIO=1 or RGB_SLOWDOWN_GPIO=2
    • ADAFRUIT_RGBMATRIX_HAT
    • ADAFRUIT_RGBMATRIX_HAT_PWM
    • RGB_CLASSIC_PINOUT
    • ONLY_SINGLE_CHAIN

    Look at rpi-rgb-led-matrix Makefile for more details of this defines.

    Don't forget to recompile:

    $ cd /path/to/node-rpi-rgb-led-matrix
    $ node-gyp build
    

    or run npm i.

    Install

    npm i node-rpi-rgb-led-matrix-adafruit

    DownloadsWeekly Downloads

    5

    Version

    0.2.2

    License

    WTFPL

    Last publish

    Collaborators

    • avatar