The newest version of i2devlib works well on the due with HMC5883L MPU6050 and BMP085.
For the MS561101BA I use the library made by Manuel J Guisado using i2devlib, which works just fine on the arduino uno.
There is no example but this is an minimal one which works on the uno (sensor powered with 3.3V and pullups disabled):
#include "Wire.h"
#include "I2Cdev.h"
#include "MS561101BA.h"
MS561101BA baro(0x77); // address of the sensor on freeimu 0.4
float pressurem;
float temperaturem;
void setup() {
Wire.begin();
Serial.begin(57600);
baro.initialize();
Serial.println(baro.testConnection() ? "baro connection successful" : "baro connection failed");
// this gives false positive value on the due I think due to the problems with wire ?
}
void loop() {
baro.setOverSampleRate(256);
baro.readValues(&pressurem, &temperaturem);
Serial.print(pressurem); Serial.print("\t");
Serial.print(temperaturem); Serial.println("\t");
}
I get no error message while uploading to the due, but it only prints 0 values for temperature and pressure.
Ok, I still have no success with the i2cdevlib but i manged to use the MS5611 using Flavio Varesano freeimu libary.
After some minor changes the raw reading function of the libary works well on the due.
You can find the original libary here: http://www.varesano.net/files/FreeIMU-20121122_1126.zip
It is not form me. I am not at home now, so I can not send you the changed one, but it is mainly replacing the int with int16_t.
This was ported and tested on Teensy 3.0, which has a similar 32 bit ARM CPU as Arduino Due. The 16 bit integer problems are fixed in this version. AVR-only hacks like TWBR are surrounded by #ifdef checks. A difficult problem with the inverse square root function when compiling on ARM was also fixed.
It hasn't been tested on Arduino Due, but those fixes for Teensy 3.0 will probably save you a lot of trouble, hopefully leaving only relatively easy stuff to support Due.
Please somebody provide help in detail. I have the same issue with MS5611A2 (GY-63 breakout board). I2C scanner does not detect the device but it works fine on Uno board. Your help will be really appreciated as my project deadline is near. And also please mention if i should use any circuitry with the baro or i can connect it directly. Thank you