1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4
5 #include "py/mperrno.h"
6 #include "py/obj.h"
7 #include "py/runtime.h"
8 #include "py/builtin.h"
9
10 #include "ulog/ulog.h"
11
12 #define LOG_TAG "MOD_CHARGER"
13
obj_open(size_t n_args,const mp_obj_t * args)14 STATIC mp_obj_t obj_open(size_t n_args, const mp_obj_t *args)
15 {
16 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
17 int ret = -1;
18 if (n_args < 1)
19 {
20 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
21 return mp_const_none;
22 }
23 LOGD(LOG_TAG, "%s:out\n", __func__);
24
25 return mp_const_none;
26 }
27 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(charger_obj_open, 1, obj_open);
28
obj_close(size_t n_args,const mp_obj_t * args)29 STATIC mp_obj_t obj_close(size_t n_args, const mp_obj_t *args)
30 {
31 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
32 int ret = -1;
33 if (n_args < 1)
34 {
35 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
36 return mp_const_none;
37 }
38 LOGD(LOG_TAG, "%s:out\n", __func__);
39
40 return mp_const_none;
41 }
42 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(charger_obj_close, 1, obj_close);
43
obj_getConnectState(size_t n_args,const mp_obj_t * args)44 STATIC mp_obj_t obj_getConnectState(size_t n_args, const mp_obj_t *args)
45 {
46 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
47 int ret = -1;
48 int state;
49
50 if (n_args < 1)
51 {
52 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
53 return mp_const_none;
54 }
55
56 //if (amp_charger_connect_state_get(&state))
57 {
58 LOGE(LOG_TAG, "get charger connection state fail\n");
59 }
60 LOGD(LOG_TAG, "%s: state = %d;\n", __func__, state);
61
62 return MP_ROM_INT(state);
63 }
64 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(charger_obj_getConnectState, 1, obj_getConnectState);
65
obj_getState(size_t n_args,const mp_obj_t * args)66 STATIC mp_obj_t obj_getState(size_t n_args, const mp_obj_t *args)
67 {
68 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
69 int ret = -1;
70
71 //amp_charger_state_t state = AMP_CHARGER_STAT_SHUTDOWN;
72 if (n_args < 1)
73 {
74 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
75 return mp_const_none;
76 }
77
78 //if (amp_charger_state_get(&state))
79 {
80 LOGE(LOG_TAG, "get charger connection state fail\n");
81 }
82 //LOGD(LOG_TAG, "%s: state = %d;\n", __func__, state);
83 //ret = state;
84
85 return MP_ROM_INT(ret);
86 }
87 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(charger_obj_getState, 1, obj_getState);
88
obj_getCurrent(size_t n_args,const mp_obj_t * args)89 STATIC mp_obj_t obj_getCurrent(size_t n_args, const mp_obj_t *args)
90 {
91 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
92 int ret = -1;
93 int current;
94
95 if (n_args < 1)
96 {
97 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
98 return mp_const_none;
99 }
100
101 //if (amp_charger_current_get(¤t))
102 {
103 LOGE(LOG_TAG, "amp_charger_current_get fail\n");
104 }
105 LOGD(LOG_TAG, "%s: current = %d;\n", __func__, current);
106
107 return MP_ROM_INT(current);
108 }
109 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(charger_obj_getCurrent, 1, obj_getCurrent);
110
obj_switch(size_t n_args,const mp_obj_t * args)111 STATIC mp_obj_t obj_switch(size_t n_args, const mp_obj_t *args)
112 {
113 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
114 int ret = 0;
115
116 if (n_args < 2)
117 {
118 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
119 return mp_const_none;
120 }
121
122 int val = (int)mp_obj_get_int(args[1]);
123 //if (amp_charger_switch_set(val))
124 {
125 LOGE(LOG_TAG, "amp_charger_switch_set fail\n");
126 ret = -1;
127 }
128 LOGD(LOG_TAG, "%s: ret = %d;\n", __func__, ret);
129
130 return MP_ROM_INT(ret);
131 }
132 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(charger_obj_switch, 2, obj_switch);
133
obj_onConnect(size_t n_args,const mp_obj_t * args)134 STATIC mp_obj_t obj_onConnect(size_t n_args, const mp_obj_t *args)
135 {
136 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
137 int ret = -1;
138 if (n_args < 1)
139 {
140 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
141 return mp_const_none;
142 }
143 LOGD(LOG_TAG, "%s:out\n", __func__);
144
145 return mp_const_none;
146 }
147 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(charger_obj_onConnect, 1, obj_onConnect);
148
149 STATIC const mp_rom_map_elem_t charger_locals_dict_table[] = {
150 {MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_Charger)},
151 {MP_ROM_QSTR(MP_QSTR_open), MP_ROM_PTR(&charger_obj_open)},
152 {MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&charger_obj_close)},
153 {MP_ROM_QSTR(MP_QSTR_getConnectState), MP_ROM_PTR(&charger_obj_getConnectState)},
154 {MP_ROM_QSTR(MP_QSTR_getState), MP_ROM_PTR(&charger_obj_getState)},
155 {MP_ROM_QSTR(MP_QSTR_getCurrent), MP_ROM_PTR(&charger_obj_getCurrent)},
156 {MP_ROM_QSTR(MP_QSTR_switch), MP_ROM_PTR(&charger_obj_switch)},
157 {MP_ROM_QSTR(MP_QSTR_onConnect), MP_ROM_PTR(&charger_obj_onConnect)},
158 };
159
160 STATIC MP_DEFINE_CONST_DICT(charger_locals_dict, charger_locals_dict_table);
161
162 const mp_obj_module_t charger_module = {
163 .base = {&mp_type_module},
164 .globals = (mp_obj_dict_t *)&charger_locals_dict,
165 };
166