A little more on the above in hopes that Jason will see this!   Here is a 
code sample using the i2c library from korevec that works:

var i2c = require('i2c');       
var address = 0x6A;
var device = {device: '/dev/i2c-1', debug: false};
var command = 0x80;

var wire = new i2c(address, device); 

wire.readBytes(0x80, 4, function(err, res) {
    var voltageIn = (res[0] << 8) + res[1];
    voltageIn = 5*(voltageIn / 2048);
    console.log(res);
    console.log(voltageIn);
}); 

Here is the output from the above:

<Buffer 00 01 80 80>
0.00244140625

Here is my conversion of the above to use the bonescript version:

var b = require('bonescript');

var address = 0x6A;
var port = '/dev/i2c-1';
var command = 0x80;

b.i2cOpen(port, address);

b.i2cReadBytes(port, command, 4, function(data) {
    console.log(data);
    console.log(data.res);
    var voltageIn = (data.res[0] << 8) + data.res[1];
    console.log(voltageIn);
    console.log("------------");
}); 

Here is the output from the above:

{ err: [Error: Error reading length of bytes],
  res: <Buffer 18 e6>,
  event: 'callback' }
<Buffer 18 e6>
6374
------------
{ event: 'return', return: <Buffer 18 e6> }
undefined
/home/root/chair/dev/sandbox.js:12
    var voltageIn = (data.res[0] << 8) + data.res[1];
                             ^
TypeError: Cannot read property '0' of undefined

I presume that I am doing something wrong but have not been able to find an 
example that might help me decode the mystery.

Cheers,
Will



On Saturday, 28 September 2013 09:07:03 UTC+1, Will Kostelecky wrote:
>
> DeKay:
>
> I just got back to this.  The instructions on GitHub implied that an opkg 
> update, opkg install bonescript would give me the latest bonescript (which 
> I would assume includes the i2c support) but it reported that my current 
> version was up to date.   I then did an npm install bonescript and did get 
> the version of bonescript with the i2c support.   Unfotunately I have not 
> been able to get the code that works with the native i2c library from 
> korevec to work with the bonescript version.   It opens the source but when 
> it goes to do the i2cReadBytes it bombs with no error and no nuttin.
>
> Using the library directly does what I need and bonescript doesnt really 
> offer me anything so I am not sure I will go further with it.  I would note 
> that the korevec library does cause segmentation faults when reading an 
> ADC.   I have posted this as an issue on GitHub and am not sure if it is 
> the code...or me...
>
> Will
>
> On Thursday, 12 September 2013 19:41:14 UTC+1, DeKay wrote:
>>
>> Hi Will.
>>
>> Please post a writeup of how to update bonescript from GitHub if you get 
>> this working.  I'd like to get this going but am very much a node noob and 
>> would have a heck of a time trying to figure out what might be wrong if 
>> something beyond a simple "git clone ..." within the node_modules directory 
>> didn't work.
>>
>> On Wednesday, 11 September 2013 23:30:59 UTC-6, Will Kostelecky wrote:
>>>
>>> I have used node-i2c from korevec somewhat successfully but was 
>>> interested to see references to it now being included within bonescript 
>>> (specifically 
>>> on GitHub in here <https://github.com/jadonk/bonescript>).  This is 
>>> still not included in the regular image as of the latest out there but it 
>>> seems you can update bonescript from the github link yourself.   I am in 
>>> the middle of doing that now....
>>>
>>> Will
>>>
>>> On Monday, 27 May 2013 03:21:38 UTC+1, Jason Stapels wrote:
>>>>
>>>> A couple of us have been using this node module with some success:
>>>>
>>>> https://github.com/korevec/node-i2c
>>>>
>>>> I've used it to communicate to an MPU-6050.
>>>>
>>>

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to