Skip to content
This repository was archived by the owner on Sep 30, 2019. It is now read-only.
This repository was archived by the owner on Sep 30, 2019. It is now read-only.

Recent changes to Adafruit_I2C.py break BMP085 on RasPi #38

@MrKahuna

Description

@MrKahuna

Hi,

The following changes seem to break the BMP085 when running on a Raspberry Pi. If I revert these changes it works fine.

@@ -108,8 +108,7 @@
   def readU16(self, reg):
     "Reads an unsigned 16-bit value from the I2C device"
     try:
-      hibyte = self.bus.read_byte_data(self.address, reg)
-      result = (hibyte << 8) + self.bus.read_byte_data(self.address, reg+1)
+      result = self.bus.read_word_data(self.address, reg)
       if self.debug:
         print ("I2C: Device 0x%02X returned 0x%04X from reg 0x%02X" %
          (self.address, result & 0xFFFF, reg))
@@ -120,10 +119,8 @@
   def readS16(self, reg):
     "Reads a signed 16-bit value from the I2C device"
     try:
-      hibyte = self.bus.read_byte_data(self.address, reg)
-      if (hibyte > 127):
-        hibyte -= 256
-      result = (hibyte << 8) + self.bus.read_byte_data(self.address, reg+1)
+      result = self.bus.read_word_data(self.address, reg)
+      if result > 32767: result -= 65536
       if self.debug:
         print ("I2C: Device 0x%02X returned 0x%04X from reg 0x%02X" %
          (self.address, result & 0xFFFF, reg))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions