1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 #include "py/builtin.h"
6 #include "py/mperrno.h"
7 #include "py/obj.h"
8 #include "py/runtime.h"
9 #include "ulog/ulog.h"
10
11 #define LOG_TAG "MOD_BATTERY"
12
obj_open(size_t n_args,const mp_obj_t * args)13 STATIC mp_obj_t obj_open(size_t n_args, const mp_obj_t *args)
14 {
15 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
16 int ret = -1;
17 if (n_args < 1) {
18 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
19 return mp_const_none;
20 }
21 LOGD(LOG_TAG, "%s:out\n", __func__);
22
23 return mp_const_none;
24 }
25 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(battery_obj_open, 1, obj_open);
26
obj_close(size_t n_args,const mp_obj_t * args)27 STATIC mp_obj_t obj_close(size_t n_args, const mp_obj_t *args)
28 {
29 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
30 int ret = -1;
31 if (n_args < 1) {
32 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
33 return mp_const_none;
34 }
35 LOGD(LOG_TAG, "%s:out\n", __func__);
36
37 return mp_const_none;
38 }
39 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(battery_obj_close, 1, obj_close);
40
obj_getConnectState(size_t n_args,const mp_obj_t * args)41 STATIC mp_obj_t obj_getConnectState(size_t n_args, const mp_obj_t *args)
42 {
43 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
44 int ret = -1;
45 int state;
46 if (n_args < 1) {
47 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
48 return mp_const_none;
49 }
50
51 // if (amp_battery_connect_state_get(&state))
52 {
53 LOGE(LOG_TAG, "get battery connect state fail\n");
54 }
55 LOGD(LOG_TAG, "%s: state = %d;\n", __func__, state);
56
57 return MP_ROM_INT(state);
58 }
59 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(battery_obj_getConnectState, 1, obj_getConnectState);
60
obj_getVoltage(size_t n_args,const mp_obj_t * args)61 STATIC mp_obj_t obj_getVoltage(size_t n_args, const mp_obj_t *args)
62 {
63 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
64 int ret = -1;
65 int voltage;
66
67 if (n_args < 1) {
68 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
69 return mp_const_none;
70 }
71
72 // if (amp_battery_voltage_get(&voltage))
73 {
74 LOGE(LOG_TAG, "get battery connect voltage fail\n");
75 }
76 LOGD(LOG_TAG, "%s: voltage = %d;\n", __func__, voltage);
77
78 return MP_ROM_INT(voltage);
79 }
80 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(battery_obj_getVoltage, 1, obj_getVoltage);
81
obj_getLevel(size_t n_args,const mp_obj_t * args)82 STATIC mp_obj_t obj_getLevel(size_t n_args, const mp_obj_t *args)
83 {
84 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
85 int ret = -1;
86 int level;
87
88 if (n_args < 1) {
89 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
90 return mp_const_none;
91 }
92
93 // if (amp_battery_level_get(&level))
94 {
95 LOGE(LOG_TAG, "get battery connect level fail\n");
96 }
97 LOGD(LOG_TAG, "%s: level = %d;\n", __func__, level);
98
99 return MP_ROM_INT(level);
100 }
101 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(battery_obj_getLevel, 1, obj_getLevel);
102
obj_getTemperature(size_t n_args,const mp_obj_t * args)103 STATIC mp_obj_t obj_getTemperature(size_t n_args, const mp_obj_t *args)
104 {
105 LOGD(LOG_TAG, "entern %s; n_args = %d;\n", __func__, n_args);
106 int ret = -1;
107 int temperature;
108
109 if (n_args < 1) {
110 LOGE(LOG_TAG, "%s: args num is illegal :n_args = %d;\n", __func__, n_args);
111 return mp_const_none;
112 }
113
114 // if (amp_battery_temperature_get(&temperature))
115 {
116 LOGE(LOG_TAG, "get battery connect temperature fail\n");
117 }
118 LOGD(LOG_TAG, "%s: temperature = %d;\n", __func__, temperature);
119
120 return MP_ROM_INT(temperature);
121 }
122 STATIC MP_DEFINE_CONST_FUN_OBJ_VAR(battery_obj_getTemperature, 1, obj_getTemperature);
123
124 STATIC const mp_rom_map_elem_t battery_locals_dict_table[] = {
125 { MP_OBJ_NEW_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_Battery) },
126 { MP_ROM_QSTR(MP_QSTR_open), MP_ROM_PTR(&battery_obj_open) },
127 { MP_ROM_QSTR(MP_QSTR_close), MP_ROM_PTR(&battery_obj_close) },
128 { MP_ROM_QSTR(MP_QSTR_getConnectState), MP_ROM_PTR(&battery_obj_getConnectState) },
129 { MP_ROM_QSTR(MP_QSTR_getVoltage), MP_ROM_PTR(&battery_obj_getVoltage) },
130 { MP_ROM_QSTR(MP_QSTR_getLevel), MP_ROM_PTR(&battery_obj_getLevel) },
131 { MP_ROM_QSTR(MP_QSTR_getTemperature), MP_ROM_PTR(&battery_obj_getTemperature) },
132 };
133
134 STATIC MP_DEFINE_CONST_DICT(battery_locals_dict, battery_locals_dict_table);
135
136 const mp_obj_module_t battery_module = {
137 .base = { &mp_type_module },
138 .globals = (mp_obj_dict_t *)&battery_locals_dict,
139 };
140