[T103_SZZT][SZZT-77][factory-test]Sleep instructions are not in effect

Change-Id: I03dc9dca0be12d759fcb54e28b52460774b04f9f
diff --git a/meta/meta-mediatek-mt2731/recipes-lynq/lynq-low-power/lynq-low-power.bb b/meta/meta-mediatek-mt2731/recipes-lynq/lynq-low-power/lynq-low-power.bb
index 53af55c..bc63f5a 100755
--- a/meta/meta-mediatek-mt2731/recipes-lynq/lynq-low-power/lynq-low-power.bb
+++ b/meta/meta-mediatek-mt2731/recipes-lynq/lynq-low-power/lynq-low-power.bb
@@ -8,6 +8,7 @@
 WORKONSRC = "${TOPDIR}/../src/lynq/packages/apps/lynq-low-power/src"
 
 TARGET_CC_ARCH += "${LDFLAGS}"
+FILES_${PN} = "/data/ ${bindir}"
 
 #Parameters passed to do_compile()
 EXTRA_OEMAKE = "'RAT_CONFIG_C2K_SUPPORT = ${RAT_CONFIG_C2K_SUPPORT}'\
@@ -26,5 +27,6 @@
 do_install() {
 	install -d ${D}${bindir}/
 	install -m 0755 ${S}/lynq-low-power ${D}${bindir}/
-	install -d ${D}${includedir}
+	install -d ${D}/data/
+	cp -R ${S}/lynq-low-power.sh ${D}/data/
 }
diff --git a/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp b/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
index 9d033cd..e9c1614 100755
--- a/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/factory/lynq_factory.cpp
@@ -189,7 +189,6 @@
 static void lynq_gps_enable(void){
     #if 1
     enable_nema = 1;
-    already_gps = 0;
     lynq_factory_response_ttyGS3("+GPS ENABLE:OK\n");
     #endif
     #if 0
@@ -217,6 +216,15 @@
     return;
 }
 
