上库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;
+}
+
+