Files
mraa/jsstub
Thomas Ingleby 170bdd104f spdx: add spdx tags to most files
Large change that removes the duplicated MIT notice withe a spdx tag

Signed-off-by: Thomas Ingleby <thomas.ingleby@intel.com>
2019-05-23 10:09:12 -07:00
..
2019-05-23 10:09:12 -07:00
2019-05-23 10:09:12 -07:00
2019-05-23 10:09:12 -07:00
2016-05-24 11:28:04 +01:00

mraaStub - JavaScript simulation and stubs for mraa

This project enables simulation of a device which might be accessed via mraa. Currently this library supports I2c, SPI, and GPIO. This project provides several benefits:

  1. Prevent crashes in nodejs applications using mraa on unsuported or misconfigured hardware.
  2. Enable basic simulation of mraa-accessible devices for unit testing.

Examples

The following example is based on an imaginary 'light bulb' device abstraction, which exposes a value of brightness over a mraa-provided interface. Please see the test/index.js file for an example.

Installation

You may install mraaStub from npm like this:

npm install mraaStub

Since we often switch between a mraaStub and the real mraa library, we suggest creating an index.js file inside a lib/mraaSwitcher folder.

/* index.js - file for switching between mraa and mraaStub
 */

// Define the conditions under which the mraaStub should be loaded
var platform = require('os').platform();
var m;

if (platform === 'win32') {
    m = require('mraaStub');
} else {
    m = require('mraa');
}

module.exports = m;

You can add this to your project in its own lib/mraaSwitcher/index.js file and use require('../mraaSwitcher') everywhere!

License

See COPYING file in the root of this repository.