Commit Graph

557 Commits

Author SHA1 Message Date
Luis Ubieda
c1e75b6c3b sensor: pat9136: Add cooldown timer
This sensor may trigger data at a very fast pace (20,000 fps) and this
may not be useful for the application. Instead, it may affect its
proper functioning. Therefore, this patch includes a cool-down timer
before which time the INT line won't be enabled.

Please note that this sensor accumulates the delta compared to the
last reading, so on its own, not reading data-changes does not imply
losing data, as long as it does not saturate.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Luis Ubieda
382fa5d085 sensor: pat9136: Add Streaming mode
Working with DRDY and Motion triggers.
DRDY contains a backup software timer to guarantee checking in with
the sensor.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Luis Ubieda
9df68a4c48 sensor: pat9136: Add basic functionality
- Basic support with Read/Decode API for one-shot reads.
- Supported channels:
    - SENSOR_CHAN_POS_DX.
    - SENSOR_CHAN_POS_DY.
    - SENSOR_CHAN_POS_DXYZ.
    - SENSOR_CHAN_POS_DX_MM (private channel).
    - SENSOR_CHAN_POS_DY_MM (private channel).
    - SENSOR_CHAN_POS_DXYZ_MM (private channel).

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-04-02 05:29:23 +02:00
Patrick Harböck
a67eefd43e drivers: sensor: esp32c6 internal temperature sensor
Support for esp32c6 internal temperature sensor on Zephyr.

Signed-off-by: Patrick Harböck <patrick.harboeck@tngtech.com>
2025-04-01 22:13:50 +02:00
Dipak Shetty
8f789f81c3 dts: bindings: sensor: add everlight ambient light sensor binding
Added new binding for Everlight ALS-PT19 Ambient Light Sensor.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-04-01 22:12:13 +02:00
Konrad Sikora
8ad2cac1b5 drivers: sensor: Add support for LTR329 sensor
Add support for Liteon LTR329 Digital Ambient Light Sensor

Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
2025-04-01 22:12:01 +02:00
Konrad Sikora
85e9cef24e drivers: sensor: Change vendor prefix from 'ltr' to 'liteon'
The vendor prefix has been changed from 'ltr' to 'liteon'.
This change is made to better reflect the actual name of
the vendor, which is LiteOn. The previous prefix 'ltr'
was referring to the LiteOn Optical Sensor family, which
could lead to misunderstandings.

Signed-off-by: Konrad Sikora <kontakt@konradsikora.pl>
2025-04-01 22:12:01 +02:00
Corey Wharton
3aebc9d258 drivers: sensor: tmp112: add support for setting ALERT thresholds
Allows setting tLow/tHigh threasholds via the SENSOR_ATTR_LOWER_THRESH/
SENSOR_ATTR_UPPER_THRESH attributes.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-31 08:07:12 +02:00
Corey Wharton
a7f6cee9de drivers: sensors: lsm6dsv16x: add support for lsm6dsv32x variant
The LSM6DSV32X part is nearly identical to the LSM6DSV16X but has different
sensitivity scales for the accelerometer (4-32G versus 2-16G). This commit
adds support for this part via the "st,lsm6dsv32x" compatible string.

Signed-off-by: Corey Wharton <xodus7@cwharton.com>
2025-03-26 16:19:54 +01:00
Tilmann Unte
224b5b744d drivers: sensor: mpu6050: scale settings to DT, adds sample rate setting
Moves the MPU6050 accel/gyro scale settings from KConfig to Devicetree.
Adds a new setting for the MPU6050 sample rate divider register and
transmits it to the sensor upon initialization.
This helps to reduce the interrupt firing rate when combined with the
data ready trigger.
A default division factor is provided which ensures compatibility with
existing applications.
The MPU6050 sample application is extended and used for hardware tests.

Signed-off-by: Tilmann Unte <unte@es-augsburg.de>
2025-03-25 22:12:49 +01:00
Fredrik Gihl
83b1422f9c drivers: sensor: tmp114: Support setting odr
Add support for setting the sample frequency via `attr_set` and the
output data rate from device tree source.

