summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2022-11-08 22:50:27 -0500
committerguo <[email protected]>2022-11-09 17:23:27 +0800
commitf57eb4feb5ee4856299058058eff15593ac0570d (patch)
treee91b8811e0bb462577a3ec6dc48e3caaad0f0572 /components
parentf550fc58a968b1b98c3085fe920d3857b07a6760 (diff)
[sensor] 修改fetch_data方法的参数数据类型为rt_sensor_data_t
Diffstat (limited to 'components')
-rw-r--r--components/drivers/include/drivers/sensor.h5
-rw-r--r--components/drivers/sensors/sensor.c8
2 files changed, 7 insertions, 6 deletions
diff --git a/components/drivers/include/drivers/sensor.h b/components/drivers/include/drivers/sensor.h
index 49208c53c8..11b4e00c24 100644
--- a/components/drivers/include/drivers/sensor.h
+++ b/components/drivers/include/drivers/sensor.h
@@ -160,6 +160,7 @@ struct rt_sensor_config
};
typedef struct rt_sensor_device *rt_sensor_t;
+typedef struct rt_sensor_data *rt_sensor_data_t;
struct rt_sensor_device
{
@@ -168,7 +169,7 @@ struct rt_sensor_device
struct rt_sensor_info info; /* The sensor info data */
struct rt_sensor_config config; /* The sensor config data */
- void *data_buf; /* The buf of the data received */
+ rt_sensor_data_t data_buf; /* The buf of the data received */
rt_size_t data_len; /* The size of the data received */
const struct rt_sensor_ops *ops; /* The sensor ops */
@@ -238,7 +239,7 @@ struct rt_sensor_data
struct rt_sensor_ops
{
- rt_ssize_t (*fetch_data)(rt_sensor_t sensor, void *buf, rt_size_t len);
+ rt_ssize_t (*fetch_data)(rt_sensor_t sensor, rt_sensor_data_t buf, rt_size_t len);
rt_err_t (*control)(rt_sensor_t sensor, int cmd, void *arg);
};
diff --git a/components/drivers/sensors/sensor.c b/components/drivers/sensors/sensor.c
index 0ce39bf5bd..763de38cf2 100644
--- a/components/drivers/sensors/sensor.c
+++ b/components/drivers/sensors/sensor.c
@@ -123,7 +123,7 @@ static rt_err_t _sensor_irq_init(rt_sensor_t sensor)
}
/* sensor local ops */
-static rt_ssize_t _local_fetch_data(rt_sensor_t sensor, void *buf, rt_size_t len)
+static rt_ssize_t _local_fetch_data(rt_sensor_t sensor, rt_sensor_data_t buf, rt_size_t len)
{
LOG_D("Undefined fetch_data");
return -RT_EINVAL;
@@ -250,7 +250,7 @@ static rt_err_t _sensor_close(rt_device_t dev)
/* Free memory for the sensor buffer */
for (i = 0; i < sensor->module->sen_num; i ++)
{
- if (sensor->module->sen[i]->data_buf != RT_NULL)
+ if (sensor->module->sen[i]->data_buf)
{
rt_free(sensor->module->sen[i]->data_buf);
sensor->module->sen[i]->data_buf = RT_NULL;
@@ -307,8 +307,8 @@ static rt_size_t _sensor_read(rt_device_t dev, rt_off_t pos, void *buf, rt_size_
}
else
{
- /* If the buffer is empty read the data */
- if (sensor->ops->fetch_data != RT_NULL)
+ /* If the buffer is empty, read the data */
+ if (sensor->ops->fetch_data)
{
result = sensor->ops->fetch_data(sensor, buf, len);
}