浏览代码

add enable/disable interrupt command

tyustli 5 年之前
父节点
当前提交
116b7880c3
共有 2 个文件被更改,包括 8 次插入2 次删除
  1. 6 2
      components/drivers/touch/touch.c
  2. 2 0
      components/drivers/touch/touch.h

+ 6 - 2
components/drivers/touch/touch.c

@@ -66,8 +66,6 @@ static rt_err_t rt_touch_irq_init(rt_touch_t touch)
 
     rt_pin_irq_enable(touch->config.irq_pin.pin, PIN_IRQ_ENABLE);
 
-    LOG_I("interrupt init success");
-
     return RT_EOK;
 }
 
@@ -197,6 +195,12 @@ static rt_err_t rt_touch_control(rt_device_t dev, int cmd, void *args)
             LOG_D("set y coordinate range :%d \n", touch->info.range_x);
         }
 
+        break;
+    case RT_TOUCH_CTRL_DISABLE_INT:
+        rt_touch_irq_disable(touch);
+        break;
+    case RT_TOUCH_CTRL_ENABLE_INT:
+        rt_touch_irq_enable(touch);
         break;
     default:
         return RT_ERROR;

+ 2 - 0
components/drivers/touch/touch.h

@@ -43,6 +43,8 @@ extern "C" {
 #define  RT_TOUCH_CTRL_SET_X_RANGE       (3)   /* Set x coordinate range */
 #define  RT_TOUCH_CTRL_SET_Y_RANGE       (4)   /* Set y coordinate range */
 #define  RT_TOUCH_CTRL_SET_X_TO_Y        (5)   /* Set X Y coordinate exchange */
+#define  RT_TOUCH_CTRL_DISABLE_INT       (6)   /* Disable interrupt */
+#define  RT_TOUCH_CTRL_ENABLE_INT        (7)   /* Enable interrupt */
 
 /* Touch event */
 #define RT_TOUCH_EVENT_NONE              (0)   /* Touch none */