diff options
Diffstat (limited to 'peripheral/libmraa/jsstub/index.js')
-rw-r--r-- | peripheral/libmraa/jsstub/index.js | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/peripheral/libmraa/jsstub/index.js b/peripheral/libmraa/jsstub/index.js deleted file mode 100644 index ccf8520..0000000 --- a/peripheral/libmraa/jsstub/index.js +++ /dev/null @@ -1,223 +0,0 @@ -/** - * @fileoverview This file implements a fake mraa stub which enables testing - * as well as the ability to run on Windows. - */ - -var m; -var winston = require('winston'); -var logger = new winston.Logger({ - transports: [ - new winston.transports.Console({ - level: 'error', - handleExceptions: false, - json: false, - colorize: true}) - ], - exitOnError: false - }); - -/** - * @class mraaStub - * @classdesc This class is designed to stub out libmraa so we can run - * test code on unsupported platforms (specifically Windows). - */ -var mraaStub = function() { - var verison = '0.0.1'; - var self = this; - self.EDGE_BOTH = 1; - self.EDGE_NONE = 2; - self.EDGE_RISING = 3; - self.EDGE_FALLING = 4; - self.DIR_IN = 1; - self.DIR_OUT = 2; - - self.getVersion = function() { - return "mraaStub " + version; - }; - - // Stub out GPIO - function Gpio(num) { - this.num = num; - this._callback = null; - this._dir = null; - this._isr_mode = self.EDGE_NONE; - } - - var logGpio = false; - Gpio.prototype._callIsr = function() { - if(this.isr_mode === self.EDGE_NONE) { - logger.log('info',"Could not call ISR. Not set up for triggering"); - } - this._callback(); - }; - - Gpio.prototype.isr = function(mode, handler){ - if(logGpio) { - logger.log('info',"GPIO " + this.num + " isr stub invoked."); - } - this._isr_mode = self.EDGE_NONE; - this._callback = handler; - }; - - Gpio.prototype.dir = function(d) { - if(logGpio) { - logger.log('info',"GPIO " + this.num + " dir stub invoked."); - } - this._dir = d; - }; - Gpio.prototype.write = function(z) { - if(logGpio) { - logger.log('logger',"GPIO " + this.num + " write stub invoked."); - } - if(this._dir !== self.DIR_OUT) { - logger.log('info',"GPIO " + this.num + " write called without DIR_OUT set."); - } - }; - Gpio.prototype.read = function() { - if(logGpio) { - logger.log('info',"GPIO " + this.num + " read stub invoked."); - } - return 0; - }; - - // Stub out SPI - function Spi(num) { - var self = this; - this.num = num; - this._buffer = new Buffer(29); - this._buffer.fill(0); - this._loopback = false; - } - - Spi.prototype._setOutput = function(buf) { - this._buffer = buf; - }; - - Spi.prototype._enableLoopback = function(x) { - if(x === true) { - this._loopback = true; - } else { - this._loopback = false; - } - }; - - Spi.prototype.write = function(b) { - logger.log('info',"SPI write stub invoked."); - if(this._loopback === true) { - return b; - } - return new Buffer(this._buffer); - }; - - Spi.prototype.frequency = function(f) { - logger.log('info',"SPI frequency stub invoked."); - return f; - }; - - Spi.prototype.lsbmode = function(t) { - logger.log('info',"SPI lsbmode stub invoked."); - }; - - Spi.prototype.mode = function(x) { - logger.log('info',"SPI mode stub invoked."); - }; - - function I2c(num) { - this._num = num; - this._regMapInitialized = false; - } - - /* This function sets an internal register map for the I2c device. - */ - I2c.prototype._setRegisterMapInternal = function(buffer) { - this._regMapInitialized = true; - this._buffer = buffer; - }; - - I2c.prototype.frequency = function(freq) { - // Do nothing. We don't care. - }; - - I2c.prototype.address = function(address) { - var self = this; - self.address = address; - }; - - I2c.prototype.readReg = function(regAddr) { - if(!this._regMapInitialized) { - logger.log('error', "Need to set reg map"); - } - if(!this.address) { - logger.log('error', "Need to set address"); - } - - return this._buffer.readUInt8(regAddr); - }; - - I2c.prototype.readWordReg = function(regAddr) { - if(!this._regMapInitialized) { - logger.log('error', "Need to set reg map"); - } - if(!this.address) { - logger.log('error', "Need to set address"); - } - - return this._buffer.readUInt16LE(regAddr); - }; - - I2c.prototype.readBytesReg = function(regAddr, len) { - if(!this._regMapInitialized) { - logger.log('error', "Need to set reg map"); - } - if(!this.address) { - logger.log('error', "Need to set address"); - } - - return this._buffer.slice(regAddr,regAddr+len); - }; - - I2c.prototype.write = function(buf) { - if(!this._regMapInitialized) { - logger.log('error', "Need to set reg map"); - } - if(!this.address) { - logger.log('error', "Need to set address"); - } - - var regAddr = buf[0]; - var newBuf = buf.slice(1); - newBuf.copy(this._buffer, regAddr); - }; - - I2c.prototype.writeReg = function(regAddr, data) { - if(!this._regMapInitialized) { - logger.log('error', "Need to set reg map"); - } - if(!this.address) { - logger.log('error', "Need to set address"); - } - - this._buffer.writeUInt8(regAddr,data); - }; - - I2c.prototype.writeWordReg = function(regAddr, dataWord) { - if(!this._regMapInitialized) { - logger.log('error', "Need to set reg map"); - } - if(!this.address) { - logger.log('error', "Need to set address"); - } - - this._buffer.writeUInt16LE(regAddr,data); - }; - - // Export our stubs - self.Gpio = Gpio; - self.Spi = Spi; - self.I2c = I2c; - -}; - -m = new mraaStub(); - -module.exports = m; |