39 lines
784 B
JavaScript
39 lines
784 B
JavaScript
|
var events = require('events'),
|
||
|
util = require('util');
|
||
|
|
||
|
var IR = function (arduino) {
|
||
|
if(!arduino) {console.log("Arduino not set!");}
|
||
|
this.arduino = arduino;
|
||
|
}
|
||
|
|
||
|
util.inherits(Sensor, events.EventEmitter);
|
||
|
|
||
|
IR.prototype.send = function(type, len, val) {
|
||
|
|
||
|
type = String.fromCharCode(type);
|
||
|
len = String.fromCharCode(len);
|
||
|
val = this.arduino.valueToLastFour(val);
|
||
|
|
||
|
this.arduino.write(new Buffer('X0' + type + len + val,'ascii'));
|
||
|
|
||
|
};
|
||
|
|
||
|
IR.prototype.receive = function() {
|
||
|
|
||
|
this.board.on('data', function (message) {
|
||
|
var m = message.slice(0, -1).split('::'),
|
||
|
err = null;
|
||
|
|
||
|
if (m.length != 3) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
this.emit('read', err, m);
|
||
|
|
||
|
}.bind(this));
|
||
|
|
||
|
this.arduino.write(new Buffer('Y0000000', 'ascii'));
|
||
|
|
||
|
};
|
||
|
|
||
|
module.exports = IR;
|