Merge "[bugfix][T103-111]fix systime bug2" into SZZT
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
index b3d98be..6494873 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
@@ -720,24 +720,8 @@
* @brief auto_suspend
* @param argv [Type]:in My Param doc
*/
-static void auto_suspend(char *argv)
+static void auto_suspend(int argv)
{
- if(NULL == argv)
- {
- return;
- }
- #if 0
- char buf[128] = {0};
- char cmd[64] = {0};
- sprintf(buf, "%s%s%s", "uci set lynq_uci.lynq_autosuspend.auto_enable=\'", argv, "\'");
- system(buf);
- system("commit");
- system("systemctl stop autosuspend.service");
- system("systemctl start autosuspend.service");
- usleep(1000*100);
- sprintf(cmd, "%s %s", "autosuspend-client-demo", argv);
- system(cmd);
- #endif
pthread_t thid;
pthread_attr_t a;
pthread_attr_init(&a);
@@ -762,14 +746,14 @@
lynq_switch_card("1");
}
/*If have two cards*/
- if(!strcmp(argv,"1"))
+ if(argv==1)
{
//autosleep
RLOGD("auto_suspend autosleep");
system("echo mem > /sys/power/autosleep");
}
- else if (!strcmp(argv,"0"))
+ else if (argv==0)
{
//state
RLOGD("state autosleep");
@@ -779,45 +763,6 @@
}
/**
- * @brief check_pin_level
- * @param buf Type:[in]
- * @param flag Type:[in]
- * @return int
- */
-static int check_pin_level(char *buf, int flag)
-{
- if(NULL == buf)
- {
- return -1;
- }
- if(flag > strlen(buf))
- {
- return -1;
- }
- char *p = buf;
- int tmp = 0;
- while(*p != '\0')
- {
- if(tmp != flag)
- {
- tmp++;
- *p ++;
- }
- else
- {
- if(*p == '1')
- {
- return 0;
- }
- else
- {
- return 1;
- }
- }
- }
-}
-
-/**
* @brief check_dtr_level 0 is low, 1 is high
* @return int
*/
@@ -832,9 +777,14 @@
{
return -1;
}
+
fgets(buf, sizeof(buf), fp);
- //lynq_output_info("test: %c\n", buf[8]);
- if(!check_pin_level(buf, 8))//mean high level
+ buf[31] = '\0';
+ if (strlen(buf) <= 8 ) {
+ return -1;
+ }
+ int i = 0;
+ if (buf[8] == '1')
{
pclose(fp);
return 1;
@@ -903,6 +853,12 @@
RLOGD("display_set_mode\n");
if(!strcmp(argv[0], "CSCLK"))
{
+
+ if(argv[3] == NULL)
+ {
+ RLOGD("argv[3] == NULL __FUNCTION__ %s __LINE__ %d\n", __FUNCTION__, __LINE__);
+ return;
+ }
g_lynq_csclk = atoi(argv[3]);
if(g_lynq_csclk == 1)
{
@@ -914,17 +870,15 @@
/*if dtr is 1, at+mpwrsm will't check dtr pin level*/
RLOGD("dtr is 0, at+mpwrsm will't check dtr pin level\n");
}
- #if 0
- else if(g_lynq_csclk == 2)
- {
- /*g_lynq_wakeup_in*/
- g_lynq_wakeup_in = 1;
- }
- #endif
}
else if(!strcmp(argv[0], "MPWRSM"))
{
RLOGD("at+MPWRSM begin\n");
+ if(argv[3] == NULL)
+ {
+ RLOGD("argv[3] == NULL __FUNCTION__ %s __LINE__ %d\n", __FUNCTION__, __LINE__);
+ return;
+ }
g_lynq_mpwrsm = atoi(argv[3]);
/*AT+MPWRSM state*/
if(!strcmp(argv[3], "0"))
@@ -933,7 +887,7 @@
{
/*quit sleep mode*/
syncRespToUsb(0);
- auto_suspend(argv[3]);
+ auto_suspend(g_lynq_mpwrsm);
}
else if(g_lynq_csclk == 1)
{
@@ -941,7 +895,7 @@
if(cat_pin_level("061"))//cat dtr pin level
{
syncRespToUsb(0);
- auto_suspend(argv[3]);
+ auto_suspend(g_lynq_mpwrsm);
return;
}
else
@@ -959,7 +913,7 @@
if(g_lynq_csclk == 0)
{
RLOGD("g_lynq_csclk = 0, entry sleep mode, dont't check dtr pin level\n");
- auto_suspend(argv[3]);
+ auto_suspend(g_lynq_mpwrsm);
syncRespToUsb(0);
return;
}
@@ -970,7 +924,7 @@
/*check dtr level*/
if(cat_pin_level("061"))//cat dtr pin level
{
- auto_suspend(argv[3]);
+ auto_suspend(g_lynq_mpwrsm);
syncRespToUsb(0);
return;
}
@@ -990,9 +944,15 @@
}
else if(!strcmp(argv[0], "MWAKEUPCFG"))
{
+ if(argv[3] == NULL)
+ {
+ RLOGD("argv[3] == NULL __FUNCTION__ %s __LINE__ %d\n", __FUNCTION__, __LINE__);
+ return;
+ }
g_lynq_mwakeupcfg = atoi(argv[3]);
}
syncRespToUsb(0);
+ return;
}
/**