bonescriptjtjk
Version:
Physical computing library for embedded Linux
29 lines (26 loc) • 1.06 kB
JavaScript
// Copyright (C) 2013 - Texas Instruments, Jason Kridner
var bone = require('./bone');
var my = require('./my');
var m = {};
m.name = 'i2c';
m.module = my.require('i2c');
m.ports = bone.i2c;
m.events = {
'data': ['data']
};
m.openPorts = {};
m.doOpen = function(args) {
var path = args.port[0];
if(m.ports[args.port[0]].path) path = m.ports[args.port[0]].path;
if(typeof args.options !== typeof {}) args.options = {};
args.options.device = path;
var openPort = new m.module(args.port[1], args.options);
return(openPort);
};
exports.i2cOpen = my.wrapOpen(m, ['options']);
exports.i2cScan = my.wrapCall(m, 'scan', [], ['err', 'data']);
exports.i2cWriteByte = my.wrapCall(m, 'writeByte', ['byte'], ['err']);
exports.i2cWriteBytes = my.wrapCall(m, 'writeBytes', ['command', 'bytes'], ['err']);
exports.i2cReadByte = my.wrapCall(m, 'readByte', [], ['err', 'res']);
exports.i2cReadBytes = my.wrapCall(m, 'readBytes', ['command', 'length'], ['err', 'res']);
exports.i2cStream = my.wrapCall(m, 'stream', ['command', 'length', 'delay'], []);