diff --git a/components/drivers/sensors/sensor.c b/components/drivers/sensors/sensor.c index 18c5830fbf..fc50c40044 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)