summaryrefslogtreecommitdiff
path: root/components/drivers/sensor
diff options
context:
space:
mode:
authorkurisaw <[email protected]>2024-07-24 09:30:38 +0800
committerMeco Man <[email protected]>2024-07-24 23:17:38 +0800
commit57bca1a07274cef3c9a72aedeabb7cf7ffa27550 (patch)
treec9a44aee804e3adb0e930941716b2c03f1456bff /components/drivers/sensor
parent8dc166b16c8ee9c0d219ad1bd6d633a8f8f8c95d (diff)
[sensor_v2] Repair an error occurs when sensor v2 probes a sensor device for the first time
Diffstat (limited to 'components/drivers/sensor')
-rw-r--r--components/drivers/sensor/v2/sensor_cmd.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/components/drivers/sensor/v2/sensor_cmd.c b/components/drivers/sensor/v2/sensor_cmd.c
index e278f349de..1b65c0058d 100644
--- a/components/drivers/sensor/v2/sensor_cmd.c
+++ b/components/drivers/sensor/v2/sensor_cmd.c
@@ -550,7 +550,7 @@ static void sensor_cmd_warning_probe(void)
LOG_W("Please probe sensor device first!");
}
-static void sensor(int argc, char **argv)
+static int sensor(int argc, char **argv)
{
static rt_device_t dev = RT_NULL;
struct rt_sensor_data data;
@@ -562,14 +562,14 @@ static void sensor(int argc, char **argv)
if (argc < 2)
{
sensor_cmd_warning_unknown();
- return;
+ return -RT_ERROR;
}
else if (!rt_strcmp(argv[1], "info"))
{
if (dev == RT_NULL)
{
sensor_cmd_warning_probe();
- return ;
+ return -RT_ERROR;
}
sensor = (rt_sensor_t)dev;
rt_kprintf("name :%s\n", sensor->info.name);
@@ -595,7 +595,7 @@ static void sensor(int argc, char **argv)
if (dev == RT_NULL)
{
sensor_cmd_warning_probe();
- return;
+ return -RT_ERROR;
}
if (argc == 3)
{
@@ -628,7 +628,7 @@ static void sensor(int argc, char **argv)
information = rt_object_get_information(RT_Object_Class_Device);
if(information == RT_NULL)
- return;
+ return -RT_ERROR;
rt_kprintf("device name sensor name sensor type mode resolution range\n");
rt_kprintf("----------- ------------- ------------------ ---- ---------- ----------\n");
@@ -655,7 +655,7 @@ static void sensor(int argc, char **argv)
if (dev == RT_NULL)
{
sensor_cmd_warning_probe();
- return;
+ return -RT_ERROR;
}
if (rt_device_control(dev, RT_SENSOR_CTRL_SOFT_RESET, RT_NULL) != RT_EOK)
@@ -671,19 +671,19 @@ static void sensor(int argc, char **argv)
if (argc < 3)
{
sensor_cmd_warning_unknown();
- return;
+ return -RT_ERROR;
}
new_dev = rt_device_find(argv[2]);
if (new_dev == RT_NULL)
{
LOG_E("Can't find device:%s", argv[2]);
- return;
+ return -RT_ERROR;
}
if (rt_device_open(new_dev, RT_DEVICE_FLAG_RDWR) != RT_EOK)
{
LOG_E("open device failed!");
- return;
+ return -RT_ERROR;
}
if (rt_device_control(new_dev, RT_SENSOR_CTRL_GET_ID, &reg) == RT_EOK)
{
@@ -702,7 +702,7 @@ static void sensor(int argc, char **argv)
if (dev == RT_NULL)
{
sensor_cmd_warning_probe();
- return;
+ return -RT_ERROR;
}
sensor = (rt_sensor_t)dev;
@@ -734,7 +734,7 @@ static void sensor(int argc, char **argv)
if (dev == RT_NULL)
{
sensor_cmd_warning_probe();
- return;
+ return -RT_ERROR;
}
sensor = (rt_sensor_t)dev;
@@ -766,7 +766,7 @@ static void sensor(int argc, char **argv)
if (dev == RT_NULL)
{
sensor_cmd_warning_probe();
- return;
+ return -RT_ERROR;
}
sensor = (rt_sensor_t)dev;
@@ -795,5 +795,7 @@ static void sensor(int argc, char **argv)
{
sensor_cmd_warning_unknown();
}
+
+ return RT_EOK;
}
MSH_CMD_EXPORT(sensor, sensor test function);