blob: 5366ef5d09494c40d4de79b8d70c067a8ed53a34 [file] [log] [blame]
r.xiaoec113d12024-01-12 02:13:28 -08001#include "lynq-qser-autosuspend.h"
2
3#include <stdio.h>
4#include <unistd.h>
5#include <stddef.h>
6#include "mbtk_type.h"
7#include "mbtk_log.h"
8
r.xiaoec113d12024-01-12 02:13:28 -08009static void qser_lpm_handler(qser_lpm_edge_t edge_state)
10{
r.xiao9aa0e402024-08-21 01:32:57 -070011 printf("this is qser_lpm_handler, edge_state=%d\n", edge_state);
r.xiaoec113d12024-01-12 02:13:28 -080012}
13
14
15int main(int argc, char *argv[])
16{
17 char operator[10];
18 int opt;
19 int lv_voll = 0;
20 int fd_t;
r.xiaob9cf0e62024-02-02 04:11:48 -080021 mbtk_log_init("radio", "SLEEP_TEST");
r.xiaoec113d12024-01-12 02:13:28 -080022
r.xiaoba8483c2024-04-14 18:53:10 -070023 printf("=========sleep main=========\n"
24 "\t0 exit\n"
25 "\t1 autosuspend enable\n"
26 "\t2 wakelock create\n"
27 "\t3 wakelock lock\n"
28 "\t4 wakelock unlock\n"
29 "\t5 wakelock destroy\n"
30 "\t6 whitelist set\n"
31 "\t7 whitelist get\n"
32 "\t8 lpm init\n"
33 "\t9 lpm destroy\n"
34 "operator: >> \n");
35
r.xiaoec113d12024-01-12 02:13:28 -080036 while(1)
37 {
r.xiaoec113d12024-01-12 02:13:28 -080038 fgets(operator, sizeof(operator), stdin);
39 fflush(stdin);
40 opt = atoi(operator);
41 switch (opt)
42 {
43 case 0:
44 printf("main exit\n");
45 return 0;
46 case 1:
47 {
r.xiao7000d212024-01-31 23:45:27 -080048 printf(">>>>>Input 0 or 1<<<<<\n");
49 char tmp_en[4]={0};
50 memset(tmp_en, 0x00, sizeof(tmp_en));
51 fgets(tmp_en, sizeof(tmp_en)-1, stdin);
52 fflush(stdin);
r.xiaod3256ae2024-02-28 23:20:55 -080053
54 if (tmp_en[0] == '0' || tmp_en[0] == '1')
55 qser_autosuspend_enable(tmp_en[0]);
56 else
57 printf(">>>>>re Input 0 or 1 error<<<<<\n");
r.xiaoec113d12024-01-12 02:13:28 -080058 }
r.xiao7000d212024-01-31 23:45:27 -080059 break;
r.xiaoec113d12024-01-12 02:13:28 -080060 case 2:
61 {
r.xiao7000d212024-01-31 23:45:27 -080062 printf(">>>>>Input name<<<<<\n");
63 char t_name[64]={0};
64 int len_name;
65 char tmp_c[64]={0};
66 memset(tmp_c, 0x00, sizeof(tmp_c));
67 fgets(tmp_c, sizeof(tmp_c)-1, stdin);
68 fflush(stdin);
69 len_name = strlen(tmp_c)-1;
70 strncpy(t_name, tmp_c, len_name);
71 printf(">>>>>name=[%s] name_len=[%d]<<<<<\n",t_name, len_name);
r.xiaoec113d12024-01-12 02:13:28 -080072
r.xiao7000d212024-01-31 23:45:27 -080073 fd_t = qser_wakelock_create(t_name, len_name);
r.xiao33e45bf2024-05-31 02:00:30 -070074 if (fd_t == -1)
75 {
76 printf(">>>>>Output error =[%d]<<<<<\n",fd_t);
77 }
78 else
79 {
80 printf(">>>>>Output ID NUM =[%d]<<<<<\n",fd_t);
81 }
r.xiaoec113d12024-01-12 02:13:28 -080082 }
r.xiao7000d212024-01-31 23:45:27 -080083 break;
r.xiaoec113d12024-01-12 02:13:28 -080084 case 3:
r.xiao7000d212024-01-31 23:45:27 -080085 {
86 printf(">>>>>Input ID NUM<<<<<\n");
87 char tmp_l[127]={0};
88 fgets(tmp_l, sizeof(tmp_l), stdin);
89 fflush(stdin);
90 fd_t = atoi(tmp_l);
r.xiao33e45bf2024-05-31 02:00:30 -070091 fd_t = qser_wakelock_lock(fd_t);
92 if (fd_t == -1)
93 {
94 printf(">>>>>Output error =[%d]<<<<<\n",fd_t);
95 }
96 else
97 {
98 printf(">>>>>Output succuess<<<<<\n");
99 }
r.xiao7000d212024-01-31 23:45:27 -0800100 }
r.xiaoec113d12024-01-12 02:13:28 -0800101 break;
102 case 4:
r.xiao7000d212024-01-31 23:45:27 -0800103 {
104 printf(">>>>>Input ID NUM<<<<<\n");
105 char tmp_ul[127]={0};
106 memset(tmp_ul, 0x00, sizeof(tmp_ul));
107 fgets(tmp_ul, sizeof(tmp_ul)-1, stdin);
108 fflush(stdin);
109 fd_t = atoi(tmp_ul);
r.xiao33e45bf2024-05-31 02:00:30 -0700110 fd_t = qser_wakelock_unlock(fd_t);
111 if (fd_t == -1)
112 {
113 printf(">>>>>Output error =[%d]<<<<<\n",fd_t);
114 }
115 else
116 {
117 printf(">>>>>Output succuess<<<<<\n");
118 }
r.xiao7000d212024-01-31 23:45:27 -0800119 }
r.xiaoec113d12024-01-12 02:13:28 -0800120 break;
121 case 5:
r.xiao33e45bf2024-05-31 02:00:30 -0700122 {
r.xiao7000d212024-01-31 23:45:27 -0800123 printf(">>>>>Input ID NUM<<<<<\n");
124 char tmp_d[127]={0};
125 memset(tmp_d, 0x00, sizeof(tmp_d));
126 fgets(tmp_d, sizeof(tmp_d)-1, stdin);
127 fflush(stdin);
128 fd_t = atoi(tmp_d);
r.xiao33e45bf2024-05-31 02:00:30 -0700129 fd_t = qser_wakelock_destroy(fd_t);
130 if (fd_t == -1)
131 {
132 printf(">>>>>Output error =[%d]<<<<<\n",fd_t);
133 }
134 else
135 {
136 printf(">>>>>Output succuess<<<<<\n");
137 }
138 }
r.xiaoec113d12024-01-12 02:13:28 -0800139 break;
140 case 6:
141 {
r.xiao7000d212024-01-31 23:45:27 -0800142 printf(">>>>>Input whitelish NUM 4位(eg:1010) <<<<<\n");
143 char whitelish[16]={0};
144 int len_whitelish;
145 char tmp[16]={0};
146 memset(tmp, 0x00, sizeof(tmp));
147 fgets(tmp, sizeof(tmp)-1, stdin);
148 fflush(stdin);
149 len_whitelish = strlen(tmp)-1;
r.xiaocfd7c682024-01-22 03:59:46 -0800150
r.xiao7000d212024-01-31 23:45:27 -0800151 strncpy(whitelish, tmp, len_whitelish);
152 printf(">>>set tmp =[%s] list = [%s] len_whitelish =[%d]\n",tmp, whitelish,len_whitelish);
153
154 qser_whitelist_set(whitelish);
r.xiaoec113d12024-01-12 02:13:28 -0800155 }
156 break;
157 case 7:
158 {
r.xiao7000d212024-01-31 23:45:27 -0800159 char whitelish_get[10]={0};
r.xiaocfd7c682024-01-22 03:59:46 -0800160
r.xiao7000d212024-01-31 23:45:27 -0800161 qser_whitelist_get(whitelish_get);
162 printf(">>>get list = [%s]\n", whitelish_get);
r.xiaoec113d12024-01-12 02:13:28 -0800163 }
164 break;
165 case 8:
166 {
r.xiao7000d212024-01-31 23:45:27 -0800167 qser_pm_cfg_t *qser_lpm_cfg = NULL;
168 qser_lpm_cfg = (qser_pm_cfg_t *)malloc(sizeof(qser_pm_cfg_t));
169 qser_lpm_cfg->wakeupin.wakeupin_pin = 50;
170 qser_lpm_cfg->wakeupin.wakeupin_edge = E_QL_LPM_FALLING;
171 qser_lpm_init(qser_lpm_handler, qser_lpm_cfg);
172 free(qser_lpm_cfg);
r.xiaoec113d12024-01-12 02:13:28 -0800173 }
174 break;
175 case 9:
176 qser_lpm_deinit();
177 break;
178
179 default:
180 break;
181 }
182
183 }
184
185 return 0;
186}
187