[Bugfix][T106BUG-421]Optimize poweralarm demo code
Only Configure: No
Affected branch: master
Affected module: Rtc
Is it affected on both ZXIC and MTK:only zxic
Self-test: Yes
Doc Update:Yes
Change-Id: Ibf5cb1db8833cb2120ddbe56a1bf84aafca421bc
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp
index 75da1e1..2e0f71f 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/poweralarm-demo/files/poweralarm-demo.cpp
@@ -6,12 +6,16 @@
#include <dlfcn.h>
#include <stdint.h>
+
+#define INIT_SUCCESS 0
+
typedef struct
{
int cmdIdx;
char *funcName;
} st_api_test_case;
-
+
+
//for server test
st_api_test_case at_api_testcases[] =
{
@@ -26,7 +30,10 @@
{-1, NULL}
};
-int src_id = -1;
+ int init_flag = -1;
+ int src_id = -1;
+ void *dlHandle_poweralarm = NULL;
+
typedef int (*lynq_wakealarm_add_cb)(unsigned int src_id, int rtc_id);
int (*lynq_rtc_service_init)(void);
@@ -37,7 +44,6 @@
int (*lynq_set_poweralarm)(unsigned long time_sec,int src_id);
int (*lynq_set_wakealarm)(unsigned long time_sec,int srcid,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify);
-void *dlHandle_poweralarm = NULL;
void print_help(void)
@@ -125,6 +131,7 @@
print_help();
while(1)
{
+
printf("\nplease input cmd index(-1 exit): ");
scanf("%d", &cmdIdx);
if(cmdIdx == -1)
@@ -139,92 +146,145 @@
case 1:
{
src_id = lynq_rtc_service_init();
+ if(src_id <= 0)
+ {
+
+ printf("RTC service init failed ");
+ return -1;
+ }
+ else
+ {
+ init_flag = INIT_SUCCESS;
+ }
+
break;
}
case 2:
{
- int ret = 0;
- char tmp_time[32] = {0};
- printf("Set poweralarm time,e.g: 60 (seconds)\n");
- scanf("%s",tmp_time);
- ret = poweralarm(tmp_time,src_id);
- if(ret != 0)
+
+ if(init_flag != INIT_SUCCESS)
{
- printf("set poweralarm failed\n");
- return -1;
+ printf("*****ERROR must init rtc service ,Please reselect *******\n ");
+ }
+ else
+ {
+ int ret = 0;
+ char tmp_time[32] = {0};
+ printf("Set poweralarm time,e.g: 60 (seconds)\n");
+ scanf("%s",tmp_time);
+ ret = poweralarm(tmp_time,src_id);
+ if(ret != 0)
+ {
+ printf("set poweralarm failed\n");
+ return -1;
+ }
}
break;
}
case 3:
{
- int ret = 0;
- char tmp_time[32]={0};
- int rtc_id = 0;
- printf("Set wakealarm time ,e.g: 60 1 (seconds)\n");
- scanf("%s%d",tmp_time,&rtc_id);
-
- ret = wakealarm(tmp_time,src_id,rtc_id,lynq_wakealarm_add_callback);
- if(ret != 0)
+ if(init_flag != INIT_SUCCESS)
{
- printf("set wakealarm failed\n");
- return -1;
+ printf("*****ERROR must init rtc service ,Please reselect *******\n ");
+ }
+ else
+ {
+ int ret = 0;
+ char tmp_time[32]={0};
+ int rtc_id = 0;
+ printf("Set wakealarm time ,e.g: 60 1 (seconds)\n");
+ scanf("%s%d",tmp_time,&rtc_id);
+
+ ret = wakealarm(tmp_time,src_id,rtc_id,lynq_wakealarm_add_callback);
+ if(ret != 0)
+ {
+ printf("set wakealarm failed\n");
+ return -1;
+ }
}
break;
}
case 4:
{
- int ret = 0;
- int rtc_id = 0;
- printf("Please input you want cancel rtc timer rtc id\n");
- scanf("%d",&rtc_id);
- ret = cancel_wakealarm(src_id,rtc_id);
- if(ret != 0)
+ if(init_flag != INIT_SUCCESS)
{
- printf("Cancel_wakealarm failed!!!");
- return -1;
+ printf("*****ERROR must init rtc service ,Please reselect *******\n ");
+ }
+ else
+ {
+ int ret = 0;
+ int rtc_id = 0;
+ printf("Please input you want cancel rtc timer rtc id\n");
+ scanf("%d",&rtc_id);
+ ret = cancel_wakealarm(src_id,rtc_id);
+ if(ret != 0)
+ {
+ printf("Cancel_wakealarm failed!!!");
+ return -1;
+ }
}
break;
}
case 5:
{
- int ret = 0;
- unsigned long time_sec = 0;
- printf("Input time_sec you want poweralarm,e.g: 60 (seconds)\n");
- scanf("%lu",&time_sec);
- ret =lynq_set_poweralarm(time_sec,src_id);
- printf("ret is %d\n",ret);
- if(ret != 0)
- {
- printf("lynq_set_poweralarm failed\n");
- return -1;
- }
+ if(init_flag != INIT_SUCCESS)
+ {
+ printf("*****ERROR must init rtc service ,Please reselect *******\n ");
+ }
+ else
+ {
+ int ret = 0;
+ unsigned long time_sec = 0;
+ printf("Input time_sec you want poweralarm,e.g: 60 (seconds)\n");
+ scanf("%lu",&time_sec);
+ ret =lynq_set_poweralarm(time_sec,src_id);
+ printf("ret is %d\n",ret);
+ if(ret != 0)
+ {
+ printf("lynq_set_poweralarm failed\n");
+ return -1;
+ }
+ }
break;
}
case 6:
- {
- int ret = 0;
- unsigned long time_sec = 0;
- int rtc_id;
- printf("Input time_sec you want wakealarm,e.g:60 1(seconds)\n");
- scanf("%lu%d",&time_sec,&rtc_id);
- ret =lynq_set_wakealarm(time_sec,src_id,rtc_id,lynq_wakealarm_add_callback);
- if(ret != 0)
- {
- printf("lynq_set_wakealarm failed\n");
- return -1;
+ {
+ if(init_flag != INIT_SUCCESS)
+ {
+ printf("*****ERROR must init rtc service ,Please reselect *******\n ");
}
+ else
+ {
+ int ret = 0;
+ unsigned long time_sec = 0;
+ int rtc_id;
+ printf("Input time_sec you want wakealarm,e.g:60 1(seconds)\n");
+ scanf("%lu%d",&time_sec,&rtc_id);
+ ret =lynq_set_wakealarm(time_sec,src_id,rtc_id,lynq_wakealarm_add_callback);
+ if(ret != 0)
+ {
+ printf("lynq_set_wakealarm failed\n");
+ return -1;
+ }
+ }
break;
}
case 7:
{
- int ret = -1;
- printf("rtc servce deinit !!!!!!!!!!!!");
- ret = lynq_rtc_service_deinit();
- if(ret != 0)
+ if(init_flag != INIT_SUCCESS)
{
- printf("lynq rtc service deinit failed \n");
- return -1;
-
+ printf("*****ERROR must init rtc service ,Please reselect *******\n ");
+ }
+ else
+ {
+ int ret = -1;
+ printf("rtc servce deinit !!!!!!!!!!!!");
+ ret = lynq_rtc_service_deinit();
+ if(ret != 0)
+ {
+ printf("lynq rtc service deinit failed \n");
+ return -1;
+ }
}
break;
}