[feature][SZZT-56][AT]AT+RST:reboot
Change-Id: I160d8c856541ce25ccfb4454151be3d39e0cd969
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h b/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
index d685cbb..abf0aed 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_at_transfer_table.h
@@ -14,6 +14,9 @@
{LYNQ_REQUEST_SCREEN_STATE,"SCREEN",7},
{LYNQ_REQUEST_SEND_LOG_DATA,"LOGS",7},
{LYNQ_PLAT_LGMDS,"LGMDS",7},
+/*lei add for clt*/
+{LYNQ_REQUEST_RST,"RST",7},
+/*lei add for clt*/
{LYNQ_REQUEST_RNDIS,"LRNDISHANDLE",7},
{LYNQ_REQUEST_FACTORY,"LYNQFACTORY",7},
{LYNQ_REQUEST_LINFO,"LINFO",7},
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_commands.h b/src/lynq/framework/lynq-atsvc/src/lynq_commands.h
index adfda0f..d232c31 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_commands.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_commands.h
@@ -15,4 +15,5 @@
{LYNQ_REQUEST_SWITCH_SIM,"SET_DEFAULT_SIM_ALL","LCSUS",switchSim,NULL},
{LYNQ_REQUEST_SCREEN_STATE,"RIL_REQUEST_SCREEN_STATE","SCREEN",lynq_screen,NULL},
{LYNQ_PLAT_LGMDS,"LYNQ_PLAT_LGMDS","LGMDS",NULL,getMDstate},
+{LYNQ_REQUEST_RST,"LYNQ_REQUEST_RST","RST",NULL,rst},
{-1,NULL,NULL,NULL,NULL},
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
index 191b953..b2b0b15 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
@@ -6,7 +6,8 @@
** LastChange: 2021-09-27
** History:
**=============================================================================*/
-
+#include <sys/types.h>
+#include <signal.h>
#include <stdio.h>
#include <string.h>
#include <log/log.h>
@@ -106,6 +107,7 @@
}
case LYNQ_USER_REQUEST_GNSS:
case LYNQ_USER_REQUEST_OTHRE:
+ case LYNQ_REQUEST_RST:
case LYNQ_PLAT_LGMDS:
{
return LYNQ_GOTO_USER_REQ;
@@ -584,6 +586,14 @@
return 0;
}
+void* rst(int argc,char*argv[],int uToken)
+{
+ system("reboot");
+ syncRespToUsb(0);
+ kill(0, SIGKILL);
+ return 0;
+}
+
int lynqATWaitWithTime(int time)
{
int ret = 0;
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.h b/src/lynq/framework/lynq-atsvc/src/lynq_common.h
index 6d39ea1..b20456d 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.h
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.h
@@ -67,6 +67,7 @@
#define LYNQ_REQUEST_MPWRSM (LYNQ_VERSION +21)
#define LYNQ_REQUEST_MWAKEUPCFG (LYNQ_VERSION +22)
#define LYNQ_REQUEST_CFSN (LYNQ_VERSION +23)
+#define LYNQ_REQUEST_RST (LYNQ_VERSION +25)
/*lei add*/
#define LYNQ_USER_REQUEST_GNSS (LYNQ_VERSION +100)
#define LYNQ_USER_REQUEST_OTHRE (LYNQ_VERSION +101)
@@ -137,4 +138,14 @@
/*lei add for PMS*/
void lynq_pms(char *argv[]);
/*lei add for PMS*/
+
+/**
+ * @brief reboot
+ *
+ * @param argc
+ * @param argv
+ * @param uToken
+ * @return void*
+ */
+void* rst(int argc,char*argv[],int uToken);
#endif