Skip to content

Files

Failed to load latest commit information.

Latest commit

 Cannot retrieve latest commit at this time.

History

History
 
 

jsstub

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

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.