Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
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.

You can’t perform that action at this time.