Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion lib/wsen-hids/wsen_hids/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ def _write_reg(self, reg, value):

def _read_regs(self, reg, length):
try:
if length > 1:
reg |= AUTO_INCREMENT
return self.i2c.readfrom_mem(self.address, reg, length)
except OSError as exc:
raise WSENHIDSCommunicationError(
Expand Down Expand Up @@ -220,7 +222,7 @@ def data_ready(self):

def _read_raw_humidity_temperature(self):
# Multi-byte read with auto-increment bit set.
data = self._read_regs(REG_H_OUT_L | AUTO_INCREMENT, 4)
data = self._read_regs(REG_H_OUT_L, 4)

h_raw = data[0] | (data[1] << 8)
t_raw = data[2] | (data[3] << 8)
Expand Down
16 changes: 8 additions & 8 deletions tests/scenarios/wsen_hids.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ mock_registers:
0x33: 0x18
# T1_T0_MSB: bits[1:0]=T0 msb=0, bits[3:2]=T1 msb=1 -> 0x04
0x35: 0x04
# H0_T0_OUT (signed16 = 3000 = 0x0BB8)
0x36: [0xB8, 0x0B]
# H1_T0_OUT (signed16 = 9000 = 0x2328)
0x3A: [0x28, 0x23]
# T0_OUT (signed16 = 2000 = 0x07D0)
0x3C: [0xD0, 0x07]
# T1_OUT (signed16 = 5000 = 0x1388)
0x3E: [0x88, 0x13]
# H0_T0_OUT (signed16 = 3000 = 0x0BB8) — auto-increment read
0xB6: [0xB8, 0x0B]
# H1_T0_OUT (signed16 = 9000 = 0x2328) — auto-increment read
0xBA: [0x28, 0x23]
# T0_OUT (signed16 = 2000 = 0x07D0) — auto-increment read
0xBC: [0xD0, 0x07]
# T1_OUT (signed16 = 5000 = 0x1388) — auto-increment read
0xBE: [0x88, 0x13]

# Raw data via auto-increment read at 0xA8 (0x28 | 0x80)
# H_OUT_L, H_OUT_H, T_OUT_L, T_OUT_H
Expand Down
Loading