Skip to content
Snippets Groups Projects
Commit 30441f31 authored by Andreas Gattringer's avatar Andreas Gattringer
Browse files

lsp28dfw: repair (use big endian data for temperature)

parent 4559850b
No related branches found
No related tags found
No related merge requests found
......@@ -139,12 +139,12 @@ class LPS28DFW:
mask = 1 << bit
return value & mask
def read_address_to_int(self, address, n_bytes):
def read_address_to_int(self, address, n_bytes, signed: bool = False):
data = self.read_address(address, n_bytes)
if n_bytes == 1:
return int.from_bytes(data, "little")
elif n_bytes == 2:
return struct.unpack("<h", data)[0]
return int.from_bytes(data, "big", signed=signed)
elif n_bytes == 3:
value = struct.unpack("<I", data + "\0")[0]
if value & 0x800000:
......@@ -205,6 +205,6 @@ class LPS28DFW:
break
await asyncio.sleep(0.01)
temperature = self.read_address_to_int(LPS28DFW_TEMP_OUT_L, 2)
temperature = self.read_address_to_int(LPS28DFW_TEMP_OUT_L, 2, True)
temperature = temperature / 100
return temperature
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment