Skip to content

Commit 89b24bd

Browse files
aviscontikartben
authored andcommitted
drivers/sensor: st: fix ASSERT in fetch API
Many drivers use a wrong __ASSERT in the fetch API, where they just use SENSOR_CHAN_ALL, while it is more common fetching the specific sensor channel (i.e. SENSOR_CHAN_PRESS, SENSOR_CHAN_ACCEL_XYZ, ...). Signed-off-by: Armando Visconti <[email protected]>
1 parent c120179 commit 89b24bd

File tree

6 files changed

+7
-6
lines changed

6 files changed

+7
-6
lines changed

drivers/sensor/st/hts221/hts221.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,8 @@ static int hts221_sample_fetch(const struct device *dev,
7272
uint8_t buf[4];
7373
int status;
7474

75-
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL);
75+
__ASSERT_NO_MSG(chan == SENSOR_CHAN_HUMIDITY || chan == SENSOR_CHAN_AMBIENT_TEMP ||
76+
chan == SENSOR_CHAN_ALL);
7677

7778
status = hts221_read_reg(ctx, HTS221_HUMIDITY_OUT_L |
7879
HTS221_AUTOINCREMENT_ADDR, buf, 4);

drivers/sensor/st/iis3dhhc/iis3dhhc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ static int iis3dhhc_sample_fetch(const struct device *dev,
2626
struct iis3dhhc_data *data = dev->data;
2727
int16_t raw_accel[3];
2828

29-
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL);
29+
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ACCEL_XYZ || chan == SENSOR_CHAN_ALL);
3030

3131
iis3dhhc_acceleration_raw_get(data->ctx, raw_accel);
3232
data->acc[0] = raw_accel[0];

drivers/sensor/st/lps22hb/lps22hb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ static int lps22hb_sample_fetch(const struct device *dev,
3636
const struct lps22hb_config *config = dev->config;
3737
uint8_t out[5];
3838

39-
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL);
39+
__ASSERT_NO_MSG(chan == SENSOR_CHAN_PRESS || chan == SENSOR_CHAN_ALL);
4040

4141
if (i2c_burst_read_dt(&config->i2c, LPS22HB_REG_PRESS_OUT_XL,
4242
out, 5) < 0) {

drivers/sensor/st/lps25hb/lps25hb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ static int lps25hb_sample_fetch(const struct device *dev,
4646
uint8_t out[5];
4747
int offset;
4848

49-
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL);
49+
__ASSERT_NO_MSG(chan == SENSOR_CHAN_PRESS || chan == SENSOR_CHAN_ALL);
5050

5151
for (offset = 0; offset < sizeof(out); ++offset) {
5252
if (i2c_reg_read_byte_dt(&config->i2c,

drivers/sensor/st/lps2xdf/lps2xdf.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ static int lps2xdf_sample_fetch(const struct device *dev, enum sensor_channel ch
136136
const struct lps2xdf_config *const cfg = dev->config;
137137
const struct lps2xdf_chip_api *chip_api = cfg->chip_api;
138138

139-
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL);
139+
__ASSERT_NO_MSG(chan == SENSOR_CHAN_PRESS || chan == SENSOR_CHAN_ALL);
140140

141141
return chip_api->sample_fetch(dev, chan);
142142
}

drivers/sensor/st/stts751/stts751.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ static int stts751_sample_fetch(const struct device *dev,
3535
struct stts751_data *data = dev->data;
3636
int16_t raw_temp;
3737

38-
__ASSERT_NO_MSG(chan == SENSOR_CHAN_ALL);
38+
__ASSERT_NO_MSG(chan == SENSOR_CHAN_AMBIENT_TEMP || chan == SENSOR_CHAN_ALL);
3939

4040
if (stts751_temperature_raw_get(data->ctx, &raw_temp) < 0) {
4141
LOG_DBG("Failed to read sample");

0 commit comments

Comments
 (0)