phidget-interfacekit

1.0.8 • Public • Published

Phidget Interfacekit node.js addon

Node.js bindings for the Interfacekit parts of the Phidget library. This module requires that the libphidget library is available in the system already.

Dependencies

sudo apt-get install libusb-dev
wget http://www.phidgets.com/downloads/libraries/libphidget.tar.gz
tar zxvf libphidget.tar.gz
cd libphidget-2.1.8.20140319
./configure
make
sudo make install

API

The module mimics the interfacekit parts of the phidget library API. So examples based on that API should be easy to convert to C++ versions. All functions are synchronous and will block if they take time, they will throw if errors occur. Five events are available via the EventEmitter API which phidget module extends.

var phidget = require("phidget-interfacekit");

try {
  var phid = phidget.create();

  phidget.on("attach", function(phid) {
    console.log("Phidget attached!");
  });

  phidget.on("detach", function(phid) {
    console.log("Phidget detached!");
  });

  phidget.on("error", function(phid, errorString) {
    console.log("Phidget error!", errorString);
  });

  phidget.open(phid, -1);

  console.log("Waiting for interface kit to be attached....");

  phidget.waitForAttachment(10000);

  console.log("Device Type: " + phidget.getDeviceType(phid));
  console.log("Device Serial Number: " + phidget.getSerialNumber(phid));
  console.log("Device Version: " + phidget.getDeviceVersionphid));
  console.log("Device Input Count: " + phidget.getInputCount(phid));
  console.log("Device Output Count: " + phidget.getOutputCount(phid));
  console.log("Device Sensor Count: " + phidget.getSensorCount(phid));
} catch (e) {
  console.error(e);
}

// Set output 1
phidget.setOutputState(phid, 1, 1);

// Available methods
/*
phidget.create                 = function();
phidget.open                   = function(handle);
phidget.waitForAttachment      = function(handle, milliseconds);
phidget.close                  = function(handle);
phidget.remove                 = function(handle);
phidget.getDeviceName          = function(handle);
phidget.getSerialNumber        = function(handle);
phidget.getDeviceVersion       = function(handle);
phidget.getDeviceStatus        = function(handle);
phidget.getLibraryVersion      = function();
phidget.getDeviceType          = function(handle);
phidget.getInputCount          = function(handle);
phidget.getInputState          = function(handle, index);
phidget.getOutputCount         = function(handle);
phidget.getOutputState         = function(handle, index);
phidget.setOutputState         = function(handle, index, state);
phidget.getSensorCount         = function(handle);
phidget.getSensorValue         = function(handle, index);
phidget.getSensorRawValue      = function(handle, index);
phidget.getSensorChangeTrigger = function(handle, index);
phidget.setSensorChangeTrigger = function(handle, index);
phidget.getRatiometric         = function(handle);
phidget.setRatiometric         = function(handle, value);
phidget.getDataRate            = function(handle, index);
phidget.setDataRate            = function(handle, index, milliseconds);
phidget.getDataRateMax         = function(handle, index);
phidget.getDataRateMin         = function(handle, index);
*/

Readme

Keywords

Package Sidebar

Install

npm i phidget-interfacekit

Weekly Downloads

2

Version

1.0.8

License

none

Last publish

Collaborators

  • mattiasrunge