修复sleep模块demo错误,优化sleep模块符合T106的特性,优化SMS模块符合T106使用特性
Change-Id: I1395209baad0a8cc670f73f8fa550bc0986c32d1
diff --git a/mbtk/include/lynq/lynq_qser_network.h b/mbtk/include/lynq/lynq_qser_network.h
index fa0c5c5..35d4292 100755
--- a/mbtk/include/lynq/lynq_qser_network.h
+++ b/mbtk/include/lynq/lynq_qser_network.h
@@ -393,13 +393,13 @@
nw_client_handle_type h_nw,
QSER_NW_OOS_CONFIG_INFO_T *pt_info
);
-
+/*
int qser_nw_event_register
(
nw_client_handle_type h_nw,
uint32_t bitmask // bit OR of NW_IND_xxxx_EVENT_ON
);
-
+*/
int qser_nw_get_operator_name
(
nw_client_handle_type h_nw,
diff --git a/mbtk/lynq_lib/src/lynq_sleep.c b/mbtk/lynq_lib/src/lynq_sleep.c
index fb7591f..78a7ec1 100755
--- a/mbtk/lynq_lib/src/lynq_sleep.c
+++ b/mbtk/lynq_lib/src/lynq_sleep.c
@@ -18,13 +18,16 @@
#include "mbtk_info_api.h"
/*
-该模块是系统睡眠,锁存在的时候系统无法休眠
-验证是否在睡眠状态,则需要测试功耗
-电源管理原则,只要有一个wakelock锁存在,系统就不会进入Suspend状态
-所以名字可以随便取,表示需要这样的一个锁,所以系统就不会进行睡眠
+This module is system sleep, the system cannot sleep when the lock exists
+To verify whether it is in sleep state, it is necessary to test the power consumption
+Power management principle, as long as a wakelock lock exists, the system will not enter the Suspend state
+So the name can be arbitrarily chosen to indicate that such a lock is needed so that the system does not sleep
*/
+#if defined(MBTK_PLATFORM_ASR1806)
#define MTBK_POWERIND "/system/etc/powerind" //1806
-//#define MTBK_POWERIND "/etc/powerind" //1803
+#else if defined(MBTK_PLATFORM_ASR1803)
+#define MTBK_POWERIND "/etc/powerind" //1803
+#endif
static bool call_Off = FALSE;
static bool nw_off = FALSE;
@@ -109,7 +112,7 @@
{
//UNUSED(enable);
- if(enable == 1)
+ if((enable == 1) || enable == '1')
{
if(!access("/sys/power/autosleep", W_OK))
{
@@ -123,7 +126,7 @@
return -1;
}
}
- else
+ else if((enable == 0) || enable == '0')
{
if(!access("/sys/power/autosleep", W_OK))
{
@@ -137,6 +140,11 @@
return -1;
}
}
+ else
+ {
+ LOGE("qser_autosuspend_enablecan enable err.");
+ return -1;
+ }
return 0;
}
@@ -145,15 +153,28 @@
{
//UNUSED(name);
//UNUSED(len);
+ int len_t;
if(!autosleep_enable) {
LOGE("Autosleep not enable.");
return -1;
}
- if((name != NULL) && (len < 33))
+ len_t = strlen(name);
+
+ if((name != NULL) && (len < 33) && (len_t < 33))
{
int i;
+ //name
+ for(i=1 ;i<LOCK_MAX_SIZE;i++)
+ {
+ if(strcmp(lynq_lock_name[i].name, name) == 0)
+ {
+ LOGE("Repeated names.");
+ return -1;
+ }
+ }
+
for(i=1 ;i<LOCK_MAX_SIZE;i++)
{
if(lynq_lock_name[i].fd == 0)
@@ -168,12 +189,12 @@
memcpy(lynq_lock_name[i].name, name, strlen(name)+1);
lynq_lock_name[i].fd = i;
- return lynq_lock_name[i].fd;
+ return lynq_lock_name[i].fd -1;//Starting from scratch
}
else
return -1;
- return 0;
+ return -1;
}
int qser_wakelock_lock(int fd)
@@ -185,15 +206,17 @@
return -1;
}
-
int i;
for(i=1;i<LOCK_MAX_SIZE;i++)
{
- if(lynq_lock_name[i].fd == fd)
+ if(lynq_lock_name[i].fd -1 == fd)
break;
}
if(i == LOCK_MAX_SIZE)
+ {
+ LOGE("LOCK_MAX_SIZE is full\n");
return -1;
+ }
if(!access("/sys/power/wake_lock", W_OK))
{
@@ -223,11 +246,14 @@
int i;
for(i=1;i<LOCK_MAX_SIZE;i++)
{
- if(lynq_lock_name[i].fd == fd)
+ if(lynq_lock_name[i].fd -1 == fd)
break;
}
if(i == LOCK_MAX_SIZE)
+ {
+ LOGE("LOCK_MAX_SIZE is full\n");
return -1;
+ }
if(!access("/sys/power/wake_unlock", W_OK))
{
@@ -257,15 +283,19 @@
int i;
for(i=1;i<LOCK_MAX_SIZE;i++)
{
- if(lynq_lock_name[i].fd == fd)
+ if(lynq_lock_name[i].fd -1 == fd)
break;
}
+
if(i == LOCK_MAX_SIZE)
+ {
+ LOGE("LOCK_MAX_SIZE is full\n");
return -1;
+ }
else
{
lynq_lock_name[i].fd = 0;
- memset(lynq_lock_name[i].name, 0, 128);
+ memset(lynq_lock_name[i].name, 0, 64);
return 0;
}
diff --git a/mbtk/lynq_lib/src/lynq_sms.c b/mbtk/lynq_lib/src/lynq_sms.c
index 0fbed26..955e4d9 100755
--- a/mbtk/lynq_lib/src/lynq_sms.c
+++ b/mbtk/lynq_lib/src/lynq_sms.c
@@ -164,7 +164,7 @@
return -1;
//设置存储器
-
+/*
if (pt_sms_info->storage == 0)
{
strcpy(mem, "SM");
@@ -186,7 +186,7 @@
} else {
LOGI("cpms set success. resp:%s", resp);
}
-
+*/
if(data == NULL)
{
LOGE("qser_sms_send_sms data NULL");
@@ -361,7 +361,7 @@
LOGE("qser_sms_deletefromstorage sms_info_handle NULL");
return -1;
}
-
+/*
t_storage = pt_sms_storage->storage; //设置存储器
if (t_storage == 0)
@@ -385,6 +385,7 @@
} else {
LOGI("cpms set success. resp:%s", resp);
}
+*/
id_x = pt_sms_storage->storage_idx;//获取idx的值
diff --git a/mbtk/test/asr1806/lynq_qser_sms_test.c b/mbtk/test/asr1806/lynq_qser_sms_test.c
index e6f56a1..9128cf0 100755
--- a/mbtk/test/asr1806/lynq_qser_sms_test.c
+++ b/mbtk/test/asr1806/lynq_qser_sms_test.c
@@ -282,7 +282,7 @@
"\t2 send text sms\n"
"\t3 wait receive new sms\n"
"\t4 send PDU sms\n"
- "\t5 delete sms list\n"
+ "\t5 //delete sms list\n"
"\t6 delete sms\n"
"\t7 query service number\n"
"\t8 set service number\n"
@@ -315,8 +315,6 @@
int len = strlen(tmp);
int num_len = strlen(num);
test_sms_info.format = 0;
- test_sms_info.storage = 1; //默认 ME
- //test_sms_info.sms_data_len = len;
memcpy(test_sms_info.sms_data, tmp, len);
memcpy(test_sms_info.src_addr, num, num_len);
qser_sms_send_sms(handle, &test_sms_info);
@@ -333,8 +331,6 @@
int len = strlen(tmp);
int num_len = strlen(num);
test_sms_info.format = 2;
- test_sms_info.storage = 1; //默认 ME
- //test_sms_info.sms_data_len = len;
memcpy(test_sms_info.sms_data, tmp, len);
memcpy(test_sms_info.src_addr, num, num_len);
@@ -344,13 +340,14 @@
break;
case 5:
{
+ /*
char list_del[1024] = {0};
- qser_sms_deletefromstoragelist(handle, list_del);
if (strcmp(list_del, "") == 0)
printf("list_del = NULL\n");
else
printf("list_del = [%s]\n",list_del);
+ */
}
break;
case 6:
@@ -358,27 +355,10 @@
memset(&test_sms_storage, 0x00, sizeof(QSER_sms_storage_info_t));
memset(operator,0x00, sizeof(operator));
printf("please input index \n");
- fgets(operator, sizeof(operator), stdin);
+ fgets(operator, sizeof(operator)-1, stdin);
fflush(stdin);
opt = atoi(operator);
int t_index = opt;
- memset(operator,0x00, sizeof(operator));
- printf("please input Storage area\n"
- "\t 0 : Message store to UIM(SIM) \n"
- "\t 1 : Message store to NV(ME) \n"
- "\t default : store to NV(ME) \n");
- fgets(operator, sizeof(operator), stdin);
- fflush(stdin);
- opt = atoi(operator);
-
- if (opt == 0 || opt == 1)
- {
- test_sms_storage.storage = opt;
- }
- else
- {
- test_sms_storage.storage = 1;
- }
test_sms_storage.storage_idx = t_index;
qser_sms_deletefromstorage(handle, &test_sms_storage);
break;
@@ -394,7 +374,7 @@
case 8:
{
memset(&test_sca_cfg, 0x00, sizeof(QSER_sms_service_center_cfg_t));
- char *num = "+8613800280500";//成都移动中心号码不用更改(根据情况可以写死值或者动态获取)
+ char *num = "+8613800280500";//成都移动中心号码(根据情况可以写死值或者动态获取)
int len = strlen(num);
memcpy(test_sca_cfg.service_center_addr, num, len);
diff --git a/mbtk/test/asr1806/lynq_sleep_test.c b/mbtk/test/asr1806/lynq_sleep_test.c
index cbb5844..34b7412 100755
--- a/mbtk/test/asr1806/lynq_sleep_test.c
+++ b/mbtk/test/asr1806/lynq_sleep_test.c
@@ -11,7 +11,7 @@
其中PS DATA目前暂时不支持,只是保留了这个标志位(ARS人员回复当前平台结论)
AP power state: 1~31 means suspend, bitmap: bit0 - NETWORK;bit1 - SIM;bit2 - SMS;bit3 - CS CALL;bit4 - PS DATA
0 means resume all.
-目标文件"/system/etc/powerind"
+
该值上电默认值是1,既平台默认是NW不主动上报
白名单的状态由四位数字组成,从左往右判断
@@ -70,19 +70,16 @@
return 0;
case 1:
{
- int en;
printf(">>>>>Input 0 or 1<<<<<\n");
char tmp_en[4]={0};
memset(tmp_en, 0x00, sizeof(tmp_en));
fgets(tmp_en, sizeof(tmp_en)-1, stdin);
fflush(stdin);
- en = atoi(tmp_en);
- if (en == 0 || en == 1)
- {
- qser_autosuspend_enable(en);
- }
- else
- printf(">>>>>re Input 0 or 1 error<<<<<\n");
+
+ if (tmp_en[0] == '0' || tmp_en[0] == '1')
+ qser_autosuspend_enable(tmp_en[0]);
+ else
+ printf(">>>>>re Input 0 or 1 error<<<<<\n");
}
break;
case 2: