blob: c390fe1ba8233c5229d93b9c6f29960f1908f1be [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
9
10static void qser_lpm_handler(qser_lpm_edge_t edge_state)
11{
12 printf("this is qser_lpm_handler, edge_state=%d\n", edge_state);
13}
14
15
16int main(int argc, char *argv[])
17{
18 char operator[10];
19 int opt;
20 int lv_voll = 0;
21 int fd_t;
22
23
24 while(1)
25 {
26 printf("=========sleep main=========\n"
27 "\t0 exit\n"
28 "\t1 autosuspend enable\n"
29 "\t2 wakelock create\n"
30 "\t3 wakelock lock\n"
31 "\t4 wakelock unlock\n"
32 "\t5 wakelock destroy\n"
33 "\t6 whitelist set\n"
34 "\t7 whitelist get\n"
35 "\t6 lpm init\n"
36 "\t7 lpm destroy\n"
37 "operator: >> \n");
38
39 fgets(operator, sizeof(operator), stdin);
40 fflush(stdin);
41 opt = atoi(operator);
42 switch (opt)
43 {
44 case 0:
45 printf("main exit\n");
46 return 0;
47 case 1:
48 {
49 int en;
50 printf(">>>>>Input 0 or 1<<<<<\n");
51 memset(operator, 0x00, sizeof(operator));
52 fgets(operator, sizeof(operator), stdin);
53 fflush(stdin);
54 en = atoi(operator);
55 if (en == 0 || en == 1)
56 {
57 qser_autosuspend_enable(en);
58 }
59 else
60 printf(">>>>>Input 0 or 1 error<<<<<\n");
61 break;
62 }
63 case 2:
64 {
65 char *t_name = NULL;
66 char t_operator[128];
67 int len_name;
68 memset(t_operator, 0x00, sizeof(t_operator));
69 fgets(t_operator, sizeof(t_operator), stdin);
70 fflush(stdin);
71 len_name = strlen(t_operator);
72 strncpy(t_name, t_operator, len_name);
73
74 fd_t = qser_wakelock_create(t_operator, len_name);
75 break;
76 }
77 case 3:
78 qser_wakelock_lock(fd_t);
79 break;
80 case 4:
81 qser_wakelock_unlock(fd_t);
82 break;
83 case 5:
84 qser_wakelock_destroy(fd_t);
85 break;
86 case 6:
87 {
88 char* whitelish = NULL;
89 memset(operator, 0x00, sizeof(operator));
90 fgets(operator, sizeof(operator), stdin);
91 fflush(stdin);
92 strcpy(whitelish, operator);
93 qser_whitelist_set(whitelish);
94 }
95 break;
96 case 7:
97 {
98 char* whitelish = NULL;
99 qser_whitelist_get(whitelish);
100 printf(">>>server list = %s\n", whitelish);
101 }
102 break;
103 case 8:
104 {
105 qser_pm_cfg_t *qser_lpm_cfg = NULL;
106 qser_lpm_cfg = (qser_pm_cfg_t *)malloc(sizeof(qser_pm_cfg_t));
107 qser_lpm_cfg->wakeupin.wakeupin_pin = 50;
108 qser_lpm_cfg->wakeupin.wakeupin_edge = E_QL_LPM_FALLING;
109 qser_lpm_init(qser_lpm_handler, qser_lpm_cfg);
110 }
111 break;
112 case 9:
113 qser_lpm_deinit();
114 break;
115
116 default:
117 break;
118 }
119
120 }
121
122 return 0;
123}
124