[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_device *rt_sensor_t;
typedef struct rt_sensor_data *rt_sensor_data_t;
struct rt_sensor_device struct rt_sensor_device
{ {
@ -168,7 +169,7 @@ struct rt_sensor_device
struct rt_sensor_info info; /* The sensor info data */ struct rt_sensor_info info; /* The sensor info data */
struct rt_sensor_config config; /* The sensor config 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 */ rt_size_t data_len; /* The size of the data received */
const struct rt_sensor_ops *ops; /* The sensor ops */ const struct rt_sensor_ops *ops; /* The sensor ops */
@ -238,7 +239,7 @@ struct rt_sensor_data
struct rt_sensor_ops 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); 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 */ /* 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"); LOG_D("Undefined fetch_data");
return -RT_EINVAL; return -RT_EINVAL;
@ -250,7 +250,7 @@ static rt_err_t _sensor_close(rt_device_t dev)
/* Free memory for the sensor buffer */ /* Free memory for the sensor buffer */
for (i = 0; i < sensor->module->sen_num; i ++) 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); rt_free(sensor->module->sen[i]->data_buf);
sensor->module->sen[i]->data_buf = RT_NULL; 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 else
{ {
/* If the buffer is empty read the data */ /* If the buffer is empty, read the data */
if (sensor->ops->fetch_data != RT_NULL) if (sensor->ops->fetch_data)
{ {
result = sensor->ops->fetch_data(sensor, buf, len); result = sensor->ops->fetch_data(sensor, buf, len);
} }