This is an automated email from the ASF dual-hosted git repository.

linguini pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 7d9d59f069abfbdc8296a587370036ce442e46c0
Author: Matteo Golin <matteo.go...@gmail.com>
AuthorDate: Wed Aug 6 23:14:58 2025 -0400

    drivers/sensors/lsm6dso32: Increase buffer size
    
    The ODR of this device is too high to only have a buffer size of 1.
    
    Signed-off-by: Matteo Golin <matteo.go...@gmail.com>
---
 drivers/sensors/Kconfig          | 17 +++++++++++++++++
 drivers/sensors/lsm6dso32_uorb.c |  2 ++
 2 files changed, 19 insertions(+)

diff --git a/drivers/sensors/Kconfig b/drivers/sensors/Kconfig
index 0514ab9cac8..f61fd548103 100644
--- a/drivers/sensors/Kconfig
+++ b/drivers/sensors/Kconfig
@@ -971,9 +971,26 @@ config SENSORS_LSM6DSO32_I2C_FREQUENCY
 config SENSORS_LSM6DSO32_THREAD_STACKSIZE
        int "LSM6DSO32 worker thread stack size"
        default 1024
+       depends on SENSORS_LSM6DSO32
        ---help---
                The stack size for the worker threads that perform measurements.
 
+config SENSORS_LSM6DSO32_ACCEL_ORB_BUFSIZE
+       int "LSM6DSO32 accelerometer uORB buffer size"
+       default 10
+       range 0 500
+       depends on SENSORS_LSM6DSO32
+       ---help---
+               The circular buffer size for the accelerometer uORB measurements
+
+config SENSORS_LSM6DSO32_GYRO_ORB_BUFSIZE
+       int "LSM6DSO32 gyro uORB buffer size"
+       default 10
+       range 0 500
+       depends on SENSORS_LSM6DSO32
+       ---help---
+               The circular buffer size for the gyroscope uORB measurements
+
 config SENSORS_LSM9DS1
        bool "STMicro LSM9DS1 support"
        default n
diff --git a/drivers/sensors/lsm6dso32_uorb.c b/drivers/sensors/lsm6dso32_uorb.c
index bfaac4d45fe..b15ca60e716 100644
--- a/drivers/sensors/lsm6dso32_uorb.c
+++ b/drivers/sensors/lsm6dso32_uorb.c
@@ -1905,6 +1905,7 @@ int lsm6dso32_register(FAR struct i2c_master_s *i2c, 
uint8_t addr,
 
   priv->gyro.lower.type = SENSOR_TYPE_GYROSCOPE;
   priv->gyro.lower.ops = &g_sensor_ops;
+  priv->gyro.lower.nbuffer = CONFIG_SENSORS_LSM6DSO32_GYRO_ORB_BUFSIZE;
   priv->gyro.enabled = false;
   priv->gyro.odr = ODR_OFF;                 /* Default off */
   priv->gyro.fsr = LSM6DSO32_FSR_GY_125DPS; /* Default 125dps */
@@ -1923,6 +1924,7 @@ int lsm6dso32_register(FAR struct i2c_master_s *i2c, 
uint8_t addr,
 
   priv->accel.lower.type = SENSOR_TYPE_ACCELEROMETER;
   priv->accel.lower.ops = &g_sensor_ops;
+  priv->accel.lower.nbuffer = CONFIG_SENSORS_LSM6DSO32_ACCEL_ORB_BUFSIZE;
   priv->accel.enabled = false;
   priv->accel.odr = ODR_OFF;             /* Default off */
   priv->accel.fsr = LSM6DSO32_FSR_XL_4G; /* Default 4g */

Reply via email to