File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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" )
Original file line number Diff line number Diff 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 : |
You can’t perform that action at this time.
0 commit comments