lpt

0.4.0 • Public • Published

node-lpt

High-level bindings to parallel port for node.js.

Important: this module works only under linux through the parport driver, so you might need to compile kernel or modules (on gentoo mostly).

Installation

$ npm install lpt

Usage

var lpt = require('lpt')
  , port = new lpt.Port(0, 'byte', false) // open /dev/parport0 with forced `byte` mode set
  // , port = new lpt.Port(0) // the same
 
console.log(port.data) // read data register
console.log(port.status.busy) // get /BUSY pin status
 
port.data = 123 // write data register
port.control.init = true // write to control register

API

Constructor receives the following parameters:

  • port number
  • parallel port mode - optional. Can be:
    • spp
    • nibble
    • byte - default
    • epp
    • ecp
  • negotiate port - optional. If true will try IEEE 1284 compliant mode negotiation.

Port class provides next fields:

Field Type Description Read/Write Pin num
data byte Data register R/W 2..9
control.init bool INIT R/W 16
control.select bool /SELECT_IN * R/W 17
control.autofd bool /AUTO_FEED * R/W 14
control.strobe bool /STROBE * R/W 1
status.ack bool ACK R 10
status.busy bool /BUSY * R 11
status.error bool ERROR R 15
status.select bool SELECT R 13
status.paperOut bool PAPEROUT R 12
- - Ground - 18..25

*Note that this pins are inverted by node-lpt itself

**You can read control pins only after you wrote something to it. Before that moment you can't rely on pin status

Useful links

License

MIT

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i lpt

    Weekly Downloads

    7

    Version

    0.4.0

    License

    MIT

    Last publish

    Collaborators

    • denisix