There is no standard way to do 16-bit reads in I2C since the bytes can be combined differently or come in a different order on different sensors. The only safe way is to do pure 8-bit reads/writes and keep any 16-bit or higher logic on the driver side. Including the 16-bit methods in the original Adafruit_I2C libs was a mistake in that respect, and they will probably be removed from a future version entirely.
That said ... I just tested the Adafruit_BMP085 library and it sems to work for me?
- Code: Select all | TOGGLE FULL SIZE
webide@raspberrypi /usr/share/adafruit/webide/repositories/Adafruit-Raspberry-Pi-Python-Code/Adafruit_BMP085 $ sudo python Adafruit_BMP085_example.py
Temperature: 24.50 C
Pressure: 1020.20 hPa
What are you getting, and are you sure you have the latest code from the repository?
UPDATE: That negative altitude is correct since I'm not adjusting the reference sea level pressure for an actual reading, but using the generic 'rough estimate' SLP value in the driver. Adjusting for local weather conditions would give me an altitude closer to the 60m or so I should have at my current location.