xiaoxiang781216 commented on a change in pull request #2369:
URL: https://github.com/apache/incubator-nuttx/pull/2369#discussion_r528356173



##########
File path: drivers/sensors/sensor.c
##########
@@ -651,22 +682,22 @@ int sensor_register(FAR struct sensor_lowerhalf_s *lower, 
int devno)
     {
       if (!lower->buffer_size)
         {
-          lower->buffer_size = g_sensor_info[lower->type].esize;
+          lower->buffer_size = esize;
+        }
+      else
+        {
+          lower->buffer_size = ROUNDUP(lower->buffer_size, esize);
         }
 
       lower->push_event = sensor_push_event;
     }
   else
     {
       lower->notify_event = sensor_notify_event;
+      lower->buffer_size = 0;

Review comment:
       The buffer size(buffer_size) is different from the element size(esize) 
since the sensor lower half normally generate the structural data stream. For 
examples, the custom sensor could define:
   struct custem_event_s
   {
    uint64_t timestamp;
     int16_t adc[8];
   };
   and call sensor_custom_register(lower, 1024, sizeof(struct custem_event_s), 
"/dev/sensor/custom0");
   of course, the custom driver could pass 1 as esize if the generate the pure 
byte stream or variable size structural data.
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to