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:
- Prevent crashes in nodejs applications using mraa on unsuported or misconfigured hardware.
- 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 loadedvar platform = platform;var m; if platform === 'win32' m = ; else m = ; moduleexports = 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.