Skip to content

Commit c571c16

Browse files
committed
drivers: Standardize status and data ready method naming.
1 parent a8d40f7 commit c571c16

9 files changed

Lines changed: 33 additions & 18 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,7 @@ lib/<component>/
475475
- **Device identification**: `device_id()` — returns the device/WHO_AM_I register value. All I2C drivers with an ID register must implement this method.
476476
- **Reset methods**: `reset()` for hardware reset (pin toggle), `soft_reset()` for software reset (register write), `reboot()` for memory reboot (reload trimming).
477477
- **Power methods**: `power_on()` / `power_off()`. All drivers must implement both.
478+
- **Status methods**: `status()` (raw register), `data_ready()` (all channels ready), `<measurement>_ready()` (per-channel, e.g. `temperature_ready()`, `pressure_ready()`).
478479

479480
### Linting
480481

lib/apds9960/apds9960/device.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,15 +225,15 @@ def power_off(self):
225225
# *******************************************************************************
226226

227227
# check if there is new light data available
228-
def is_light_available(self):
228+
def light_ready(self):
229229
val = self._read_reg(APDS9960_REG_STATUS)
230230

231231
# shift and mask out AVALID bit
232232
val &= APDS9960_BIT_AVALID
233233

234234
return val == APDS9960_BIT_AVALID
235235

236-
def is_proximity_available(self):
236+
def proximity_ready(self):
237237
val = self._read_reg(APDS9960_REG_STATUS)
238238
return (val & APDS9960_BIT_PVALID) == APDS9960_BIT_PVALID
239239

@@ -242,7 +242,7 @@ def _ensure_light_enabled(self):
242242
if not (enable & (1 << APDS9960_MODE_AMBIENT_LIGHT)) or not (enable & APDS9960_BIT_PON):
243243
self.enable_light_sensor(interrupts=False)
244244
for _ in range(50):
245-
if self.is_light_available():
245+
if self.light_ready():
246246
return
247247
sleep_ms(10)
248248
raise OSError("APDS9960 light data ready timeout")
@@ -252,7 +252,7 @@ def _ensure_proximity_enabled(self):
252252
if not (enable & (1 << APDS9960_MODE_PROXIMITY)) or not (enable & APDS9960_BIT_PON):
253253
self.enable_proximity_sensor(interrupts=False)
254254
for _ in range(50):
255-
if self.is_proximity_available():
255+
if self.proximity_ready():
256256
return
257257
sleep_ms(10)
258258
raise OSError("APDS9960 proximity data ready timeout")

lib/hts221/hts221/device.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,16 @@ def device_id(self):
6464
def status(self):
6565
return self._read_reg(HTS221_STATUS_REG)
6666

67+
def data_ready(self):
68+
s = self.status()
69+
return bool((s & HTS221_STATUS_T_DA) and (s & HTS221_STATUS_H_DA))
70+
71+
def temperature_ready(self):
72+
return bool(self.status() & HTS221_STATUS_T_DA)
73+
74+
def humidity_ready(self):
75+
return bool(self.status() & HTS221_STATUS_H_DA)
76+
6777
# power control
6878
def power_off(self):
6979
t = self._read_reg(HTS221_CTRL_REG1) & 0x7F

lib/ism330dl/ism330dl/device.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,10 @@ def status(self):
259259
"accel_ready": bool(s & STATUS_XLDA),
260260
}
261261

262+
def data_ready(self):
263+
s = self._read_u8(REG_STATUS_REG)
264+
return bool((s & STATUS_XLDA) and (s & STATUS_GDA) and (s & STATUS_TDA))
265+
262266
# --------------------------------------------------
263267
# Power
264268
# --------------------------------------------------

lib/lis2mdl/examples/magnet_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ def test_reads(dev):
239239
ok &= who == 0x40
240240

241241
# STATUS & DATA READY
242-
st1 = dev.read_status()
242+
st1 = dev.status()
243243
print(f"Initial STATUS=0x{st1:02X}")
244244
# wait a few ms to let a new frame arrive
245245
sleep_ms(50)

lib/lis2mdl/lis2mdl/device.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -182,13 +182,13 @@ def read_magnet_raw(self):
182182
"""Reads the raw magnetic field (LSB). Same as read_magnet(), but more explicit."""
183183
return self.read_magnet() # (x,y,z) int16 LSB
184184

185-
def read_status(self) -> int:
185+
def status(self) -> int:
186186
"""Reads STATUS_REG (0x67)."""
187187
return self._read_reg(LIS2MDL_STATUS_REG)
188188

189189
def data_ready(self) -> bool:
190190
"""True if a new XYZ triplet is ready (Zyxda bit)."""
191-
return bool(self.read_status() & (1 << 3))
191+
return bool(self.status() & (1 << 3))
192192

193193
def read_int_source(self) -> int:
194194
"""Reads INT_SOURCE_REG (0x64): source of the interrupt."""
@@ -331,7 +331,7 @@ def read_all(self) -> dict:
331331
mag_ut = self.read_magnet_uT()
332332
cal = self.read_magnet_calibrated_norm()
333333
temp = self.read_temperature_c()
334-
st = self.read_status()
334+
st = self.status()
335335
return {"raw": raw, "uT": mag_ut, "cal_norm": cal, "tempC": temp, "status": st}
336336

337337
##

lib/wsen-pads/examples/test.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -230,14 +230,14 @@ def test_status_flags(sensor):
230230
sleep(1.5)
231231

232232
status = sensor.status()
233-
p_avail = sensor.pressure_available()
234-
t_avail = sensor.temperature_available()
235-
ready = sensor.is_ready()
233+
p_avail = sensor.pressure_ready()
234+
t_avail = sensor.temperature_ready()
235+
ready = sensor.data_ready()
236236

237237
print("STATUS = 0x{:02X}".format(status))
238-
print("pressure_available() =", p_avail)
239-
print("temperature_available() =", t_avail)
240-
print("is_ready() =", ready)
238+
print("pressure_ready() =", p_avail)
239+
print("temperature_ready() =", t_avail)
240+
print("data_ready() =", ready)
241241

242242
sensor.power_off()
243243

lib/wsen-pads/wsen_pads/device.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,15 +159,15 @@ def status(self):
159159
"""Return the raw STATUS register value."""
160160
return self._read_reg(REG_STATUS)
161161

162-
def pressure_available(self):
162+
def pressure_ready(self):
163163
"""Return True when new pressure data is available."""
164164
return bool(self.status() & STATUS_P_DA)
165165

166-
def temperature_available(self):
166+
def temperature_ready(self):
167167
"""Return True when new temperature data is available."""
168168
return bool(self.status() & STATUS_T_DA)
169169

170-
def is_ready(self):
170+
def data_ready(self):
171171
"""
172172
Return True when both pressure and temperature data are available.
173173

tests/scenarios/lis2mdl.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ tests:
4848

4949
- name: "Read status register"
5050
action: call
51-
method: read_status
51+
method: status
5252
expect_not_none: true
5353
mode: [mock, hardware]
5454

0 commit comments

Comments
 (0)