Signed-off-by: Fredrik Gihl <fgihl@hotmail.com>
2025-03-25 22:12:11 +01:00
Maximilian Deubel
878ab53698 drivers: sensor: add Bosch BMM350 magnetometer driver
Add driver for Bosch BMM350 magnetometer sensor.

Signed-off-by: Maximilian Deubel <maximilian.deubel@nordicsemi.no>
2025-03-20 12:17:41 +01:00
Luis Ubieda
8258cba2c6 sensor: icm45686: Add Streaming Mode
Enable Streaming mode with the following modes:
- DRDY
- FIFO Watermark
- FIFO Full

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-03-17 13:56:41 +01:00
Andreas Klinger
72b2f01298 drivers: sensor: add vishay veml6031 ambient light sensor
- add driver for Vishay VEML6031 High Accuracy Ambient Light Sensor.
- add new compatible "vishay,veml6031".
- read and write consecutive 8 bit registers as bulk operation.
- add driver to build all test of sensors.
- support fetch and get.
- triggered mode and interrupt is not yet supported.

Signed-off-by: Andreas Klinger <ak@it-klinger.de>
2025-03-14 14:40:12 +01:00
Luis Ubieda
df1d3b8ef3 sensor: paa3905: Add streaming mode
Working through either Motion detection or through Data-Ready.

Data-ready has a back-up timer to trigger worst case, if no motion
occurs within 10X data-rate.

On every streaming event, the driver checks for the sensor health, and
attempts recoverying its state if it detects issues.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-03-13 16:56:07 +00:00
Luis Ubieda
53bb372980 sensor: PA3905: Add basic functionality
- Add bus support for SPI (based on RTIO).
- Support read/decode API for one-shot reads on the following channels:
    - SENSOR_CHAN_POS_DX.
    - SENSOR_CHAN_POS_DY.
    - SENSOR_CHAN_POS_DXYZ.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-03-13 16:56:07 +00:00
Luis Ubieda
05e8a65ba0 sensor: icm45686: Add low-pass filter configuration options
Both for Gyro and Accelerometer.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-03-11 05:37:06 +01:00
Luis Ubieda
25793fe33c sensor: icm45686: Add basic sensor functionality
- Add support for Fetch/Get API.
- Add support for Read/Decode API.
- Add config settings through device-tree.
- Add bus support for SPI (although easily extensible to others as
based on RTIO).

Fetch/Get API tested with accel_polling sample.
Read/Decode API tested with sensor_shell sample.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-03-11 05:37:06 +01:00
Benjamin Cabé
d9b4bacddb dts: bindings: Minor fixes for various bindings' description
Fix/clarify descriptions for several devicetree bindings.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-06 16:51:59 +00:00
Benjamin Cabé
2c1538d57e dts: stm32: Streamline Devicetree binding descriptions
Ensure consistent (and concise) short descriptions of all the st,*.yaml
bindings

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-04 21:55:54 +01:00
Benjamin Cabé
957647b382 dts: espressif: Streamline device tree binding descriptions
Ensure consistent (and concise) short descriptions of all the esp*.yaml
bindings

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-03-04 18:26:43 +00:00
Benjamin Cabé
35a535fb9a drivers: sensor: fix spelling of "addtional"
s/addtional/additional/

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-21 11:41:46 +00: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
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
Aurelie Fontaine
92b9b64d1b dts: bindings: sensor: add icm42370-p support
Add icm42x70 device tree file, it includes the common properties
for icm42370-p, icm42670-p, and icm42670-s.
Add icm42370-p device tree files for SPI and I2C interface.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2025-02-08 00:31:43 +01:00
Remi Buisson
ad4ed55cba dts: bindings: sensor: Add invensense icp101xx properties
Replace icp10125.
tests: sensor: rename icp10125 to icp101xx

Signed-off-by: Remi Buisson <remi.buisson@tdk.com>
2025-02-07 07:38:06 +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
Nikola Petrovic
f48d6ff762 docs: Adapt ICM42688 example to new dt option names.
Example for creating ICM42688 dt node uses old dt option names.
Fix by changing to newest dt option names.

