kelly / node-i2c

Node.js native bindings for i2c-dev. Plays well with Raspberry Pi and Beaglebone.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

opening 2 different I2C devices

dumpKopf2 opened this issue · comments

Greetings,

I have a Cape connected to a BBB board that has an RTC chip connected to I2C2 and an I/O expander that connects to I2C1. If I run the code for each separately in different javascript files things work well. When I combine the two codes together, the software crashes.
Here is a snippet of what I have:
var b = require("bonescript")
// RTC
var port = '/dev/i2c-2';
var address = 0x68;
var writeArray = [];
var readArray = [];

// GPIO
var port2 = 'dev/i2c-1';
var gpioAddress = 0x27;
var timerOperation;
var gpioWriteArray = [];

b.i2cOpen(port, address, {}, setupRTC);
readRTCTime();
console.log("UTC Time: " + getTime());
console.log("UTC date: " + getDayAndMonth());
console.log("Alarm is set for 20 seconds from now");

b.i2cOpen(port2, gpioAddress, {}, setupMCP23008);
^^^^^^^^^ crashes here with the following dump ^^^
UTC Time: 22:32:48
UTC date: 11/11/2014
Alarm is set for 20 seconds from now

/usr/local/lib/node_modules/bonescript/iic.js:15
if(m.ports[args.port].path) path = m.ports[args.port].path;
^
TypeError: Cannot read property 'path' of undefined
at Object.m.doOpen (/usr/local/lib/node_modules/bonescript/iic.js:15:26)
at Object.newFunction as i2cOpen
at Object. (/var/lib/cloud9/javascripts/testJig/RTC_GPIO.js:27:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3

ls -l /sys/bus/i2c/devices/i2c-* yields the following output:
lrwxrwxrwx 1 root root 0 May 15 03:41 /sys/bus/i2c/devices/i2c-0 -> ../../../devices/ocp.3/44e0b000.i2c/i2c-0
lrwxrwxrwx 1 root root 0 May 15 03:41 /sys/bus/i2c/devices/i2c-1 -> ../../../devices/ocp.3/4819c000.i2c/i2c-1
lrwxrwxrwx 1 root root 0 Nov 11 22:09 /sys/bus/i2c/devices/i2c-2 -> ../../../devices/ocp.3/4802a000.i2c/i2c-2

What am I doing wrong?

Thanks in advance,

Mostafa

Is this issue still relevant on latest @abandonware's fork ?

https://libraries.io/npm/@abandonware%2Fi2c/usage

Relate-to: #97