[Feature] add GA346 baseline version
Change-Id: Ic62933698569507dcf98240cdf5d9931ae34348f
diff --git a/packages/apps/lynq-function-test/src/gpio_test.cpp b/packages/apps/lynq-function-test/src/gpio_test.cpp
new file mode 100644
index 0000000..ca00017
--- /dev/null
+++ b/packages/apps/lynq-function-test/src/gpio_test.cpp
@@ -0,0 +1,91 @@
+/*=============================================================================
+** FileName: gpio_test.cpp
+** Desc: about function test
+** Author: zhou
+** Version: V1.0
+** LastChange: 2021-03-04
+** History:
+=============================================================================*/
+#include "function_common.h"
+#include <log/log.h>
+#include "gpio_test.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "liblynq-driver/libdriver.h"
+#ifdef __cplusplus
+}
+#endif
+int check_mode(const char *mode)
+{
+if(!strcmp(mode, GPIO_DIR))
+{
+ return 1;
+}
+if(!strcmp(mode, GPIO_OUT))
+{
+ return 1;
+}
+if(!strcmp(mode, GPIO_MODE))
+{
+ return 1;
+}
+ return -1;
+}
+int check_status(int statu)
+{
+ if (statu == 0)
+ return 1;
+ if (statu ==1)
+ return 1;
+ return -1;
+}
+int gpio_test(char *api,char *string) {
+ char *argv[100] = {0};
+ parseParameters(string,argv);
+ if(!strcmp(api, "get")){
+ char output1[1024] = {0};
+ int value = atoi(argv[0]);
+ lynq_get_gpio (value,output1);
+ // printf("Factory_result get %d gpio:%s \n",value,output1)
+ LYVERBLOG("+[gpio][get]: data = %s\n",output1);
+
+ }
+ else if(!strcmp(api, "set")){
+ int gpio_numb = atoi(argv[1]);
+ int gpio_statu = atoi(argv[2]);
+ int check_prame;
+ check_prame = check_mode(argv[0]);
+ if(check_prame == -1)
+ {
+ LYVERBLOG("+[gpio][set]: error num = %d \n",GPIO_PRAME_ERROR);
+ return 0;
+ }
+ check_prame = check_status(gpio_statu);
+ if(check_prame == -1)
+ {
+ LYVERBLOG("+[gpio][set]: error num = %d \n",GPIO_PRAME_ERROR);
+ return 0;
+ }
+ int result = lynq_set_gpio(argv[0], gpio_numb,gpio_statu);
+ if(result == -1)
+ {
+ LYVERBLOG("+[gpio][set]: error num = %d \n",GPIO_SET_ERROR);
+ return 0;
+ }
+ else
+ {
+ LYVERBLOG("+[gpio][set]: ok!!\n",result);
+ return 1;
+ }
+ // printf("Factory_result gpio %d set state :%d\n",gpio_numb,result);
+ }
+ else {
+ LYVERBLOG("+[gpio][lynq_set_gpio]: error num =%d\n",GPIO_PRAME_ERROR);
+ }
+
+ return 0;
+}
\ No newline at end of file