Signed-off-by: Nikola Petrovic <nikolaptr6@gmail.com>
2025-01-25 01:40:58 +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
Fredrik Gihl
3a07f6d7dd driver: sensor: tmp116: adjust yaml to render nicer in documentation
Adjust detail description of ODR to contain documentation about
valid values.

Signed-off-by: Fredrik Gihl <fgihl@hotmail.com>
2025-01-24 15:41:50 +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
Jaakko Rautiainen
516e5d61c6 drivers: sensor: ti: tmp435: added driver for TMP435
The TMP435 is a remote temperature sensor monitor
with a built-in local temperature sensor.

Signed-off-by: Jaakko Rautiainen <jaakko.rautiainen@bittium.com>
2025-01-21 19:26:32 +01:00
Florian Weber
432c0cdc35 drivers: sensor: mlx90394: added driver
Added driver for Melexis MLX90394 magnetometer.

Signed-off-by: Florian Weber <Florian.Weber@live.de>
2025-01-21 09:12:41 +01:00
Wajdi ELMuhtadi
01d9861d71 drivers: sensor: wsen_pdus_25131308XXXXX: add sensor driver
Add wsen_pdus_25131308XXXXX 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-16 22:35:47 +01:00
Yiding Jia
2bf61e51fe drivers: sensor: Fix TMAG5273/TMAG3001 by adding a TMAG3001 compatible
Fixes issue introduced in #76460

The previous code attempted to detect whether TMAG5273 or TMAG3001 was
connected based on DEVICE ID register. This doesn't work as the bits that
denote the version on one part are undefined on the other part, and cannot
be relied on to be zero.

This commit adds a TMAG3001 compatible which (for now) is just derived from
the TMAG5273 compatible. This allows TMAG3001 to be specified directly in
the DT. The driver code is updated to support both compatibles.

Signed-off-by: Yiding Jia <yiding.jia@gmail.com>
2025-01-08 09:33:02 +01:00
Mathieu Choplain
a8fd04a1f1 dts: bindings: sensor: stm32-vref: add resolution property
Add a property holding calibration resolution, similar to what already
exists in the st,stm32-temp-cal-common binding.

Signed-off-by: Mathieu Choplain <mathieu.choplain@st.com>
2025-01-08 07:50:44 +01:00
Gergo Vari
2759adaf1a drivers: rtc: maxim,ds3231: RTC driver
This is a squash of all the groundwork needed to
get a functioning driver for the DS3231 with the RTC API.

Signed-off-by: Gergo Vari <work@gergovari.com>
2025-01-07 23:00:05 +01:00
Armando Visconti
21584003bf sensors: drivers: lsm6dsv16x: add SFLP FIFO support
Add the Sensor Fusion Low Power (SFLP) FIFO streaming capability,
using RTIO. The decode function is now aware of parsing following FIFO
tags:

    - LSM6DSV16X_SFLP_GAME_ROTATION_VECTOR_TAG
    - LSM6DSV16X_SFLP_GYROSCOPE_BIAS_TAG
    - LSM6DSV16X_SFLP_GRAVITY_VECTOR_TAG

To activate SFLP the user should put in DT the proper configuration.
For example, to activate a 60Hz SFLP FIFO batching rate of game rotation
vector, gravity vector and gbias components, the user should add in DT
the following:

  sflp-odr = <LSM6DSV16X_DT_SFLP_ODR_AT_60Hz>;
  sflp-fifo-enable = <LSM6DSV16X_DT_SFLP_FIFO_GAME_ROTATION_GRAVITY_GBIAS>;

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2025-01-02 18:04:19 +01:00
Armando Visconti
f9eceaebf9 drivers/sensor: lis2dux12: add lis2duxs12 support
The LIS2DUXS12 is a smart, digital, 3-axis linear accelerometer whose
MEMS and ASIC have been expressly designed to combine the lowest current
consumption possible with features such as always-on antialiasing
filtering, a finite state machine (FSM) and machine learning core (MLC)
with adaptive self-configuration (ASC), and an analog hub / Qvar sensing
channel.

