Commit Graph

2258 Commits

Author SHA1 Message Date
Emilio Benavente
5e35836922 boards: nxp: mcxw7x: Add FXLS8964 Sensor Support
Added FXLS8964 Accel Sensor Support for the
mcxw71 and mcxw72 devices.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-03-07 19:48:18 +01:00
Margherita Milani
c7b65cb4e0 apds9253: Add measurement rate set attribute
Allow to set attribute of the measurement rate of the apds9253. This
must be done setting the sampling frequency (in Hz).

Signed-off-by: Margherita Milani <margherita.milani@amarulasolutions.com>
2025-03-07 19:47:51 +01:00
Michael Trimarchi
4e296ab7c9 apds9253: Add gain set attribute
Allow to set attribute of the gain of the apds9253. The gain
is applied to all the channels.

Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Margherita <margherita.milani@amarulasolutions.com>
2025-03-07 19:47:51 +01:00
Florian Weber
91af849cfb drivers: sensor: ak09918c use RTIO
make usage of the RTIO in the ak09918c driver

Signed-off-by: Florian Weber <Florian.Weber@live.de>
2025-03-07 19:43:22 +01:00
Fabian Barraez
746ea32edc drivers: sensor: bosch: bme680: fix: possible overflowed value return value
- Check if value exceeds limits of the variable

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-03-05 09:58:35 +00:00
Jordan Yates
a0d22be980 sensor: adxl345: add missing Kconfig dependency
Add a missed dependency to all sub-symbols of `ADXL345`.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-03-04 21:56:05 +01:00
Fabian Barraez
3295f7c5e2 drivers: sensor: si7060: fix: insecure data handling caught by coverity
- Checking each retval from read register before continue

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-02-26 07:40:00 +01:00
Luis Ubieda
cc7a151f52 sensor: lsm6ds: Do not enable Streaming for buses with no RTIO support
Ensure the corresponding bus enables RTIO (I2C, I3C or SPI) before
instantiating rtio-dependent elements. Otherwise, enabling it for
another bus (e.g: SPI_RTIO when the LSM6DS is also on I3C with no
I3C_RTIO) will cause a build-time failure.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-21 18:02:32 +00:00
Zach Thomas
7e23a18980 drivers: sensor: scd4x: fix int overflow on val2 for temp and hum
The scd4x_channel_get function converts raw word values to
struct sensor_value's per the datasheet. The calculation for val2 of a
struct sensor_value `val->val2 = ((tmp_val % 0xFFFF) * 1000000) / 0xFFFF;`
can overflow the max of int32_t, resulting in an incorrect
sensor_value.
Fix it by changing the type of tmp_val to int64_t.

Signed-off-by: Zach Thomas <zach.thomas1.zt@gmail.com>
2025-02-21 04:39:42 +01:00
Luis Ubieda
6e897ccd69 sensor: adxl372: Fix build time issue due to shift variable namespace
Change `data->header.shift` to `data->shift`, as it is not contained
within the header struct.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-21 04:39:16 +01:00
Luis Ubieda
5847680e1e sensor: adxl367 and adxl372: fix build-failure with streaming mode
These two sensors do not build with asserts enabled as they're
referencing a non-existent variable `pkt_size`.

Replaced for what (AFAIK) is the intended variable.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-21 04:39:16 +01:00
Benjamin Cabé
4417fdb128 drivers: sensor: fix "Celsius" spelling
s/Celcius/Celsius/  -- preserved original case

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-19 18:51:13 +01:00
Nabil Elqatib
b2ec12edc8 drivers: sensor: bosch: bmg160: replace deprecated datasheet link
Use an internetarchive link instead

Signed-off-by: Nabil Elqatib <nabilelqatib@gmail.com>
2025-02-14 17:07:12 +01:00
Van Petrosyan
2a250b0d65 sensor: scd4x: Fix ID for power down command
Fixed command ID for power down command in SCD4X sensor driver