+static void lynq_gps_close(void)
+{
+    enable_nema = 0;
+    already_gps = 0;
+    system("killall lynq-gnss-test");
+    lynq_factory_response_ttyGS3("+GPS CLOSE:OK\n");
+    return;
+}
+
 void *thread_wifi(void *arg)
 {
     FILE *fp;
@@ -583,6 +591,9 @@
     else if(!strcmp(argv[3], "gps_enable")){
         lynq_gps_enable();
     }
+    else if(!strcmp(argv[3], "gps_close")){
+        lynq_gps_close();
+    }
     #if 0
     else if(!strcmp(argv[3], "gpsinfo")){
         lynq_gpsinfo(argv[4]);
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_interface.h b/src/lynq/framework/lynq-atsvc/src/lynq_interface.h
index f1d0f7c..b21b165 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_interface.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_interface.h
@@ -6,6 +6,8 @@
 #define LYNQ_URC_DATA_CALL_STATUS_IND (LYNQ_URC_VENDOR_BASE+3)
 #define LYNQ_AUTO_ANSWER_CALL (LYNQ_REQUEST_VENDOR_BASE +2)
 #define LYNQ_REQUEST_SET_DTMF_VOLUME (LYNQ_REQUEST_VENDOR_BASE +3)
+#define LYNQ_REQUEST_SET_DEFAULT_SIM_ALL (LYNQ_REQUEST_VENDOR_BASE +8)
+#define LYNQ_REQUEST_OFF_SVC (LYNQ_REQUEST_VENDOR_BASE +99)
 typedef struct{
     int request;
     int waitTime;
diff --git a/src/lynq/framework/lynq-atsvc/src/ril.cpp b/src/lynq/framework/lynq-atsvc/src/ril.cpp
index 1a68f59..9da7c1f 100755
--- a/src/lynq/framework/lynq-atsvc/src/ril.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/ril.cpp
@@ -4980,6 +4980,8 @@
         /*LYNQ CMD*/
         case LYNQ_AUTO_ANSWER_CALL: return "LYNQ_AUTO_ANSWER_CALL";
         case LYNQ_REQUEST_SET_DTMF_VOLUME: return "RIL_REQUEST_SET_DTMF_VOLUME";
+        case LYNQ_REQUEST_SET_DEFAULT_SIM_ALL:return "SET_DEFAULT_SIM_ALL";
+        case LYNQ_REQUEST_OFF_SVC:return "LYNQ_REQUEST_OFF_SVC";
         default: return "<unknown request>";
     }
 }
@@ -5786,6 +5788,10 @@
                 //sprintf(test,"test okay len = %d",client_tmp->paramLen);
                 //sendto(server_socket_fd,test,strlen(test),0,(struct sockaddr*)&client_addr,client_addr_length);
                 argv[0] = (char *)lynq_requset_to_string(client_tmp->request);
+                if(!strcmp(argv[0], "LYNQ_REQUEST_OFF_SVC"))
+                {
+                    kill(0, SIGKILL);
+                }
                 argc = 0;
                 if(client_tmp->paramLen > 0)
                 {
diff --git a/src/lynq/lib/liblynq-sim/Makefile b/src/lynq/lib/liblynq-sim/Makefile
index f34e6b0..300a547 100755
--- a/src/lynq/lib/liblynq-sim/Makefile
+++ b/src/lynq/lib/liblynq-sim/Makefile
@@ -55,7 +55,6 @@
 	-lutils \
 	-lcutils \
     -llog \
-    -llynq-log \
 
 SOURCES = $(wildcard *.c wildcard *.h src/*.cpp)
 
diff --git a/src/lynq/lib/liblynq-sim/include/lynq_sim.h b/src/lynq/lib/liblynq-sim/include/lynq_sim.h
index c35ee8f..db15c84 100755
--- a/src/lynq/lib/liblynq-sim/include/lynq_sim.h
+++ b/src/lynq/lib/liblynq-sim/include/lynq_sim.h
@@ -38,6 +38,14 @@
 int lynq_factory_radio(const int data);
 
 /**
+ * @brief kill atsvc
+ * 
+ * @param data  0/1 0 is off, 1 is on
+ * @return int 
+ */
+int lynq_factory_off_svc(void);
+
+/**
  * @brief                   Request SIM I/O operation.
  *                          This is similar to the TS 27.007 "restricted SIM" operation
  *                          where it assumes all of the EF selection will be done by the callee.
diff --git a/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp b/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
index 84e0c3f..67aa1af 100755
--- a/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
+++ b/src/lynq/lib/liblynq-sim/src/lynq_sim.cpp
@@ -35,6 +35,7 @@
 #define RIL_REQUEST_SIM_IO 28
 #define RIL_REQUEST_RADIO_POWER 23
 #define LYNQ_REQUEST_SET_DEFAULT_SIM_ALL 8008
+#define LYNQ_REQUEST_OFF_SVC 8099
 #define MAX_LEN 1024*8
 #define MAX_NUM 10
 #define LOG_TAG "LYNQ_SIM"
@@ -669,8 +670,6 @@
     if(!judge(num))
         return ret;
     int send_num = 0;
-    char res_data[MAX_LEN] = {0};
-    int len = 0;
     client_t.request = RIL_REQUEST_SCREEN_STATE;
     client_t.paramLen = 1;
     client_t.uToken = Global_uToken;
@@ -684,6 +683,20 @@
     return 0;
 }
 
+int lynq_factory_off_svc(void){
+    int send_num = 0;
+    client_t.request = LYNQ_REQUEST_OFF_SVC;
+    client_t.paramLen = 0;
+    client_t.uToken = Global_uToken;
+    send_num = sendto(sock_fd, &client_t, sizeof(client_t), 0, (struct sockaddr *)&addr_serv, len_addr_serv);
+    if(send_num < 0)
+    {
+        RLOGD("sendto error:");
+        return send_num;
+    }
+    return 0;
+}
+
 /**
  * @brief                   Check whether the input is valid  for lynq_req_sim_io api
  * @param  list             type: [IN] list[0]:one of the commands listed for TS 27.007 +CRSM.(command)
@@ -810,9 +823,9 @@
     client_t.uToken = Global_uToken;
     sprintf(client_t.param, "%d\n", data);
     send_num = sendto(sock_fd, &client_t, sizeof(client_t), 0, (struct sockaddr *)&addr_serv, len_addr_serv);
-    if(send_num < 0)  
-    {  
-        RLOGD("sendto error:");  
+    if(send_num < 0)
+    {
+        RLOGD("liulei sendto error:");
         return send_num;
     }
     return 0;
diff --git a/src/lynq/packages/apps/lynq-low-power/src/main.cpp b/src/lynq/packages/apps/lynq-low-power/src/main.cpp
index 4b057b6..004cca2 100755
--- a/src/lynq/packages/apps/lynq-low-power/src/main.cpp
+++ b/src/lynq/packages/apps/lynq-low-power/src/main.cpp
@@ -14,21 +14,10 @@
 
 int main(void){
     lynq_sim_init(2022);
-    system("echo 11 | emdlogger_ctrl");
     sleep(1);
-    system("mdlogctl stop");
-    system("echo 0 > /dev/wmtWifi");
-    system("echo 7 9 0 > /proc/driver/wmt_dbg");
-    sleep(1);
-    lynq_switch_card(1);
-    sleep(1);
-    lynq_factory_radio(0);
+    lynq_factory_off_svc();
     sleep(3);
-    lynq_switch_card(0);
-    sleep(1);
-    lynq_factory_radio(0);
-    sleep(3);
-    system("echo mem > /sys/power/autosleep");
+    system("source /data/lynq-low-power.sh");
     return 0;
 }
 #ifdef __cplusplus