(https://www.st.com/en/mems-and-sensors/lis2duxs12.html)

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-12-27 19:34:46 +01:00
Dimitrije Lilic
088afe9359 drivers: sensor: adxl345: Support for RTIO I2C stream
Updated ADXL345 driver with RTIO I2C stream functionality.

Signed-off-by: Dimitrije Lilic <dimitrije.lilic@orioninc.com>
2024-12-20 16:23:46 +01:00
Mariëlle Korthout
4fa94f6742 drivers: sensor: Add HS400x driver
Adds Renesas HS400x temperature and humidity sensors driver.
Signed-off-by: Mariëlle Korthout <marielle.korthout.jc@renesas.com>
2024-12-20 03:18:19 +01:00
Ryan McClelland
eb93ba03a9 sensor: lsm6dsv16x: add i3c support
Add I3C support to the lsm6dsv16x.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2024-12-18 22:12:04 +01:00
Aurelie Fontaine
78c62d495f dts: bindings: sensor: Add invensense icm42670 properties
Add the power mode, accel and gyro filtering options,
 and apex features. Add -p and -s compatible.

Signed-off-by: Aurelie Fontaine <aurelie.fontaine@tdk.com>
2024-12-18 03:04:31 +01:00
TOKITA Hiroshi
3a69ed6c02 drivers: sensors: ti_hdc20xx: Remove ti,hdc20xx compatible
The `ti,hdc20xx` is a common definition for TI HDC20xx series,
so the actual device named `hdc20xx` does not exist.
Remove the "compatible" section.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-12-09 22:06:52 +00:00
Audun Korneliussen
ab6bca66ac drivers: sensor: npm1300_charger: Updating of discharge current limit
Update discharge current limit property to be aligned
with the most recent npm1300 datasheet.
This affects the discharge current measurement calculation,
which needs to be scaled accordingly.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-12-05 15:18:23 +01:00
Audun Korneliussen
439d3b2973 drivers: sensor: npm2100: Add driver for npm2100 pmic
Add sensor driver for npm2100 pmic.

This pmic performs measurements of battery voltage, regulator voltage
and die temperature.

Configurable pmic attributes are also organized under this driver.

Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
2024-12-04 14:19:53 -05:00
Jeppe Odgaard
c41570871b drivers: sensor: tmp116: support set sample frequency
Add support for setting the sample frequency via `attr_set` and the
output data rate from device tree source.

Signed-off-by: Jeppe Odgaard <jeppe.odgaard@prevas.dk>
2024-12-03 19:57:06 +01:00
Vladislav Pejic
60c042604e driver: sensor: adxl366: .yaml files
Added .yaml files for ADXL366 accelerometer

Signed-off-by: Vladislav Pejic <vladislav.pejic@orioninc.com>
2024-12-03 15:48:01 +00:00
Armando Visconti
a867dbdc47 sensors: lsm6dsv16x: add RTIO async and fifo stream
Add RTIO async and RTIO stream functionalities that enables,
among all the other things, the sensor data streaming from FIFO.

RTIO stream is using both SENSOR_TRIG_FIFO_WATERMARK and
SENSOR_TRIG_FIFO_FULL triggers. The decoder currently only supports
following FIFO tags:

  - LSM6DSV16X_XL_NC_TAG
  - LSM6DSV16X_GY_NC_TAG
  - LSM6DSV16X_TEMP_NC_TAG

Following FIFO parameters has to be defined in device tree to
correctly stream sensor data:

  - fifo-watermark (defaults to 32)
  - accel-fifo-batch-rate (defaults to LSM6DSV16X_DT_XL_NOT_BATCHED)
  - gyro-fifo-batch-rate (defaults to LSM6DSV16X_DT_GY_NOT_BATCHED)
  - temp-fifo-batch-rate (defaults to LSM6DSV16X_DT_TEMP_NOT_BATCHED)

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2024-11-27 21:06:30 +00:00
Jan Faeh
2efc8598e3 drivers: sensor: SCD4x Add driver
This adds support for Sensirion's SCD4x co2 sensor.

Signed-off-by: Jan Faeh <jan.faeh@sensirion.com>
2024-11-18 19:38:10 -05:00