Skip to content

Commit 949e586

Browse files
committed
hts221: Address Copilot review on polling timeout PR.
1 parent abc5e1f commit 949e586

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

lib/hts221/hts221/device.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,9 @@ def trigger_one_shot(self):
110110
def _ensure_data(self):
111111
if self._is_power_down() or self._is_one_shot_mode():
112112
self.trigger_one_shot()
113+
ready_mask = HTS221_STATUS_T_DA | HTS221_STATUS_H_DA
113114
for _ in range(50):
114-
if self._read_reg(HTS221_STATUS_REG) & HTS221_STATUS_T_DA:
115+
if (self._read_reg(HTS221_STATUS_REG) & ready_mask) == ready_mask:
115116
return
116117
sleep_ms(2)
117118
raise OSError("HTS221 data ready timeout")

tests/scenarios/hts221.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,20 @@ tests:
136136
expect_true: true
137137
mode: [mock]
138138

139+
- name: "Timeout raises OSError when data never ready"
140+
action: script
141+
script: |
142+
dev.poweroff()
143+
i2c._registers[0x27] = bytes([0x00])
144+
try:
145+
dev.temperature()
146+
result = False
147+
except OSError:
148+
result = True
149+
i2c._registers[0x27] = bytes([0x03])
150+
expect_true: true
151+
mode: [mock]
152+
139153
- name: "Auto-trigger after poweroff"
140154
action: hardware_script
141155
script: |

0 commit comments

Comments
 (0)