Skip to content

Commit 612f4bb

Browse files
committed
ism330dl: Address Copilot review on polling timeout PR.
1 parent f1878d1 commit 612f4bb

2 files changed

Lines changed: 16 additions & 2 deletions

File tree

lib/ism330dl/ism330dl/device.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,9 +137,9 @@ def _ensure_data(self):
137137
if self._is_power_down():
138138
self.configure_accel(self._accel_odr, self._accel_scale)
139139
self.configure_gyro(self._gyro_odr, self._gyro_scale)
140+
ready_mask = STATUS_XLDA | STATUS_GDA | STATUS_TDA
140141
for _ in range(50):
141-
s = self._read_u8(REG_STATUS_REG)
142-
if s & STATUS_XLDA:
142+
if (self._read_u8(REG_STATUS_REG) & ready_mask) == ready_mask:
143143
return
144144
sleep_ms(10)
145145
raise OSError("ISM330DL data ready timeout")

tests/scenarios/ism330dl.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,20 @@ tests:
375375
expect_true: true
376376
mode: [mock]
377377

378+
- name: "Timeout raises OSError when data never ready"
379+
action: script
380+
script: |
381+
dev.power_down()
382+
i2c._registers[0x1E] = bytes([0x00])
383+
try:
384+
dev.acceleration_raw()
385+
result = False
386+
except OSError:
387+
result = True
388+
i2c._registers[0x1E] = bytes([0x07])
389+
expect_true: true
390+
mode: [mock]
391+
378392
- name: "Fresh acceleration after power down"
379393
action: script
380394
script: |

0 commit comments

Comments
 (0)