Skip to content

Commit f957b99

Browse files
committed
exp32/machine_rtc.c
exp32/machine_rtc.h exp32/modmachine.c Removed the legacy compatibility 8266 code.
1 parent c7036c9 commit f957b99

File tree

3 files changed

+21
-52
lines changed

3 files changed

+21
-52
lines changed

esp32/machine_rtc.c

Lines changed: 5 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -147,35 +147,19 @@ STATIC mp_obj_t machine_rtc_memory(mp_uint_t n_args, const mp_obj_t *args) {
147147
}
148148
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_rtc_memory_obj, 1, 2, machine_rtc_memory);
149149

150-
STATIC mp_obj_t machine_rtc_alarm(mp_obj_t self_in, mp_obj_t alarm_id, mp_obj_t time_in) {
151-
(void)self_in; // unused
152-
153-
// check we want alarm0
154-
if (mp_obj_get_int(alarm_id) != 0) {
155-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid alarm"));
156-
}
157-
158-
// set expiry time (in microseconds)
159-
machine_rtc_config.expiry = (uint64_t)mp_obj_get_int(time_in) * 1000;
160-
161-
return mp_const_none;
162-
163-
}
164-
STATIC MP_DEFINE_CONST_FUN_OBJ_3(machine_rtc_alarm_obj, machine_rtc_alarm);
165-
166150
STATIC mp_obj_t machine_rtc_wake_on_touch(mp_obj_t self_in, const mp_obj_t wake) {
167151
(void)self_in; // unused
168152

169-
machine_rtc_config.wake_on_touch = mp_obj_get_int(wake);
153+
machine_rtc_config.wake_on_touch = mp_obj_is_true(wake);
170154
return mp_const_none;
171155
}
172156
STATIC MP_DEFINE_CONST_FUN_OBJ_2(machine_rtc_wake_on_touch_obj, machine_rtc_wake_on_touch);
173157

174158
STATIC mp_obj_t machine_rtc_wake_on_ext0(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
175159
enum {ARG_pin, ARG_level};
176160
const mp_arg_t allowed_args[] = {
177-
{ MP_QSTR_pin, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_obj_new_int(machine_rtc_config.ext0_pin)} },
178-
{ MP_QSTR_level, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = machine_rtc_config.ext0_level} },
161+
{ MP_QSTR_pin, MP_ARG_OBJ, {.u_obj = mp_obj_new_int(machine_rtc_config.ext0_pin)} },
162+
{ MP_QSTR_level, MP_ARG_BOOL, {.u_bool = machine_rtc_config.ext0_level} },
179163
};
180164
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
181165
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
@@ -201,8 +185,8 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_KW(machine_rtc_wake_on_ext0_obj, 1, machine_rtc_w
201185
STATIC mp_obj_t machine_rtc_wake_on_ext1(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
202186
enum {ARG_pins, ARG_level};
203187
const mp_arg_t allowed_args[] = {
204-
{ MP_QSTR_pins, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} },
205-
{ MP_QSTR_level, MP_ARG_KW_ONLY | MP_ARG_BOOL, {.u_bool = machine_rtc_config.ext1_level} },
188+
{ MP_QSTR_pins, MP_ARG_OBJ, {.u_obj = mp_const_none} },
189+
{ MP_QSTR_level, MP_ARG_BOOL, {.u_bool = machine_rtc_config.ext1_level} },
206190
};
207191
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
208192
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
@@ -237,35 +221,12 @@ STATIC mp_obj_t machine_rtc_wake_on_ext1(size_t n_args, const mp_obj_t *pos_args
237221
}
238222
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(machine_rtc_wake_on_ext1_obj, 1, machine_rtc_wake_on_ext1);
239223

240-
STATIC mp_obj_t machine_rtc_irq(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
241-
// This function essentially does nothing, for backwards compatibility
242-
243-
enum { ARG_trigger, ARG_wake };
244-
static const mp_arg_t allowed_args[] = {
245-
{ MP_QSTR_trigger, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0} },
246-
{ MP_QSTR_wake, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 0} },
247-
};
248-
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
249-
mp_arg_parse_all(n_args - 1, pos_args + 1, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
250-
251-
// check we want alarm0
252-
if (args[ARG_trigger].u_int != 0) {
253-
nlr_raise(mp_obj_new_exception_msg(&mp_type_ValueError, "invalid alarm"));
254-
}
255-
256-
return mp_const_none;
257-
}
258-
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(machine_rtc_irq_obj, 1, machine_rtc_irq);
259-
260224
STATIC const mp_map_elem_t machine_rtc_locals_dict_table[] = {
261225
{ MP_OBJ_NEW_QSTR(MP_QSTR_datetime), (mp_obj_t)&machine_rtc_datetime_obj },
262226
{ MP_OBJ_NEW_QSTR(MP_QSTR_memory), (mp_obj_t)&machine_rtc_memory_obj },
263-
{ MP_OBJ_NEW_QSTR(MP_QSTR_alarm), (mp_obj_t)&machine_rtc_alarm_obj },
264227
{ MP_OBJ_NEW_QSTR(MP_QSTR_wake_on_touch), (mp_obj_t)&machine_rtc_wake_on_touch_obj },
265228
{ MP_OBJ_NEW_QSTR(MP_QSTR_wake_on_ext0), (mp_obj_t)&machine_rtc_wake_on_ext0_obj },
266229
{ MP_OBJ_NEW_QSTR(MP_QSTR_wake_on_ext1), (mp_obj_t)&machine_rtc_wake_on_ext1_obj },
267-
{ MP_OBJ_NEW_QSTR(MP_QSTR_irq), (mp_obj_t)&machine_rtc_irq_obj},
268-
{ MP_OBJ_NEW_QSTR(MP_QSTR_ALARM0), MP_OBJ_NEW_SMALL_INT(0) },
269230
{ MP_OBJ_NEW_QSTR(MP_QSTR_WAKEUP_ALL_LOW), mp_const_false },
270231
{ MP_OBJ_NEW_QSTR(MP_QSTR_WAKEUP_ANY_HIGH), mp_const_true },
271232
};

