diff --git a/components/drivers/sensors/sensor.c b/components/drivers/sensors/sensor.c index 18c5830fbffa1ae9e5bca6c4e23cf20a7ed1f43b..fc50c400444218876d79b90d3dc22955932c9704 100644 --- a/components/drivers/sensors/sensor.c +++ b/components/drivers/sensors/sensor.c @@ -307,7 +307,7 @@ static rt_err_t rt_sensor_control(rt_device_t dev, int cmd, void *args) case RT_SENSOR_CTRL_GET_ID: if (args) { - sensor->ops->control(sensor, RT_SENSOR_CTRL_GET_ID, args); + result = sensor->ops->control(sensor, RT_SENSOR_CTRL_GET_ID, args); } break; case RT_SENSOR_CTRL_GET_INFO: @@ -352,7 +352,10 @@ static rt_err_t rt_sensor_control(rt_device_t dev, int cmd, void *args) result = sensor->ops->control(sensor, RT_SENSOR_CTRL_SELF_TEST, args); break; default: - return -RT_ERROR; + + /* Custom commands */ + result = sensor->ops->control(sensor, cmd, args); + break; } if (sensor->module)