mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-01-18 19:03:31 +08:00
[sensor] add irq_handle for driver. | 为底层驱动添加中断回调。
This commit is contained in:
parent
366b9171a1
commit
507a90f055
@ -43,6 +43,11 @@ void rt_sensor_cb(rt_sensor_t sen)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (sen->irq_handle != RT_NULL)
|
||||
{
|
||||
sen->irq_handle(sen);
|
||||
}
|
||||
|
||||
/* The buffer is not empty. Read the data in the buffer first */
|
||||
if (sen->data_len > 0)
|
||||
|
@ -68,6 +68,7 @@ extern "C" {
|
||||
#define RT_SENSOR_UNIT_HZ (9) /* Frequency unit: HZ */
|
||||
#define RT_SENSOR_UNIT_ONE (10) /* Dimensionless quantity unit: 1 */
|
||||
#define RT_SENSOR_UNIT_BPM (11) /* Heart rate unit: bpm */
|
||||
#define RT_SENSOR_UNIT_MM (12) /* Distance unit: mm */
|
||||
|
||||
/* Sensor communication interface types */
|
||||
|
||||
@ -131,6 +132,8 @@ struct rt_sensor_config
|
||||
rt_int32_t range; /* sensor range of measurement */
|
||||
};
|
||||
|
||||
typedef struct rt_sensor_device *rt_sensor_t;
|
||||
|
||||
struct rt_sensor_device
|
||||
{
|
||||
struct rt_device parent; /* The standard device */
|
||||
@ -144,8 +147,9 @@ struct rt_sensor_device
|
||||
const struct rt_sensor_ops *ops; /* The sensor ops */
|
||||
|
||||
struct rt_sensor_module *module; /* The sensor module */
|
||||
|
||||
rt_err_t (*irq_handle)(rt_sensor_t sensor); /* Called when an interrupt is generated, registered by the driver */
|
||||
};
|
||||
typedef struct rt_sensor_device *rt_sensor_t;
|
||||
|
||||
struct rt_sensor_module
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user