diff --git a/drivers/sensors/sensor.c b/drivers/sensors/sensor.c index e83c2753e5d..4fad7d70509 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 809fb021d9f..7cf121313af 100644 --- a/include/nuttx/sensors/sensor.h +++ b/include/nuttx/sensors/sensor.h @@ -581,6 +581,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.