Skip to content

Commit 8066562

Browse files
committed
fix(wsen-hids): Sync runtime config and improve mock tests.
1 parent 5fc7208 commit 8066562

2 files changed

Lines changed: 23 additions & 4 deletions

File tree

lib/wsen-hids/wsen_hids/device.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,10 +170,13 @@ def _read_calibration(self):
170170
# -------------------------------------------------------------------------
171171

172172
def enable_bdu(self, enabled=True):
173+
self._bdu = enabled
173174
value = CTRL_1_BDU if enabled else 0
174175
self._update_reg(REG_CTRL_1, CTRL_1_BDU, value)
175176

176177
def set_average(self, avg_t=AVG_T_DEFAULT, avg_h=AVG_H_DEFAULT):
178+
self._avg_t = avg_t
179+
self._avg_h = avg_h
177180
avg_t &= 0x07
178181
avg_h &= 0x07
179182
value = (avg_t << 3) | avg_h

tests/scenarios/wsen_hids.yaml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,30 +106,46 @@ tests:
106106
expect_true: true
107107
mode: [mock]
108108

109-
- name: "Power on restores averaging config"
109+
- name: "Power on restores averaging config after register loss"
110110
action: script
111111
script: |
112112
dev.power_off()
113+
i2c.writeto_mem(dev.address, 0x10, bytes([0x00]))
113114
dev.power_on()
114115
av_conf = i2c.readfrom_mem(dev.address, 0x10, 1)[0]
115-
result = av_conf != 0
116+
result = av_conf == 0x1B
116117
expect_true: true
117118
mode: [mock]
118119

119-
- name: "Power on restores BDU setting"
120+
- name: "Power on restores BDU after register loss"
120121
action: script
121122
script: |
122123
dev.power_off()
124+
i2c.writeto_mem(dev.address, 0x20, bytes([0x00]))
123125
dev.power_on()
124126
ctrl1 = i2c.readfrom_mem(dev.address, 0x20, 1)[0]
125127
result = (ctrl1 & 0x04) != 0
126128
expect_true: true
127129
mode: [mock]
128130

129-
- name: "Read one-shot works after power cycle"
131+
- name: "Power on preserves runtime config changes"
130132
action: script
131133
script: |
134+
dev.enable_bdu(False)
132135
dev.power_off()
136+
i2c.writeto_mem(dev.address, 0x20, bytes([0x00]))
137+
dev.power_on()
138+
ctrl1 = i2c.readfrom_mem(dev.address, 0x20, 1)[0]
139+
result = (ctrl1 & 0x04) == 0
140+
expect_true: true
141+
mode: [mock]
142+
143+
- name: "Read one-shot works after register loss"
144+
action: script
145+
script: |
146+
dev.power_off()
147+
i2c.writeto_mem(dev.address, 0x10, bytes([0x00]))
148+
i2c.writeto_mem(dev.address, 0x20, bytes([0x00]))
133149
dev.power_on()
134150
h, t = dev.read_one_shot()
135151
result = isinstance(h, float) and isinstance(t, float)

0 commit comments

Comments
 (0)