blob: 0bca3bbf8e1cc97c4e0f5a874ce21a10c8301625 [file] [log] [blame]
b.liu8583dce2024-04-03 13:30:08 +08001#include <stdlib.h>
2#include <stdio.h>
3#include <string.h>
4#include <sys/types.h>
5#include <unistd.h>
6#include <dlfcn.h>
7#include <stdint.h>
8
9
10#define INIT_SUCCESS 0
11#define RTC_DEINIT -1
12typedef struct
13{
14 int cmdIdx;
15 char *funcName;
16} st_api_test_case;
17
18
19//for server test
20st_api_test_case at_api_testcases[] =
21{
22 {0, "print_help"},
23 {1, "lynq_rtc_service_init"},
24 {2, "poweralarm"},
25 {3, "wakealarm"},
26 {4, "cancel_wakealarm"},
27 {5, "lynq_set_poweralarm"},
28 {6, "lynq_set_wakealarm"},
29 {7, "lynq_rtc_service_deinit"},
30 {-1, NULL}
31};
32
33 int init_flag = -1;
34 int src_id = -1;
35 void *dlHandle_poweralarm = NULL;
36
37typedef int (*lynq_wakealarm_add_cb)(unsigned int src_id, int rtc_id);
38
39int (*lynq_rtc_service_init)(void);
40int (*lynq_rtc_service_deinit)(void);
41int (*poweralarm)(char *buffer,int src_id);
42int (*wakealarm)(char *buffer,int srcid,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify);
43int (*cancel_wakealarm)(int src_id,int rtc_id);
44int (*lynq_set_poweralarm)(unsigned long time_sec,int src_id);
45int (*lynq_set_wakealarm)(unsigned long time_sec,int srcid,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify);
46
47
48
49void print_help(void)
50{
51 int i;
52 printf("Supported test cases:\n");
53 for(i = 0; ; i++)
54 {
55 if(at_api_testcases[i].cmdIdx == -1)
56 {
57 break;
58 }
59 printf("%d:\t%s\n", at_api_testcases[i].cmdIdx, at_api_testcases[i].funcName);
60 }
61}
62
63int lynq_wakealarm_add_callback(unsigned int src_id, int rtc_id)
64{
65 printf("wake alarm callback test \n");
66 return 0;
67}
68
69
70int main(int argc,char *argv[])
71{
72
73 int cmdIdx = 0;
74 printf("Enter main function\n");
75
76 const char *dlHandle_Path_poweralarm = "/lib/libpoweralarm.so";
77 dlHandle_poweralarm = dlopen(dlHandle_Path_poweralarm, RTLD_NOW);
78 if (dlHandle_poweralarm == NULL)
79 {
80 printf("dlopen dlHandle_fota failed: %s\n", dlerror());
81 return -1;
82 }
83
84 poweralarm = (int (*)(char *buffer,int src_ids))dlsym(dlHandle_poweralarm, "poweralarm");
85 if(poweralarm == NULL)
86 {
87 printf("poweralarm is null\n");
88 return -1;
89 }
90
91 wakealarm = (int (*)(char *buffer,int srcid,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify))dlsym(dlHandle_poweralarm, "wakealarm");
92 if(wakealarm == NULL)
93 {
94 printf("wakealarm is null\n");
95 return -1;
96 }
97 lynq_set_poweralarm = (int (*)(unsigned long,int src_id))dlsym(dlHandle_poweralarm,"lynq_set_poweralarm");
98 if(lynq_set_poweralarm == NULL)
99 {
100 printf("lynq_set_poweralarm is null\n");
101 return -1;
102 }
103 lynq_set_wakealarm = (int (*)(unsigned long,int srcid,int rtc_id,lynq_wakealarm_add_cb wakealarm_notify))dlsym(dlHandle_poweralarm,"lynq_set_wakealarm");
104 if(lynq_set_wakealarm == NULL)
105 {
106 printf("lynq_set_wakealarm is null\n");
107 return -1;
108 }
109
110 cancel_wakealarm = (int (*)(int src_id,int rtc_id))dlsym(dlHandle_poweralarm, "cancel_wakealarm");
111 if(cancel_wakealarm == NULL)
112 {
113 printf("cancel_wakealarm is null\n");
114 return -1;
115 }
116
117 lynq_rtc_service_init = (int(*)())dlsym(dlHandle_poweralarm,"lynq_rtc_service_init");
118 if(lynq_rtc_service_init == NULL)
119 {
120 printf("lynq_rtc_service_init is null\n");
121 return -1;
122 }
123
124 lynq_rtc_service_deinit = (int (*)())dlsym(dlHandle_poweralarm,"lynq_rtc_service_deinit");
125 if(lynq_rtc_service_deinit == NULL)
126 {
127 printf("lynq_rtc_service_deinit is null \n");
128 return -1;
129 }
130
131 print_help();
132 while(1)
133 {
134
135 printf("\nplease input cmd index(-1 exit): ");
136 scanf("%d", &cmdIdx);
137 if(cmdIdx == -1)
138 {
139 break;
140 }
141 switch(cmdIdx)
142 {
143 case 0:
144 print_help();
145 break;
146 case 1:
147 {
148 src_id = lynq_rtc_service_init();
149 if(src_id <= 0)
150 {
151
152 printf("RTC service init failed ");
153 return -1;
154 }
155 else
156 {
157 init_flag = INIT_SUCCESS;
158 }
159
160 break;
161 }
162 case 2:
163 {
164
165 if(init_flag != INIT_SUCCESS)
166 {
167 printf("*****ERROR must init rtc service ,Please reselect *******\n ");
168 }
169 else
170 {
171 int ret = 0;
172 char tmp_time[32] = {0};
173 printf("Set poweralarm time,e.g: 60 (seconds)\n");
174 scanf("%s",tmp_time);
175 ret = poweralarm(tmp_time,src_id);
176 if(ret != 0)
177 {
178 printf("set poweralarm failed\n");
179 return -1;
180 }
181 }
182 break;
183 }
184 case 3:
185 {
186 if(init_flag != INIT_SUCCESS)
187 {
188 printf("*****ERROR must init rtc service ,Please reselect *******\n ");
189 }
190 else
191 {
192 int ret = 0;
193 char tmp_time[32]={0};
194 int rtc_id = 0;
195 printf("Set wakealarm time ,e.g: 60 1 (seconds)\n");
196 scanf("%s%d",tmp_time,&rtc_id);
197
198 ret = wakealarm(tmp_time,src_id,rtc_id,lynq_wakealarm_add_callback);
199 if(ret != 0)
200 {
201 printf("set wakealarm failed\n");
202 return -1;
203 }
204 }
205 break;
206 }
207 case 4:
208 {
209 if(init_flag != INIT_SUCCESS)
210 {
211 printf("*****ERROR must init rtc service ,Please reselect *******\n ");
212 }
213 else
214 {
215 int ret = 0;
216 int rtc_id = 0;
217 printf("Please input you want cancel rtc timer rtc id\n");
218 scanf("%d",&rtc_id);
219 ret = cancel_wakealarm(src_id,rtc_id);
220 if(ret != 0)
221 {
222 printf("Cancel_wakealarm failed!!!");
223 return -1;
224 }
225 }
226 break;
227 }
228 case 5:
229 {
230 if(init_flag != INIT_SUCCESS)
231 {
232 printf("*****ERROR must init rtc service ,Please reselect *******\n ");
233 }
234 else
235 {
236 int ret = 0;
237 unsigned long time_sec = 0;
238 printf("Input time_sec you want poweralarm,e.g: 60 (seconds)\n");
239 scanf("%lu",&time_sec);
240 ret =lynq_set_poweralarm(time_sec,src_id);
241 printf("ret is %d\n",ret);
242 if(ret != 0)
243 {
244 printf("lynq_set_poweralarm failed\n");
245 return -1;
246 }
247 }
248 break;
249 }
250 case 6:
251 {
252 if(init_flag != INIT_SUCCESS)
253 {
254 printf("*****ERROR must init rtc service ,Please reselect *******\n ");
255 }
256 else
257 {
258 int ret = 0;
259 unsigned long time_sec = 0;
260 int rtc_id;
261 printf("Input time_sec you want wakealarm,e.g:60 1(seconds)\n");
262 scanf("%lu%d",&time_sec,&rtc_id);
263 ret =lynq_set_wakealarm(time_sec,src_id,rtc_id,lynq_wakealarm_add_callback);
264 if(ret != 0)
265 {
266 printf("lynq_set_wakealarm failed\n");
267 return -1;
268 }
269 }
270 break;
271 }
272 case 7:
273 {
274 if(init_flag != INIT_SUCCESS)
275 {
276 printf("*****ERROR must init rtc service ,Please reselect *******\n ");
277 }
278 else
279 {
280 int ret = -1;
281 printf("rtc servce deinit !!!!!!!!!!!!");
282 ret = lynq_rtc_service_deinit();
283 if(ret != 0)
284 {
285 printf("lynq rtc service deinit failed \n");
286 return -1;
287 }
288 else
289 {
290 init_flag = RTC_DEINIT;
291 }
292 }
293 break;
294 }
295
296 default:
297 break;
298 }
299 }
300
301 return 0;
302
303}
304