上库irq模块和dtmf和ims的api接口

Change-Id: I6dfbdb0b8ed0dd6543474d3fc10eef91ca1a2f2f
diff --git a/mbtk/test/liblynq_lib/lynq_irq_test.c b/mbtk/test/liblynq_lib/lynq_irq_test.c
new file mode 100755
index 0000000..56ee98e
--- /dev/null
+++ b/mbtk/test/liblynq_lib/lynq_irq_test.c
@@ -0,0 +1,174 @@
+#include "lynq-irq.h"
+
+#include "mbtk_type.h"
+#include "mbtk_info_api.h"
+
+int line;
+
+static void irq_test_handler(void)
+{
+    int trig_type;
+    trig_type = lynq_irq_get_type(line);
+    printf("this is irq_test_handler\nthis irq is gpio %d,trig_type is %d\n", line_gpio[line],trig_type);
+    return NULL;
+}
+
+int main(int argc, char *argv[])
+{
+    char operator[10];
+    int opt;
+    int irq, trig_type, en;
+    int ret;
+    irq_handler handler;
+    mbtk_log_init("radio", "IRQ_TEST");
+
+    printf("=========irq main=========\n"
+    "\t0 exit\n"
+    "\t1 irq install\n"
+    "\t2 irq set_type\n"
+    "\t3 irq get_type\n"
+    "\t4 irq set_wake\n"
+    "\t5 irq get_wake\n"
+    "\t6 irq uninstall\n"
+    "operator: >> \n");
+
+    while(1)
+    {
+
+        fgets(operator, sizeof(operator), stdin);
+        fflush(stdin);
+        opt = atoi(operator);
+        switch (opt)
+        {
+        case 0:
+            printf("main exit\n");
+            return 0;
+        case 1:
+            {
+                printf("input>> irq \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                irq = atoi(operator);
+                printf("input>> trig_type \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                trig_type = atoi(operator);
+                ret = lynq_irq_install(irq, irq_test_handler, trig_type);
+                if (ret != 0)
+                {
+                    printf("lynq_irq_install fail\n");
+                }
+                else
+                {
+                    printf("lynq_irq_install success\n");
+                    line = irq;
+                }
+            }
+            break;
+        case 2:
+            {
+                printf("input>> trig_type \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                trig_type = atoi(operator);
+                ret = lynq_irq_set_type(line, trig_type);
+                if (ret != 0)
+                {
+                    printf("lynq_irq_set_type fail\n");
+                }
+                else
+                {
+                    printf("lynq_irq_set_type success\n");
+                }
+            }
+            break;
+        case 3:
+            {
+                printf("input>> irq \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                irq = atoi(operator);
+                ret = lynq_irq_get_type(irq);
+                if (ret != 0)
+                {
+                    printf("lynq_irq_get_type fail\n");
+                }
+                else
+                {
+                    printf("lynq_irq_get_type success  trig_type =%d\n",ret);
+                }
+             }
+            break;
+        case 4:
+            {
+                printf("input>> irq \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                irq = atoi(operator);
+                printf("input>> en \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                en = atoi(operator);
+                ret = lynq_irq_set_wake(irq, en);
+                if (ret != 0)
+                {
+                    printf("lynq_irq_set_wake fail\n");
+                }
+                else
+                {
+                    printf("lynq_irq_set_wake success\n");
+                }
+            }
+            break;
+        case 5:
+            {
+                printf("input>> irq \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                irq = atoi(operator);
+                ret = lynq_irq_get_wake(irq);
+                if (ret != 0)
+                {
+                    printf("lynq_irq_get_wake fail\n");
+                }
+                else
+                {
+                    printf("lynq_irq_get_wake success  en = %d\n", ret);
+                }
+            }
+            break;
+        case 6:
+            {
+                printf("input>> irq \n");
+                memset(operator,0x00, sizeof(operator));
+                fgets(operator, sizeof(operator)-1, stdin);
+                fflush(stdin);
+                irq = atoi(operator);
+                ret = lynq_irq_uninstall(irq);
+                if (ret != 0)
+                {
+                    printf("lynq_irq_uninstall fail\n");
+                }
+                else
+                {
+                    printf("lynq_irq_uninstall success\n");
+                }
+            }
+            break;
+        default:
+            break;
+        }
+
+    }
+
+    return 0;
+}
+
+