-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Johnny five + Intel Edison + BMP180 #47
Comments
Thanks for the report! This error will occur when the expected I2C peripheral (in this case, the BMP180) isn't found—which could be a wiring issue or just plain not attached. I agree that this is a crummy error. Can you tell me more about your circuit? In the meantime, I will add some better output for this |
Hi rwalton, unfortunately, you closed this a bit fast, cause the device IS connected via I2C to the board, and wiring is correct... Intel Edison + Arduino Grove shield + Grove BMP180 |
Yes, I used the exact same setup. Can you install the latest version and test again? |
Sorry, github does this automatically when i include "Fixes gh-XXX" in the commit message. I will reopen until you confirm. |
Nope, no success. 1457926875390 Device(s) Intel Edison
|
Investigated a little further. (excuse the markdown problems) Note 1: this fix is for galileo-io, which is depended in, by edison-io (which is the module you need, I believe) for running Johnny-five on Edison. Note 2: now that note1 fixed it, I get a different issue (below is the output) I2C: Could not read 3 Bytes from peripheral with address 0x77 pressure : 0.2360barometer pressure : 0.2360I2C: Could not read 3 Bytes from peripheral with address 0x77
|
Sorry, I did miss the dependency update in Edison-IO, that's fixed.
This error is only possible if the device being read is not actually connected to the board. There is nothing this library can do to fix that, as it's simply forwarded up from native bindings. The board itself is saying "I can't find this thing you want me to read, sorry". Can you post a picture or two of your hardware as it's presently connected? |
Updated code which has the I2C working properly (cause LCD Screen displays the message): var five = require("johnny-five"); board.on("ready", function() { var lcd = new five.LCD({ lcd.useChar("heart"); var barometer = new five.Barometer({ barometer.on('data', function() { }); And picture: https://dl.dropboxusercontent.com/u/9822239/IMG_1611.jpeg |
Also, can you list here which blocks you have attached? Thanks again! |
Hi rwaldron, I've removed the Sparkfun blocks as requested (agree that it could have been a potential problem). I've borrowed another Barometer sensor from friend to test (maybe the one I have is broken). Exactly same result as before, ie. I2C Could not read 2 Bytes ... Happy to get on gitter to discuss live with you (assuming timezone is OK). |
@teuteuguy I apologize for not replying sooner—I tried to catch you on gitter, but I agree the time zones make that hard! I'm going to try to put together a very basic test case for you to try. Also, I really appreciate your patience as we work through this together :) |
I think I might have a different sensor here, can you link me to the exact sensor you're using? |
ssh to you Edison and run this:
And paste the results here |
Hey rwaldron, The sensor I have is the latter (ie. the one with Address is 0x77 written on it).
root@edison:~# i2cdump -y 6 0x77 I guess it's failing to connect to that sensor, given this I2C dump. This is very odd. |
Well, we're getting somewhere right? :D Did you try connecting the sensor to other I2C ports on the shield? (I'm guessing you did) Another update: I've ordered this same sensor for Seeed |
I did try on a different port. Same result :( |
Ok, then the best we can do is wait until my sensor arrives and then work together to figure out what's going on—thanks again for your patience :) |
Awesome :) |
Absolutely—as soon as the sensor arrives, I will let you know |
When trying to launch a simple barometer read it fails on:
RangeError: Trying to access beyond buffer length
at checkOffset (buffer.js:582:11)
at Buffer.readUInt8 (buffer.js:588:5)
at Galileo. (/home/root/tests/barometer/node_modules/edison-io/node_modules/galileo-io/lib/galileo.js:696:24)
at Timer.listOnTimeout as ontimeout
The text was updated successfully, but these errors were encountered: