Socket
Socket
Sign inDemoInstall

blitface

Package Overview
Dependencies
144
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    blitface

Unified, configurable interface to artnet, DMX, FadeCandy and other LED and lighting devices


Version published
Weekly downloads
2
Maintainers
1
Created
Weekly downloads
 

Readme

Source

Blitface

Note, this is experimental software, requiring final testing & docs before release and production usage.

Blitface is a unified, configurable interface for LED and light control. It is designed to be an adapter between various inputs and outputs and javascript. The following protocols are supported:

  • Art-Net input and output of DMX over IP.
  • E1.31 sACN input.
  • ENTTEC DMX output to DMX serial devices.
  • FadeCandy output with automatic management and configuration of server.
  • Open Pixel Control input and output.
  • Pixel Pusher output.
  • xterm True Colour output for debugging.

Examples

Javascript

const Blitface = require('blitface')

let config = {
  output: {
    // Fake output to 40 columns of terminal.
    terminal: {
      length: 120
    }
  },
  input: {
    // Fake input, starting 9 addresses in,
    // representing 3 RGB pixels.
    rainbow: {
      offset: 3,
      length: 111 
    }
  },
}

let root = new Blitface( config )

root.open()
.then( function () {
  // Blit Red, Green and Blue to first 3 pixels of output. 
  root.blit('ff0000 00ff00 0000ff')
})

Command Line

# Install module globally
npm install -g blitface

# Load configuration file
blitface config.yaml

# Configuration straight from command line
blitface --input.rainbow true --output.fadecandy.path ../fadecandy

Configuration

Common

input:
  foo:
    name: foo
    type: rainbow
    offset: 0
    length: 0

output:
  bar:
    name:  

Art-Net

  • Lengths longer than universeSize are sent to incrementing universes.
  • Tested with MadMapper 3.6.2. universeSize should be set to 510 in most cases.
input:
  artnet:
    port: 6454
    universe: 0
    physical: 0
    universeSize: 512

  
output:
  artnet:
    host: localhost
    length: 512
    universe: 0
    physical: 0    
    port: 6454
    universeSize: 512

Fade Candy

output:
  fadecandy:
    # Required! Path to root directory of fadecandy install
    path: ''

    # Useful server config 
    pinsPerDevice: 8
    pixelsPerPin: 64
    interpolate: false
    dither: false
    order: 'rgb'

    #
    # Everything below is pretty pedantic
    #
    binary: fcserver-osx
    searchPath: ['.','bin']
    keepOpen: true
    retry: 500
    
    # Log server output to console
    verbose: true
    # Set host to 0.0.0.0 to allow outside use.
    public: false
    host: localhost
    port: 7980
    led: true
    tmp: /tmp
    file: ''
    keepFile: false

OPC

  • OPC output may be used when a Fade Candy server is created elsewhere.
  • OPC input server only accepts raw OPC pixel data. It does not emulate a real Fade Candy server instance, and as such is incompatible with many OPC implementations.

Pixel Pusher

output:
  pixelpusher:

    strips: 8
    pixels: 60
    controllers:
      - d8:80:xx:xx:xx:xx
      - 1

Terminal

terminal outputs RGB data straight to the console. Useful for debugging.

  • For best results with iTerm2, turn down 'Minimum contrast' in Preferences / Profiles / Colors.
output:
  terminal:
    # Width of display. Defaults to console width on startup.
    width: 0 
    char: "◉ "
    channels: 3

Similar Projects

  • Open Lighting Architecture is a very powerful, mature project.
  • PixelNode seems to be a similar project, with a variety of interfaces and features such as filters. It is still under development.

Acknowledgements

Development of this module is supported by HFour Studio.

Pixel Pusher code adapted from heroic-pixel-pusher by ajones.

FAQs

Last updated on 27 Feb 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc