diff --git a/components/drivers/sensors/sensor_cmd.c b/components/drivers/sensors/sensor_cmd.c index 07487c8866..4658a42722 100644 --- a/components/drivers/sensors/sensor_cmd.c +++ b/components/drivers/sensors/sensor_cmd.c @@ -44,6 +44,9 @@ static void sensor_show_data(rt_size_t num, rt_sensor_t sensor, struct rt_sensor case RT_SENSOR_CLASS_STEP: LOG_I("num:%3d, step:%5d, timestamp:%5d", num, sensor_data->data.step, sensor_data->timestamp); break; + case RT_SENSOR_CLASS_PROXIMITY: + LOG_I("num:%3d, distance:%5d, timestamp:%5d", num, sensor_data->data.proximity, sensor_data->timestamp); + break; default: break; } @@ -96,6 +99,12 @@ static void sensor_fifo(int argc, char **argv) return; } sensor = (rt_sensor_t)dev; + + if (rt_device_open(dev, RT_DEVICE_FLAG_FIFO_RX) != RT_EOK) + { + LOG_E("open device failed!"); + return; + } if (sensor_rx_sem == RT_NULL) { @@ -117,11 +126,6 @@ static void sensor_fifo(int argc, char **argv) rt_device_set_rx_indicate(dev, rx_callback); - if (rt_device_open(dev, RT_DEVICE_FLAG_FIFO_RX) != RT_EOK) - { - LOG_E("open device failed!"); - return; - } rt_device_control(dev, RT_SENSOR_CTRL_SET_ODR, (void *)20); } #ifdef FINSH_USING_MSH