nuttx/drivers/sensors
Felipe Moura 68f4dff099 Documentation/lsm6ds3trc: document FIFO mode and its quirks
Adds a section covering CONFIG_SENSORS_LSM6DS3TRC_FIFO: what it changes
(one interrupt/I2C read per watermark instead of per sample) and its
three limitations while it's on -- both sub-sensors forced to the same
ODR, temperature no longer per-sample (one read per drain applied to
the whole batch), and both sub-sensors must stay physically enabled
regardless of subscription, since the chip's FIFO write trigger needs
both running -- plus the watermark/ORB-buffer-size relationship callers
need to respect.

Also documents a related chip quirk found during bench testing:
diff_words reads 0 at the exact moment a real FIFO overrun occurs, even
though the FIFO is still completely full of valid, retained data (a
forced read past that point recovers real samples, not garbage). This
isn't a bug in this driver: ST's own engineers confirm the same
behavior for this chip family on their community forum (thread
"LSM6DS3 FIFO status clarification", td-p/184022), and the mainline
Linux st_lsm6dsx driver doesn't attempt to recover from it either -- it
only special-cases an empty FIFO, not an overrun one. Documenting this
in a comment rather than adding recovery logic: with the small
watermark this driver uses, reaching a real overrun at all means the
drain has already fallen many seconds behind, and ST's own guidance for
this condition is to avoid it via watermark sizing rather than recover
from it.

Signed-off-by: Felipe Moura <moura.fmo@gmail.com>
2026-09-02 09:05:20 +08:00
..
adt7320.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
adt7320.h drivers/sensors/adt7320 : migrate license to ASF 2024-11-06 19:46:13 +08:00
adxl345.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
adxl345_base.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
adxl345_i2c.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
adxl345_spi.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
adxl362_uorb.c sensors/adxl362_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
adxl372.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
adxl372_uorb.c drivers/sensors/adxl372_uorb.c: fix compilation error 2026-06-10 08:49:14 -03:00
aht10.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ak09912.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
amg88xx.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
apds9922.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
apds9960.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
as726x.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
as5048a.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
as5048b.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
bh1749nuc.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
bh1749nuc_base.c drivers/sensors: fix various coding style issues 2025-05-23 11:29:58 -03:00
bh1749nuc_base.h include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
bh1749nuc_uorb.c sensors/bh1749nuc_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
bh1750fvi.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
bme680_uorb.c sensors/bme680_uorb.c: always allow temperature topic registration 2026-06-10 09:52:00 +08:00
bme688_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
bmg160.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
bmi088.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
bmi088_base.c drivers/sensors: fix various coding style issues 2025-05-23 11:29:58 -03:00
bmi088_base.h include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
bmi088_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
bmi160.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
bmi160_base.c drivers/sensors: fix misplaced endif in bmi160_base.c 2026-04-15 17:47:46 +02:00
bmi160_base.h include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
bmi160_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
bmi270.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
bmi270_base.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
bmi270_base.h include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
bmi270_uorb.c sensors/bmi270_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
bmm150_uorb.c sensors/bmm150_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
bmp180.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
bmp180_base.c sensors/bmp180_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
bmp180_base.h sensors/bmp180_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
bmp180_uorb.c sensors/bmp180_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
bmp280_uorb.c sensors/bmp280_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
CMakeLists.txt drivers/sensors: add LSM6DS3TR-C uORB driver for the XIAO ESP32-S3 2026-08-29 11:11:14 -03:00
cxd5602pwbimu.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
dhtxx.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ds18b20_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
fakesensor_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
fs3000_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
fxos8700cq.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
gnss_uorb.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
goldfish_gnss_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
goldfish_sensor_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
hall3ph.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
hc_sr04.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
hdc1008.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
hts221.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
hyt271_uorb.c sensors/hyt271_uorb: support for fixed-point data 2026-05-02 00:56:42 +08:00
ina219.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ina226.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ina3221.c drivers/: Multiple Drivers Are Registered With World Writable Part 3 2026-07-16 09:49:07 -03:00
isl29023.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
Kconfig drivers/sensors/lsm6ds3trc: add FIFO drain via watermark interrupt 2026-09-02 09:05:20 +08:00
kxtj9.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
l3gd20_uorb.c drivers/sensors/l3gd20: always deliver samples with push_event 2026-08-05 12:50:12 +02:00
l86xxx_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
lis2dh.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lis2mdl_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
lis3dh.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lis3dsh.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lis3dsh_uorb.c drivers/sensors: add LIS3DSH accelerometer uORB driver 2026-07-25 14:45:40 +02:00
lis3mdl.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lis331dl.c drivers/sensors: Legacy sensor warning 2026-03-01 16:37:20 -03:00
lm75.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lm92.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lps25h.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lsm6ds3trc_uorb.c Documentation/lsm6ds3trc: document FIFO mode and its quirks 2026-09-02 09:05:20 +08:00
lsm6dsl.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lsm6dso32_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
lsm9ds1.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lsm9ds1_base.c drivers/sensors: fix various coding style issues 2025-05-23 11:29:58 -03:00
lsm9ds1_base.h include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
lsm9ds1_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
lsm303agr.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
lsm330_spi.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ltc4151.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
ltr308_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
Make.defs drivers/sensors: add LSM6DS3TR-C uORB driver for the XIAO ESP32-S3 2026-08-29 11:11:14 -03:00
max6675.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
max31855.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
max31865.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
max44009.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mb7040.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mcp9600_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
mcp9844.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mlx90393.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mlx90614.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mpl115a.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mpu60x0.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mpu6050_uorb.c drivers/sensors/mpu6050: deliver samples from the data ready interrupt 2026-08-04 17:40:28 -03:00
mpu9250_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
ms56xx_uorb.c !nuttx: drop redundant casts on tv_sec/tv_nsec and fix printf formats 2026-05-19 16:21:28 +08:00
ms58xx.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
msa301.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
mt6816.c drivers/sensors: Add support to MT6816 2026-05-03 07:56:38 -03:00
nau7802.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
qencoder.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
qmi8658_uorb.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
scd30.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
scd41.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
sensor.c drivers/sensors/sensor: pace POLLIN at the requested interval 2026-08-05 12:50:12 +02:00
sensor_monitor.c include/debug.h: Move to include/nuttx/debug.h 2026-04-07 07:50:06 -03:00
sensor_rpmsg.c !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
sgp30.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
sht3x.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
sht4x_uorb.c !nuttx: drop redundant casts on tv_sec/tv_nsec and fix printf formats 2026-05-19 16:21:28 +08:00
sht21.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
sps30.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
t67xx.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
tmp112.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
tmp112_uorb.c sensors/tmp112: Add a uORB interface. 2026-08-18 10:35:28 -03:00
usensor.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
veml6070.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
vl53l1x.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
wtgahrs2_uorb.c drivers/sensors: add initial support for fixed-point data for sensors 2026-05-02 00:56:42 +08:00
xen1210.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00
xen1210.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
zerocross.c drivers/: Multiple Drivers Are Registered With World Writable - Part 2 2026-07-15 15:27:28 +08:00