mraaStub

0.0.1 • Public • Published

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

Install mraaStub from npm.

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.

Package Sidebar

Install

npm i mraaStub

Weekly Downloads

3

Version

0.0.1

License

MIT

Last publish

Collaborators

  • dantler