Unified, configurable interface to artnet, DMX, FadeCandy and other LED and lighting devices
npm install blitface js
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
` sh
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
` yaml
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.
` yaml
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
- You must clone or download the Fade Candy server to use this subsystem.
` yaml
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
` yaml
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.
` yaml
output:
terminal:
# Width of display. Defaults to console width on startup.
width: 0
char: "◉ "
channels: 3
``