esp32/machine_rtc.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
#define MICROPY_INCLUDED_ESP32_MACINE_RTC_H
44

55
typedef struct {
6-
uint64_t expiry; // in microseconds
76
uint64_t ext1_pins; // set bit == pin#
87
int8_t ext0_pin; // just the pin#, -1 == None
98
bool wake_on_touch : 1;

ports/esp32/modmachine.c

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,7 @@
4848

4949
#if MICROPY_PY_MACHINE
5050

51-
// amount of time to sleep
5251
extern machine_rtc_config_t machine_rtc_config;
53-
#define MACHINE_WAKE_DEEPSLEEP (0x04)
5452

5553
STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {
5654
if (n_args == 0) {
@@ -70,10 +68,21 @@ STATIC mp_obj_t machine_freq(size_t n_args, const mp_obj_t *args) {
7068
}
7169
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(machine_freq_obj, 0, 1, machine_freq);
7270

73-
STATIC mp_obj_t machine_deepsleep(void) {
71+
STATIC mp_obj_t machine_deepsleep(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
7472

75-
if (machine_rtc_config.expiry != 0) {
76-
esp_deep_sleep_enable_timer_wakeup(machine_rtc_config.expiry);
73+
enum {ARG_sleep_ms};
74+
const mp_arg_t allowed_args[] = {
75+
{ MP_QSTR_sleep_ms, MP_ARG_INT, { .u_int = 0 } },
76+
};
77+
78+
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
79+
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
80+
81+
82+
mp_int_t expiry = args[ARG_sleep_ms].u_int;
83+
84+
if (expiry != 0) {
85+
esp_deep_sleep_enable_timer_wakeup(expiry * 1000);
7786
}
7887

7988
if (machine_rtc_config.ext0_pin != -1) {
@@ -87,15 +96,15 @@ STATIC mp_obj_t machine_deepsleep(void) {
8796
}
8897

8998
if (machine_rtc_config.wake_on_touch) {
90-
// esp_deep_sleep_enable_touchpad_wakeup();
99+
esp_deep_sleep_enable_touchpad_wakeup();
91100
nlr_raise(mp_obj_new_exception_msg(&mp_type_RuntimeError, "touchpad wakeup not available for this version of ESP-IDF"));
92101
}
93102

94103
esp_deep_sleep_start();
95104
return mp_const_none;
96105
}
97106

98-
STATIC MP_DEFINE_CONST_FUN_OBJ_0(machine_deepsleep_obj, machine_deepsleep);
107+
STATIC MP_DEFINE_CONST_FUN_OBJ_KW(machine_deepsleep_obj, 0, machine_deepsleep);
99108

100109
STATIC mp_obj_t machine_reset(void) {
101110
esp_restart();

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy