Skip to content

Latest commit

 

History

History
118 lines (79 loc) · 2.5 KB

README.md

File metadata and controls

118 lines (79 loc) · 2.5 KB

flipdisc

A javascript library for flip dot, flip disc, and flip digit displays.

panel

Examples

Install

$ npm install flipdisc

Simple Usage

import { createDisplay } from 'flipdisc' 

const device = '/dev/cu.usbserial-AB0OJSKG' 
const display = createDisplay([[1], [2]], device)
display.send(frameData)

Advanced Usage

import { createDisplay, Panels } from 'flipdisc' 

// layout as a 2D array of panel addresses
const layout = [[1, 3, 5], [2, 4, 6]]

// supports multiple RS485 devices
const dev = [{
  path: '/dev/cu.usbserial-AB0OJSKG',
  addresses: [1, 3, 5],
  baudRate: 57600
}, {
  path: '/dev/cu.usbserial-AB0ODKET',
  addresses: [2, 4, 6],
  baudRate: 57600
}]

// or network devices
const devices = [{
  path: 'tcp://192.168.0.100:3000',
  addresses: [1, 2, 3, 4, 5, 6],
}]


const opt = {
  isMirrored: true,
  rotation: 90,
  panel: {
    width: 28,
    height: 7,
    type: Panels.AlfaZetaPanel
  }
}

// or flipdigit
const opt = {
  panel: Panels.AlfaZetaSegmentPanel
}


const display = createDisplay(layout, dev, opt)

Methods

// send a single 2D array of frame data. 
// (0 = not-flipped, 1 = flipped)
display.send(frameData)
// also accepts imageData buffer from a gl or canvas instance

display.sendSegmentData(verticalSegmentData, horizontalSegmentData)
// for segment displays: send array data for the vertical and/or horizontal aligned segments. 

// get width
display.width

// get height
display.height

// get current display data
display.content

// set inverted
display.setInverted()

// get general display info
display.info

Requirements