Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
test
Gruntfile.js
README.md
index.js
package.json

README.md

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.