[sensor] 修改fetch_data方法的参数数据类型为rt_sensor_data_t

This commit is contained in:
Meco Man 2022-11-08 22:50:27 -05:00 committed by guo
parent f550fc58a9
commit f57eb4feb5
2 changed files with 7 additions and 6 deletions

View File

@ -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);
};

View File

@ -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);
}