diff --git a/drivers/sensors/sensor.c b/drivers/sensors/sensor.c index f54bf8a2b6d..d934dbaaf2d 100644 --- a/drivers/sensors/sensor.c +++ b/drivers/sensors/sensor.c @@ -419,7 +419,7 @@ static int sensor_ioctl(FAR struct file *filep, int cmd, unsigned long arg) case SNIOC_GET_NEVENTBUF: { - *val = lower->buffer_number; + *val = lower->buffer_number + lower->batch_number; } break; diff --git a/include/nuttx/sensors/sensor.h b/include/nuttx/sensors/sensor.h index 90595baae68..b5ffc0cbd49 100644 --- a/include/nuttx/sensors/sensor.h +++ b/include/nuttx/sensors/sensor.h @@ -584,6 +584,13 @@ struct sensor_lowerhalf_s uint32_t buffer_number; + /* The number of events that hardware fifo hold maximum number of samples, + * must be aligned with size of struct sensor_event_xxx. + * If sensor don't hardware fifo, you don't need to care about fifo_size. + */ + + uint32_t batch_number; + /* The uncalibrated use to describe whether the sensor event is * uncalibrated. True is uncalibrated data, false is calibrated data, * default false.