Signed-off-by: Van Petrosyan <van.petrosyan@sensirion.com>
2025-02-14 10:43:29 +01:00
Camille BAUD
ee37a94aa8 sensor: xbr818: struct sensor... to DEVICE_API
This makes static const struct sensor_driver_api into DEVICE_API(sensor

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-02-14 08:45:13 +01:00
Camille BAUD
637686695c sensor: Introduce Phosense XBR818 Driver
This Introduces a driver for the i2c interface of Phosense XBR818.
XBR818 is a 10.525Ghz Radar chip with builtin detection algorithm.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-02-14 03:03:22 +01:00
Tom Hughes
337ca4e478 drivers: sensor: Remove unused function
Building with clang warns:

drivers/sensor/st/ism330dhcx/ism330dhcx.c:107:19: error: unused function
'ism330dhcx_reboot' [-Werror,-Wunused-function]
static inline int ism330dhcx_reboot(const struct device *dev)

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-13 03:27:43 +01:00
Tom Hughes
a887fe1607 drivers: sensor: Fix unused function warning
Building with clang warns:

drivers/sensor/st/lis2dw12/lis2dw12.c:194:23: error: unused
function 'sensor_ms2_to_mg' [-Werror,-Wunused-function]
static inline int32_t sensor_ms2_to_mg(const struct sensor_value *ms2)
                      ^

Move the function to include/zephyr/drivers/sensor.h with the other
sensor_ms2_to* functions.

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-12 07:52:36 +01:00
Tom Hughes
19ec804ed1 drivers: sensor: Remove unused function
Building with clang warns:

drivers/sensor/st/iis2iclx/iis2iclx.c:68:19: error: unused function
'iis2iclx_reboot' [-Werror,-Wunused-function]
static inline int iis2iclx_reboot(const struct device *dev)
                  ^

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-12 02:25:21 +01:00
Tom Hughes
31be869672 drivers: sensor: Fix unused function warning
Building with clang warns:

drivers/sensor/st/lsm9ds0_mfd/lsm9ds0_mfd.c:42:19: error: unused
function 'lsm9ds0_mfd_accel_set_odr_raw' [-Werror,-Wunused-function]
static inline int lsm9ds0_mfd_accel_set_odr_raw(const struct device *dev,
                  ^

lsm9ds0_mfd_accel_set_odr_raw is only used by code that was guarded by
defined(CONFIG_LSM9DS0_MFD_ACCEL_SAMPLING_RATE_RUNTIME) in addition to
!defined(LSM9DS0_MFD_ACCEL_DISABLED).

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-12 02:25:10 +01:00
Tom Hughes
d46fa0ba69 drivers: sensor: Remove unused function
Building with clang warns:

drivers/sensor/st/lsm6dso/lsm6dso.c:89:19: error: unused function
'lsm6dso_reboot' [-Werror,-Wunused-function]
static inline int lsm6dso_reboot(const struct device *dev)
                  ^

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-12 02:24:57 +01:00
Tom Hughes
ce1bc3353c drivers: sensor: Remove unused function
Building with clang warns:

drivers/sensor/st/lsm6dso16is/lsm6dso16is.c:83:19: error: unused
function 'lsm6dso16is_reboot' [-Werror,-Wunused-function]
static inline int lsm6dso16is_reboot(const struct device *dev)
                  ^

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-12 02:24:45 +01:00
Corey Wharton
9d262d0698 drivers: sensor: lsm6dsv16x: support setting and getting wake attributes
Adds support for the SENSOR_ATTR_SLOPE_TH and SENSOR_ATTR_SLOPE_DUR
attributes These set the sensitivity for the SENSOR_TRIG_DELTA trigger
which uses the sensor's wakeup feature.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-02-11 10:11:59 +01:00
Corey Wharton
557eb478ef drivers: sensor: lsm6dsv16x: support SENSOR_TRIG_DELTA trigger
The enables the SENSOR_TRIG_DELTA trigger using the wakeup interrupt
feature of the sensor.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-02-11 10:11:59 +01:00
Corey Wharton
3fef72a430 drivers: sensor: lsm6dsv16x: add device PM support
Adds a device PM handling which will ensure acc/gyro channels are off
when the device is suspended.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-02-11 10:11:59 +01:00
Luis Ubieda
4e4ec9c1e2 sensor: icm42688: fix One-shot decoder to only return requested fields
Otherwise clients will get the impression there are frames for values
that have not been retrieved.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-11 07:44:12 +01:00
Luis Ubieda
f8506347cd sensor: icm42688: change single-axis data reported as sensor_q31_data
When individual axis is retrieved, it does not require the other values.
Simplify one-shot decoder to follow this pattern.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-11 07:44:12 +01:00
Armando Visconti
89b24bdc85 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 <armando.visconti@st.com>
2025-02-10 11:31:06 +01:00
Aurelie Fontaine
5213c2cba3 drivers: sensor: icm42670: add icm42370-P support
To support icm42370-p sensor, we renamed icm42670 to icm42x70
 as the driver is similar to ICM-42670-P/S in hal_tdk module.
Keep icm42670 source and header for dedicated code.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2025-02-08 00:31:43 +01:00
Remi Buisson
a4d863163b drivers: sensor: icp101xx: Add icp101xx support
Use official TDK Invensense driver for icp101xx sensor in tdk_hal module.

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2025-02-07 07:38:06 +01:00
David Leach
50a044a33d drivers: sensor: fxls8974: fix size misalignment memory access
Coverity identified out-of-bounds access. A uint8_t being cast to
an enum is undefined in that the enum can be allocated 4bytes.

Change the internal function to use the base type of the variable,
uint8_t to avoid potential compiler size alignement problems.

Fixes #81927

Signed-off-by: David Leach <david.leach@nxp.com>
2025-02-07 02:24:17 +01:00
Wajdi ELMuhtadi
03b075d35a drivers: sensor: wsen_pads_2511020213301: add sensor driver
Add wsen_pads_2511020213301 driver with
the corrected name and compatibility with
the hal update as well as added new features.

Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
2025-02-06 07:45:13 +01:00
Konrad Sikora
6487b217ea drivers: sensor: Fix typos in TMAG5170 driver
Correct a couple of misspellings in the TMAG5170 sensor driver

Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
2025-02-05 23:48:52 +01:00
Jonas Spinner
90b989cf0e drivers: sensor: st: add missing buffer size config
Previously, the Kconfig option CONFIG_STMEMSC_I3C_I2C_WRITE_BUFFER_SIZE
has been introduced to replace i2c_burst_write with i2c_write using a
buffer combining the address and data.
See commit 5f8da77ad3eaf0593107fd99253c1c13b3a98de0

Add missing buffer size config to stmemsc_i2c_write_incr to replace
fixed buffer size.

Signed-off-by: Jonas Spinner <jonas.spinner@burkert.com>
2025-02-05 21:01:34 +01:00
Armando Visconti
b6604f160c drivers/sensor: lis3mdl: fix lis3mdl_sample_fetch API
Fix a runtime bug when both CONFIG_LIS3MDL_TRIGGER and CONFIG_ASSERT
are set. The correct assertion should verify that sensor channel is
either SENSOR_CHAN_ALL or SENSOR_CHAN_MAGN_XYZ.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-02-05 21:01:18 +01:00
Mohammed Billoo
2850be690d drivers: sensor: ams/tsl2591: Don't check return code of initial reset
The TSL2591 driver fails to initialize because the sensor responds with a
NACK on the initial RESET. Although the datasheet from Adafruit claims that
this is operation should be valid (RESET is part of the CONTROL register),
other sample non-Zephyr drivers provided by Arduino don't explicitly reset
the sensor on initialization (see
https://github.com/adafruit/Adafruit_TSL2591_Library/blob/master/Adafruit_TSL2591.cpp).
Thus, the assumption is that when the sensor is reset via software, it
doesn't respond to an ACK.

After removing the check for this initial RESET, the driver initializes
successfully.

Signed-off-by: Mohammed Billoo <mab@mab-labs.com>
2025-02-05 21:00:36 +01:00
Stephan Linz
98cf437d7a drivers: sensor: maxim,ds3231: avoid compilation error
As the C language treats 'cases' similar to 'labels' the following
error can also occur when using switch statements when it encounters
a declaration immediately after a label:

drivers/sensor/maxim/ds3231/ds3231.c:77:3: error: a label can only
        be part of a statement and a declaration is not a statement
   77 |   const uint16_t raw_temp = data->raw_temp;
      |   ^~~~~

Signed-off-by: Stephan Linz <linz@li-pro.net>
2025-02-05 01:16:03 +01:00
Aurelie Fontaine
262008a4a4 drivers: sensor: icm42670: fix serif type
Fix correct use of serif_type if the driver is compiled with both SPI
and I2C enabled by storing it in device config.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2025-02-04 15:05:40 +00:00
Mayank Narang
6c85423086 drivers: sensor: kconfig: Explicitly add default trigger mode as none
Explicitly add default trigger mode as none in the kconfig trigger
template for better readability.

Signed-off-by: Mayank Narang <narang.may77@gmail.com>
2025-02-04 09:17:48 +01:00
Jamie McCrae
560db8509a drivers: kconfig: Fix bleeding options
Fixes a multitude of Kconfigs that wrongly appear on devices
where support is literally impossible

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-01-31 11:50:12 +01:00
Fabian Barraez
9c993bd0e3 sensor: grow_r502a: fix: untrusted array index read
- Fixed Coverity CID 366275 by adding bounds check on
packet length.

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-01-30 07:20:29 +01:00
Ryan McClelland
8f0ffbbb34 drivers: sensor: st: replace i2/3c_burst_write
i2/3c_burst_write comes with a warning where this combined write
synthesized by thsi API may not be supported by all I2/3C
devices. Replace with i2c_write instead with a buffer combining
the address and data.

The Kconfig STMEMSC_I2C_WRITE_BUFFER_SIZE was added to set the
size of the buffer pushed to the stack.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-01-29 22:30:25 +01:00
Benjamin Perseghetti
e399c168a1 sensor: icm42688: Fix broken build and streaming.
Makes driver actually build again.
Fixes scaling, q32 encoding, bit shifts, and register mappings.
Also enables High Resolution mode (a unique and beneficial
feature of the chip when used with streaming).

Co-authored-by: James Goppert <james.goppert@gmail.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
2025-01-29 15:17:44 +01:00
Fabio Baltieri
e93118f906 sensor: add few missing shell device filters
Add shell device filtering using the existing sensor_device_check to all
remaining sensor shell commands.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-01-29 04:17:47 +01:00
Yishai Jaffe
6686d82a7f drivers: si7006: add support for vin supply
Added support for vin supply which seems to be needed for the radio
boards in order to power on the sensor.

Signed-off-by: Yishai Jaffe <yishai1999@gmail.com>
2025-01-28 18:14:09 +01:00
Fabian Barraez
3585c37437 sensor: bmp180: fix: untrusted divisor caught by coverity
- Checking the value before applying it as a divisor

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-01-27 04:16:45 +01:00
Wajdi ELMuhtadi
4068d41d4b drivers: sensor: wsen_tids_2521020222501: add sensor driver
Add wsen_tids_2521020222501 driver with
the corrected name and compatibility with
the hal update as well as added new features.

Signed-off-by: Wajdi ELMuhtadi <wajdi.elmuhtadi@we-online.com>
2025-01-24 19:16:17 +01:00
Mayank Narang
cb608812cf drivers: sensor: lis2de12: add length check in spi write incr routine
Added a length check in the spi write incr routine to handle both
single and multi byte write operations properly.

Signed-off-by: Mayank Narang <narang.may77@gmail.com>
2025-01-24 15:42:21 +01:00
Mayank Narang
7b062f5b09 drivers: sensor: lis2de12: fix read accel via spi
The lis2de12 sensor driver spi interface was calling spi read api.
This leads to a single byte operation on reading acceleration data
which is a multi byte operation. Fix it by adding a call to spi read
incr api instead. Added a length check to handle both single and multi
byte read properly.

Signed-off-by: Mayank Narang <narang.may77@gmail.com>
2025-01-24 15:42:21 +01:00
Fredrik Gihl
904089ddc5 driver: sensor: tmp116: oversample attribute
Add oversample attribute

Signed-off-by: Fredrik Gihl <fgihl@hotmail.com>
2025-01-24 15:41:50 +01:00