Skip to content

Commit 388c0e2

Browse files
authored
Merge pull request #3741 from luhuadong/develop
[sensor] fixed sensor cmd delay time
2 parents 625caba + cc15a1b commit 388c0e2

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

components/drivers/sensors/sensor_cmd.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ static void sensor_polling(int argc, char **argv)
226226
rt_sensor_t sensor;
227227
struct rt_sensor_data data;
228228
rt_size_t res, i;
229+
rt_int32_t delay;
229230

230231
dev = rt_device_find(argv[1]);
231232
if (dev == RT_NULL)
@@ -237,6 +238,7 @@ static void sensor_polling(int argc, char **argv)
237238
num = atoi(argv[2]);
238239

239240
sensor = (rt_sensor_t)dev;
241+
delay = sensor->info.period_min > 100 ? sensor->info.period_min : 100;
240242

241243
if (rt_device_open(dev, RT_DEVICE_FLAG_RDWR) != RT_EOK)
242244
{
@@ -256,7 +258,7 @@ static void sensor_polling(int argc, char **argv)
256258
{
257259
sensor_show_data(i, sensor, &data);
258260
}
259-
rt_thread_mdelay(100);
261+
rt_thread_mdelay(delay);
260262
}
261263
rt_device_close(dev);
262264
}
@@ -268,7 +270,9 @@ static void sensor(int argc, char **argv)
268270
{
269271
static rt_device_t dev = RT_NULL;
270272
struct rt_sensor_data data;
273+
rt_sensor_t sensor;
271274
rt_size_t res, i;
275+
rt_int32_t delay;
272276

273277
/* If the number of arguments less than 2 */
274278
if (argc < 2)
@@ -410,6 +414,9 @@ static void sensor(int argc, char **argv)
410414
num = atoi(argv[2]);
411415
}
412416

417+
sensor = (rt_sensor_t)dev;
418+
delay = sensor->info.period_min > 100 ? sensor->info.period_min : 100;
419+
413420
for (i = 0; i < num; i++)
414421
{
415422
res = rt_device_read(dev, 0, &data, 1);
@@ -419,9 +426,9 @@ static void sensor(int argc, char **argv)
419426
}
420427
else
421428
{
422-
sensor_show_data(i, (rt_sensor_t)dev, &data);
429+
sensor_show_data(i, sensor, &data);
423430
}
424-
rt_thread_mdelay(100);
431+
rt_thread_mdelay(delay);
425432
}
426433
}
427434
else if (argc == 3)

0 commit comments

Comments
 (0)